/* $headings-font-weight:    700 !default; */
/**
 * Import component variables
 */
/** elements mixins **/
/**
* Transition-timing-function property@mixin 
*/
/*background RGBA
============================================*/
/*inline-block
============================================*/
/****/
/****/
/****/
/** 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
 */
/**
 *
 */
/**
 *   Blocks Layout Selectors
 */
/********* LAYOUT **************/
.widget_nav_menu ul li:last-child {
  padding-bottom: 0; }

/*------------------------------------*    Widget Price Filter
\*------------------------------------*/
.widget_price_filter .price_slider_wrapper {
  padding: 30px;
  border: 2px solid #e8e8e8;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px; }

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

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

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

.widget_price_filter .price_slider_amount .button {
  padding: 0 20px;
  line-height: 38px; }

.widget_price_filter .price_slider_amount .price_label span {
  font-family: "manifold_cfbold";
  font-size: 16px; }

/*------------------------------------*    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: 17px;
      color: #00a86a; }
    .woocommerce ul.product_list_widget li ins {
      color: #444;
      font-size: 16px;
      text-decoration: none;
      font-weight: bold; }
    .woocommerce ul.product_list_widget li .woocommerce-Price-amount {
      font-family: "manifold_cfbold";
      font-size: 16px;
      font-weight: bold; }
    .woocommerce ul.product_list_widget li img {
      width: 70px;
      float: left;
      margin-left: 0;
      margin-right: 10px; }
    .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: #f0ad4e; }
    .woocommerce ul.product_list_widget li .product-title {
      margin-bottom: 5px;
      max-height: 42px;
      overflow: hidden;
      display: block;
      line-height: 20px;
      font-weight: 500; }
    .woocommerce ul.product_list_widget li a {
      font-weight: 300;
      line-height: 22px;
      margin-bottom: 5px; }
      .woocommerce ul.product_list_widget li a .product-title {
        font-family: "Teko", sans-serif;
        font-size: 14px; }

.widget.up-sells, .widget.related-products {
  border-bottom: 0; }
  .widget.up-sells .widget-title, .widget.related-products .widget-title {
    font-size: 40px;
    font-weight: normal;
    display: block;
    margin-bottom: 50px; }

/**
 * Styling special product block.
 */
.products.related {
  padding: 0px;
  margin-bottom: 30px; }
  .products.related .owl-controls {
    display: none !important; }

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

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

/**
 * Deal Modules
 */
.woo-deals .owl-carousel-play {
  margin: 0; }
  .woo-deals .owl-carousel-play .owl-item {
    padding: 0; }

.woo-deals .product-block .time {
  margin-bottom: 20px; }

.woo-deals .product-block .name {
  height: 50px;
  overflow: hidden; }

.woo-deals .product-block .star-rating span:before {
  color: #e8e8e8; }

.woo-deals .countdown-times {
  margin: 0 10%; }
  .woo-deals .countdown-times > div {
    position: relative;
    text-align: center;
    color: #000;
    float: left;
    text-transform: none;
    width: 25%; }
    .woo-deals .countdown-times > div:after {
      content: "";
      height: 35px;
      width: 1px;
      position: absolute;
      top: 2px;
      right: -2px;
      font-size: 18px;
      background: #e8e8e8; }
    .woo-deals .countdown-times > div > b {
      display: block;
      font-weight: normal;
      font-size: 24px;
      color: #000;
      height: 24px;
      line-height: 24px;
      font-family: "Teko", sans-serif; }
    .woo-deals .countdown-times > div:last-child:after {
      content: none; }

/**
 * Widget Products Categories Menu 
 */
.widget_nav_menu .menu-mainmenu-container {
  border: 2px solid #e8e8e8;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  padding: 30px; }
  .widget_nav_menu .menu-mainmenu-container ul.menu {
    padding-left: 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; }
  .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: #00a86a; }
  .opal-category-list #opal-accordion-categories .category-title a.dropdown {
    float: right;
    margin-left: 10px; }
  .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: 16px;
  font-weight: normal;
  line-height: 20px;
  text-transform: none;
  margin-top: 0;
  font-family: "Teko", sans-serif; }

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

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

.cart_list .cart-main-content {
  text-align: left;
  position: relative; }
  .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: #c3c9ce !important; }
    .cart_list .cart-main-content .remove:hover {
      background: transparent;
      color: #00a86a !important; }

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

.widget_shopping_cart_content .cart_list {
  overflow-y: auto;
  max-height: 350px; }

.widget_shopping_cart_content .buttons {
  padding-top: 20px;
  padding-bottom: 10px;
  overflow: hidden; }
  .widget_shopping_cart_content .buttons .wc-forward {
    background-color: white;
    font-size: 14px;
    color: #000000;
    text-transform: none;
    line-height: 30px;
    padding: 0 15px;
    border: 2px solid #00a86a;
    position: relative;
    float: left; }
    .widget_shopping_cart_content .buttons .wc-forward:after {
      border: 2px solid #00a86a;
      position: absolute;
      right: -6px;
      bottom: -6px;
      width: 100%;
      height: 100%;
      content: "";
      z-index: -1;
      background: white;
      -webkit-transition: all 0.4s ease-out;
      -o-transition: all 0.4s ease-out;
      transition: all 0.4s ease-out; }
    .widget_shopping_cart_content .buttons .wc-forward.checkout {
      margin-left: 15px; }
    .widget_shopping_cart_content .buttons .wc-forward:hover {
      background: #00a86a;
      color: white;
      -webkit-transition: all 0.3s ease-out;
      -o-transition: all 0.3s ease-out;
      transition: all 0.3s ease-out; }
      .widget_shopping_cart_content .buttons .wc-forward:hover:after {
        -webkit-transform: translate(-6px, -6px);
        -ms-transform: translate(-6px, -6px);
        -o-transform: translate(-6px, -6px);
        transform: translate(-6px, -6px); }

.widget_shopping_cart_content .total {
  padding-top: 15px !important;
  border-top: 1px solid #e8e8e8 !important; }
  .widget_shopping_cart_content .total .woocommerce-Price-amount {
    font-family: "manifold_cfbold";
    font-size: 22px;
    color: #00a86a; }

.widget_shopping_cart_content .cart_list li {
  padding: 15px 0 !important;
  font-size: 13px;
  position: relative;
  border-top: 1px solid #e8e8e8;
  overflow: hidden;
  width: 100%; }
  .widget_shopping_cart_content .cart_list li:first-child {
    border-top: none; }
  .widget_shopping_cart_content .cart_list li .quantity {
    display: block;
    width: 100%;
    color: #00a86a;
    font-size: 18px;
    margin-top: 10px; }
    .widget_shopping_cart_content .cart_list li .quantity .woocommerce-Price-amount {
      color: #000; }
  .widget_shopping_cart_content .cart_list li .remove {
    top: 0;
    right: 0;
    left: inherit !important;
    z-index: 9;
    line-height: 26px;
    font-size: 28px;
    position: absolute; }
    .widget_shopping_cart_content .cart_list li .remove:hover {
      color: #00a86a !important;
      background: transparent; }

/*  */
.widget_shopping_cart_content ul.cart_list li,
.widget_shopping_cart_content ul.product_list_widget li,
.widget ul.cart_list li,
.widget ul.product_list_widget li {
  padding: 15px 0; }
  .widget_shopping_cart_content ul.cart_list li > *,
  .widget_shopping_cart_content ul.product_list_widget li > *,
  .widget ul.cart_list li > *,
  .widget ul.product_list_widget li > * {
    margin-bottom: 10px; }
  .widget_shopping_cart_content ul.cart_list li .product-title,
  .widget_shopping_cart_content ul.product_list_widget li .product-title,
  .widget ul.cart_list li .product-title,
  .widget ul.product_list_widget li .product-title {
    font-family: "manifold_cfbold"; }
  .widget_shopping_cart_content ul.cart_list li ins,
  .widget_shopping_cart_content ul.product_list_widget li ins,
  .widget ul.cart_list li ins,
  .widget ul.product_list_widget li ins {
    color: #333;
    font-weight: 500; }
  .widget_shopping_cart_content ul.cart_list li .amount,
  .widget_shopping_cart_content ul.product_list_widget li .amount,
  .widget ul.cart_list li .amount,
  .widget ul.product_list_widget li .amount {
    font-family: "manifold_cfbold";
    color: #333;
    font-weight: 500;
    font-size: 18px; }
  .widget_shopping_cart_content ul.cart_list li del .amount,
  .widget_shopping_cart_content ul.product_list_widget li del .amount,
  .widget ul.cart_list li del .amount,
  .widget ul.product_list_widget li del .amount {
    font-weight: 400;
    font-size: 14px; }
  .widget_shopping_cart_content ul.cart_list li img,
  .widget_shopping_cart_content ul.product_list_widget li img,
  .widget ul.cart_list li img,
  .widget ul.product_list_widget li img {
    float: left;
    width: 80px;
    margin-left: 0;
    margin-right: 15px; }

/*  widget_recent_reviews */
.widget_recent_reviews .product_list_widget .wp-post-image {
  width: 100%;
  float: none;
  margin-right: 0; }

.widget_product_search .woocommerce-product-search {
  display: flex; }
  .widget_product_search .woocommerce-product-search .search-field {
    border: 1px solid #222; }
  .widget_product_search .woocommerce-product-search input[type="submit"] {
    background-color: #222;
    color: #fff;
    border-color: #222; }

.widget_shopping_cart .widget_shopping_cart_content {
  border: 2px solid #e8e8e8;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  padding: 30px; }

.products-collection .owl-item {
  position: relative; }

@media (max-width: 768px) {
  .products-collection .owl-carousel .owl-item {
    padding: 0 16px; } }

.products-collection.nomargin {
  margin-left: -15px;
  margin-right: -15px; }

.widget_product_categories {
  cursor: pointer; }
  .widget_product_categories .product-categories {
    list-style: none;
    padding: 0; }
    .widget_product_categories .product-categories .opened,
    .widget_product_categories .product-categories .closed {
      position: absolute;
      top: 14px;
      right: 0;
      font-size: 16px; }
  .widget_product_categories > div > ul, .widget_product_categories > ul {
    margin-bottom: 0; }
    .widget_product_categories > div > ul li, .widget_product_categories > ul li {
      border-top: 1px solid #e8e8e8;
      margin: 0;
      padding: 7px 0;
      position: relative;
      transition: all 0.3s ease 0s; }
      .widget_product_categories > div > ul li p, .widget_product_categories > ul li p {
        margin-bottom: 0; }
      .widget_product_categories > div > ul li > ul, .widget_product_categories > div > ul li > ol, .widget_product_categories > ul li > ul, .widget_product_categories > ul li > ol {
        margin-bottom: -8px;
        margin-left: 15px !important;
        margin-top: 8px;
        padding-left: 0; }
  .widget_product_categories > div > ul > li:first-child, .widget_product_categories > ul > li:first-child {
    border-top-width: 0; }

/* products-carouse */
.products-carousel .widgettitle {
  font-size: 30px;
  text-align: center;
  margin-bottom: 40px;
  font-weight: 300;
  color: #000000; }

.products-carousel.list_grid {
  margin-bottom: 0; }

.products-carousel .carousel-controls {
  width: 90px;
  right: 20px;
  top: 30px;
  position: absolute; }

.products-carousel .carousel-control {
  z-index: 20;
  width: 30px;
  height: 30px;
  border-radius: 100%;
  line-height: 30px;
  font-size: 20px;
  color: #dfe4e8;
  box-shadow: 0 0 0 2px #dfe4e8 inset;
  -webkit-transition: all 0.5s ease-in-out 0s;
  -o-transition: all 0.5s ease-in-out 0s;
  transition: all 0.5s ease-in-out 0s; }
  .products-carousel .carousel-control.left {
    left: 0; }
  .products-carousel .carousel-control.right {
    right: 0; }

.products-carousel:hover .carousel-control {
  box-shadow: 0 0 0 30px #00a86a inset; }
  .products-carousel:hover .carousel-control.left {
    left: 10px; }
  .products-carousel:hover .carousel-control.right {
    right: 10px; }

/*  opal-category-subs */
.opal-category-subs .category-filter-link a {
  text-transform: uppercase; }
  .opal-category-subs .category-filter-link a:hover {
    color: #00a86a; }

.opal-category-subs .category-filter-link i {
  padding: 0 5px;
  color: #e54b4b; }

.opal-category-subs h4 {
  font-size: 30px;
  margin-bottom: 0;
  font-weight: normal;
  position: relative; }
  .opal-category-subs h4 a {
    color: #000000; }
    .opal-category-subs h4 a:hover {
      color: #00a86a; }

.opal-category-subs .category-filter-default {
  text-align: center;
  position: relative;
  overflow: hidden;
  margin-bottom: 35px;
  transition: opacity .5s ease-in;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }
  .opal-category-subs .category-filter-default .category-filter-link {
    display: none; }
  .opal-category-subs .category-filter-default .category-filter-image {
    overflow: hidden;
    -webkit-transition: transform 0.3s ease-in-out;
    -o-transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out; }
    .opal-category-subs .category-filter-default .category-filter-image img {
      -webkit-transition: transform 0.3s ease-in-out;
      -o-transition: transform 0.3s ease-in-out;
      transition: transform 0.3s ease-in-out;
      margin: 0 auto;
      width: 100%;
      transition: opacity .5s ease-in;
      -webkit-transition: all 0.3s ease-in-out;
      -o-transition: all 0.3s ease-in-out;
      transition: all 0.3s ease-in-out; }
  .opal-category-subs .category-filter-default:hover .category-filter-image {
    -webkit-transform: scale(0.97);
    -moz-transform: scale(0.97);
    -ms-transform: scale(0.97);
    -o-transform: scale(0.97);
    transform: scale(0.97);
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out; }
    .opal-category-subs .category-filter-default:hover .category-filter-image img {
      -webkit-transform: scale(1.1);
      -moz-transform: scale(1.1);
      -ms-transform: scale(1.1);
      -o-transform: scale(1.1);
      transform: scale(1.1);
      opacity: 1; }

.opal-category-subs .category-filter-v1 {
  position: relative;
  overflow: hidden;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }
  .opal-category-subs .category-filter-v1 h4 {
    margin-top: 0;
    padding-top: 20px; }
    .opal-category-subs .category-filter-v1 h4 a {
      font-size: 30px; }
      .opal-category-subs .category-filter-v1 h4 a:hover {
        color: #00a86a; }
  .opal-category-subs .category-filter-v1 .category-filter-image {
    overflow: hidden;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    -webkit-transition: transform 0.3s ease-in-out;
    -o-transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out; }
    .opal-category-subs .category-filter-v1 .category-filter-image img {
      -webkit-transition: transform 0.3s ease-in-out;
      -o-transition: transform 0.3s ease-in-out;
      transition: transform 0.3s ease-in-out;
      margin: 0 auto;
      width: 100%;
      transition: opacity .5s ease-in;
      -webkit-transition: all 0.3s ease-in-out;
      -o-transition: all 0.3s ease-in-out;
      transition: all 0.3s ease-in-out; }

.opal-category-subs:hover .category-filter-image {
  -webkit-transform: scale(0.97);
  -moz-transform: scale(0.97);
  -ms-transform: scale(0.97);
  -o-transform: scale(0.97);
  transform: scale(0.97);
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }
  .opal-category-subs:hover .category-filter-image img {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
    opacity: 1; }

/* products-special */
.products-special .widget-title {
  font-size: 30px; }

.products-special .products-collection {
  padding: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex; }

.products-special .main-product {
  border-right: 1px solid #e8e8e8;
  float: left;
  padding-right: 30px;
  width: 50%; }
  .products-special .main-product .product-block {
    margin-bottom: 0; }

.products-special .second-product {
  float: left;
  width: 50%; }

.products-special .list-product {
  padding: 0;
  margin: 0; }
  .products-special .list-product .product-block {
    border-bottom: 1px solid #e8e8e8;
    margin: 0;
    padding: 15px 10px; }
    .products-special .list-product .product-block:last-child {
      border-bottom: none; }
    .products-special .list-product .product-block .price > * {
      line-height: 20px; }
    .products-special .list-product .product-block .name {
      margin-bottom: 0;
      max-height: 45px;
      overflow: hidden; }
  .products-special .list-product .image {
    width: 40%;
    margin-bottom: 0; }

/* widget-products-list */
.widget-products-list .widget-title {
  font-size: 30px; }

.widget-products-list .list-product {
  padding: 0;
  margin: 0; }
  .widget-products-list .list-product .product-block {
    border-bottom: 1px solid #e8e8e8;
    margin: 0;
    padding: 17px 0; }
    .widget-products-list .list-product .product-block:last-child {
      border-bottom: none; }
    .widget-products-list .list-product .product-block .price > * {
      line-height: 20px; }
    .widget-products-list .list-product .product-block .name {
      margin-bottom: 0;
      max-height: 45px;
      overflow: hidden; }
    .widget-products-list .list-product .product-block .rating {
      display: none; }
  .widget-products-list .list-product .image {
    width: 45%;
    margin-bottom: 0; }

/* widget-categoriestabs */
.widget-categoriestabs .widget-title {
  font-size: 30px; }

.widget-categoriestabs .block-top .nav-tabs a {
  font-weight: 500;
  margin-right: 0;
  line-height: 40px; }

.widget-categoriestabs .products-collection {
  padding: 0;
  margin: 0; }
  .widget-categoriestabs .products-collection > div {
    padding: 0; }

.widget-categoriestabs .tab-content {
  overflow: hidden; }

.widget-categoriestabs .owl-carousel-play {
  margin: 0 0 0 4px; }
  .widget-categoriestabs .owl-carousel-play .owl-carousel .owl-item {
    padding: 0; }
  .widget-categoriestabs .owl-carousel-play .owl-carousel .owl-controls {
    display: none !important; }
  .widget-categoriestabs .owl-carousel-play ul li .name a {
    text-transform: uppercase;
    color: #000; }
  .widget-categoriestabs .owl-carousel-play .excerpt {
    display: block;
    font-size: 13px; }

.widget-categoriestabs .product-block {
  padding: 15px; }

.widget-categoriestabs .banner-category.image-left {
  margin: -2px 0 -2px -2px; }

.widget-categoriestabs .banner-category.image-top {
  margin: -2px -5px 0 0; }

.widget-categoriestabs .excerpt {
  display: none; }

.widget-categoriestabs ul {
  list-style: none;
  padding: 0;
  margin: 0; }

.widget-categoriestabs .list-product .image {
  width: 43%;
  margin-bottom: 0; }

.widget-categoriestabs .list-product .name {
  height: 43px;
  overflow: hidden; }

.widget-categoriestabs .list-product:hover .meta .rating {
  opacity: 1;
  filter: alpha(opacity=100);
  transform: scale(1); }

.widget-categoriestabs .list-product-group .tab-content {
  margin: 20px;
  overflow: hidden; }

.widget-categoriestabs .list-row {
  margin: 0; }
  @media screen and (min-width: 768px) {
    .widget-categoriestabs .list-row {
      border-bottom: 1px solid #e8e8e8; } }
  .widget-categoriestabs .list-row > div {
    padding: 0px; }
  .widget-categoriestabs .list-row .product-block {
    margin-bottom: 0; }
  .widget-categoriestabs .list-row:last-child {
    border-bottom: none; }
  .widget-categoriestabs .list-row .list-product {
    position: relative; }
    @media screen and (min-width: 768px) {
      .widget-categoriestabs .list-row .list-product:before {
        width: 1px;
        height: 101%;
        background-color: #e8e8e8;
        position: absolute;
        top: 0;
        right: 0;
        content: ""; }
      .widget-categoriestabs .list-row .list-product:last-child:before {
        width: 0;
        height: 0; } }

/* WOOF_Widget  */
.WOOF_Widget.widget {
  margin-bottom: 0;
  border-bottom: 0; }

.woof_container ul {
  padding: 0; }

.woof_list_label li .woof_label_term:hover, .woof_list_label li .woof_label_term.checked {
  color: #00a86a; }

.widget-woof.widget {
  border: none !important;
  padding: 0 !important; }

.widget-woof .woof_container {
  margin-bottom: 30px;
  border-bottom: 1px solid #e8e8e8;
  padding-bottom: 30px; }
  .widget-woof .woof_container .woof_block_html_items li label {
    padding-top: 0; }
  .widget-woof .woof_container h4 {
    font-size: 24px;
    position: relative;
    margin-top: 0;
    margin-bottom: 20px !important;
    display: inline-block; }

.widget-woof .woof_submit_search_form_container button {
  border-bottom: 2px solid #00a86a;
  border-radius: 0 !important; }

.widget-woof .woof_container_product_cat .woof_list_checkbox li, .widget-woof .woof_container_product_cat .woof_list_radio li {
  width: 100%;
  position: relative; }
  .widget-woof .woof_container_product_cat .woof_list_checkbox li input, .widget-woof .woof_container_product_cat .woof_list_radio li input {
    border: 1px solid #dcdcdc;
    background-color: #dcdcdc;
    width: 7px; }
  .widget-woof .woof_container_product_cat .woof_list_checkbox li:hover, .widget-woof .woof_container_product_cat .woof_list_radio li:hover {
    color: #00a86a;
    -webkit-transition: all 0.3ms ease-in-out;
    -o-transition: all 0.3ms ease-in-out;
    transition: all 0.3ms ease-in-out; }

.widget-woof .woof_container_product_cat .woof_list_checkbox .woof_checkbox_term, .widget-woof .woof_container_product_cat .woof_list_radio .woof_checkbox_term {
  width: auto;
  height: auto;
  min-width: 22px;
  line-height: 30px;
  padding: 0;
  background-color: transparent;
  border: none;
  text-align: left; }
  .widget-woof .woof_container_product_cat .woof_list_checkbox .woof_checkbox_term.checked, .widget-woof .woof_container_product_cat .woof_list_radio .woof_checkbox_term.checked {
    background-color: transparent;
    border: none; }
    .widget-woof .woof_container_product_cat .woof_list_checkbox .woof_checkbox_term.checked:hover, .widget-woof .woof_container_product_cat .woof_list_radio .woof_checkbox_term.checked:hover {
      color: #00a86a; }
  .widget-woof .woof_container_product_cat .woof_list_checkbox .woof_checkbox_term:hover, .widget-woof .woof_container_product_cat .woof_list_radio .woof_checkbox_term:hover {
    color: #00a86a;
    background-color: transparent;
    border: none; }

.widget-woof .woof_container_inner_productcolor span {
  border-radius: 100%;
  height: 20px;
  width: 20px; }

.widget-woof .woof_list_label li {
  position: relative; }

.widget-woof .woof_list_label .woof_label_count {
  right: 0;
  color: #00a86a;
  z-index: 3;
  background-color: #fff;
  border: 1px solid #e8e8e8; }

.widget-woof .woof_list_label .woof_label_term {
  width: auto;
  height: 40px;
  min-width: 40px;
  line-height: 40px;
  text-align: center;
  padding: 0 4px;
  background-color: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px; }
  .widget-woof .woof_list_label .woof_label_term.checked {
    background-color: #00a86a;
    border: 1px solid #e8e8e8; }
    .widget-woof .woof_list_label .woof_label_term.checked:hover {
      color: #fff; }
  .widget-woof .woof_list_label .woof_label_term:hover {
    color: #fff;
    background-color: #00a86a;
    border: 1px solid #e8e8e8; }

.widget-woof .woof_text_search_container input[type='search'],
.widget-woof .woof_sku_search_container input[type='search'] {
  border: none;
  background-color: transparent;
  padding: 5px 8px !important; }

.widget-woof .woof_price3_search_container input {
  width: 100%; }

.widget-woof .woof_container_product_tag .woof_list_checkbox li,
.widget-woof .woof_container_product_tag .woof_list_radio li {
  width: 100%; }
  .widget-woof .woof_container_product_tag .woof_list_checkbox li label,
  .widget-woof .woof_container_product_tag .woof_list_radio li label {
    padding-top: 10px; }

.woof .chosen-container-multi .chosen-choices li.search-field input[type="text"] {
  min-height: 45px !important;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px; }

.woof .chosen-container-single .chosen-single {
  height: 40px; }
  .woof .chosen-container-single .chosen-single span {
    line-height: 40px; }
  .woof .chosen-container-single .chosen-single div {
    top: 10px; }

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

.opal-topcart .dropdown-menu {
  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 #00a86a; }
  .opal-topcart .dropdown-menu .quantity {
    font-size: 16px; }

.opal-topcart .media {
  border-bottom: solid 1px #e8e8e8;
  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: #00a86a !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 20px;
  text-transform: uppercase; }

.opal-topcart .title-cart {
  color: #969696; }

.opal-topcart .mini-cart-items {
  display: inline-block;
  color: #000;
  font-size: 16px;
  font-family: "manifold_cfbold";
  padding: 0 6px; }

#cart {
  clear: both; }
  #cart .box-icon {
    width: 36px;
    display: inline-block;
    text-align: center;
    height: 36px;
    line-height: 32px;
    border: 2px solid #00a86a;
    margin-right: 16px;
    position: relative;
    margin-top: 10px;
    float: left;
    background: white; }
    #cart .box-icon:after {
      width: 36px;
      height: 36px;
      border: 2px solid #00a86a;
      position: absolute;
      right: -6px;
      bottom: -6px;
      content: "";
      z-index: -1;
      background: white;
      -webkit-transition: all 0.4s ease-out;
      -o-transition: all 0.4s ease-out;
      transition: all 0.4s ease-out; }
    #cart .box-icon i {
      font-size: 14px; }
  #cart .mini-cart .amount {
    color: #000;
    font-weight: normal;
    font-size: 24px;
    display: block;
    line-height: 24px;
    font-family: "Teko", sans-serif; }
  #cart .mini-cart .mini-cart-total {
    float: left;
    margin: 0 10px; }
  #cart:hover .box-icon {
    background: #00a86a;
    color: white;
    -webkit-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out; }
    #cart:hover .box-icon:after {
      -webkit-transform: translate(-4px, -4px);
      -ms-transform: translate(-4px, -4px);
      -o-transform: translate(-4px, -4px);
      transform: translate(-4px, -4px); }

/*
 * Product Detail Page
 */
.product-info {
  margin-bottom: 50px; }
  .product-info .product_title {
    display: none; }
  .product-info .product-topinfo .product-nav p {
    float: left;
    margin-left: 5px;
    margin-top: 10px; }
  .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: #00a86a;
      -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;
    margin-bottom: 0; }
  .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: 30px;
    font-weight: 500 !important;
    text-decoration: line-through; }
  .product-info #image-additional-carousel {
    clear: both;
    margin-bottom: 40px;
    position: relative; }
  .product-info .carousel-controls-v3 {
    display: none; }
  .product-info .thumbnail-right .owl-controls .owl-buttons,
  .product-info .thumbnail-left .owl-controls .owl-buttons {
    top: 0 !important;
    right: 0 !important;
    left: -50px !important;
    margin: 0 auto; }
    .product-info .thumbnail-right .owl-controls .owl-buttons .owl-prev,
    .product-info .thumbnail-left .owl-controls .owl-buttons .owl-prev {
      left: 0; }
    .product-info .thumbnail-right .owl-controls .owl-buttons .owl-next,
    .product-info .thumbnail-left .owl-controls .owl-buttons .owl-next {
      right: 0; }
  .product-info .thumbnail-right .hitem,
  .product-info .thumbnail-left .hitem {
    padding-top: 40px; }
    .product-info .thumbnail-right .hitem img,
    .product-info .thumbnail-left .hitem img {
      margin-bottom: 10px;
      width: auto !important; }
  .product-info .thumbnail-bottom {
    padding-right: 30px;
    padding-left: 30px; }
    .product-info .thumbnail-bottom .image-additional {
      margin: 0 !important; }
      .product-info .thumbnail-bottom .image-additional .owl-controls .owl-buttons {
        top: 40% !important;
        width: 100% !important;
        right: 0 !important; }
        .product-info .thumbnail-bottom .image-additional .owl-controls .owl-buttons .owl-prev {
          left: -30px; }
        .product-info .thumbnail-bottom .image-additional .owl-controls .owl-buttons .owl-next {
          right: -30px; }
      .product-info .thumbnail-bottom .image-additional .owl-item {
        padding: 0 14px; }
      .product-info .thumbnail-bottom .image-additional .hitem {
        text-align: center;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex; }
        .product-info .thumbnail-bottom .image-additional .hitem a {
          display: inline-block;
          margin: 5px;
          border-radius: 3px;
          -webkit-border-radius: 3px;
          -moz-border-radius: 3px;
          -ms-border-radius: 3px;
          -o-border-radius: 3px; }
          .product-info .thumbnail-bottom .image-additional .hitem a img {
            border: 1px solid #e8e8e8; }
          @media (max-width: 1199px) and (min-width: 768px) {
            .product-info .thumbnail-bottom .image-additional .hitem a {
              width: 100px; } }
          @media screen and (max-width: 768px) {
            .product-info .thumbnail-bottom .image-additional .hitem a {
              width: 75px; } }
  .product-info span.onsale {
    background-color: #00a86a;
    color: #FFF;
    font-size: 12px;
    z-index: 100;
    min-height: auto;
    line-height: 18px;
    padding: 2px 5px;
    font-weight: 700;
    top: 20px;
    position: absolute;
    left: 40px;
    border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    -ms-border-radius: 0px;
    -o-border-radius: 0px; }
    @media (min-width: 1200px) {
      .product-info span.onsale {
        position: absolute;
        background-color: transparent;
        color: #fff;
        font-size: 16px;
        font-weight: 300;
        z-index: 2;
        height: 92px;
        min-width: 20px;
        border-radius: 0;
        width: 20px;
        line-height: 50px;
        text-align: center;
        left: 50px;
        top: 20px;
        -webkit-transform: rotate(270deg);
        -moz-transform: rotate(270deg);
        -o-transform: rotate(270deg);
        margin: 0;
        padding: 0;
        letter-spacing: 3px;
        font-family: "Teko", sans-serif;
        text-transform: uppercase; }
        .product-info span.onsale:before {
          left: 6px;
          top: -6px;
          background: #e54b4b;
          -webkit-transform: rotate(270deg);
          -moz-transform: rotate(270deg);
          -o-transform: rotate(270deg);
          position: absolute;
          content: "";
          width: 20px;
          height: 60px;
          z-index: -1; } }

.productinfo-show-discounts {
  font-size: 14px;
  padding-left: 75px;
  position: relative;
  color: #666;
  float: left;
  margin-bottom: 20px !important;
  padding: 0;
  margin-bottom: 28px;
  border-radius: 4px;
  overflow: hidden;
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #3c763d; }
  .productinfo-show-discounts:before {
    background: url("../images/icon-show-discounts.png") no-repeat center center #4bbe69;
    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: ""; }
  .productinfo-show-discounts hr {
    border-top-color: #c9e2b3; }
  .productinfo-show-discounts .alert-link {
    color: #2b542c; }
  .productinfo-show-discounts ul {
    list-style: none;
    margin-left: 40px;
    padding: 15px 30px; }
    .productinfo-show-discounts ul li {
      padding: 3px 0; }
      .productinfo-show-discounts ul li:before {
        content: "\f14a";
        font-family: "FontAwesome";
        color: #4bbe69;
        padding-right: 8px; }

#reviews .reviews-summary {
  position: relative; }
  #reviews .reviews-summary:before {
    content: "";
    height: 100%;
    width: 1px;
    background-color: #e8e8e8;
    position: absolute;
    left: -1px;
    top: 15px; }
  #reviews .reviews-summary h5 {
    font-weight: 500;
    margin-bottom: 20px;
    font-size: 16px; }
  #reviews .reviews-summary .review-summary-total {
    text-align: center;
    font-weight: 700; }
    #reviews .reviews-summary .review-summary-total .review-summary-result {
      width: 90px;
      height: 90px;
      text-align: center;
      border: 2px solid #f0ad4e;
      color: #f0ad4e;
      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;
      float: left;
      padding-right: 25px;
      padding-left: 25px; }
    #reviews .reviews-summary .review-summary-detal .progress .progress-bar-success {
      background-color: #00a86a; }

#reviews .comments-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  margin-bottom: 40px; }

#reviews .comments-group {
  width: 50%;
  float: left;
  padding-right: 60px; }

#reviews .reviews-summary {
  width: 50%;
  float: left;
  padding-left: 60px; }
  #reviews .reviews-summary a.btn {
    background: #00a86a;
    padding: 12px 50px;
    line-height: 30px;
    border-radius: 0;
    color: white;
    position: relative;
    z-index: 1;
    font-size: 20px;
    font-weight: bold;
    border: none;
    display: inline-block;
    margin: 10px 0; }
    #reviews .reviews-summary a.btn:hover {
      background: #00a86a;
      color: white;
      -webkit-transition: all 0.3s ease-out;
      -o-transition: all 0.3s ease-out;
      transition: all 0.3s ease-out; }
      #reviews .reviews-summary a.btn:hover:after {
        -webkit-transform: translate(-4px, -4px);
        -ms-transform: translate(-4px, -4px);
        -o-transform: translate(-4px, -4px);
        transform: translate(-4px, -4px); }
    #reviews .reviews-summary a.btn:after {
      position: absolute;
      right: -4px;
      bottom: -4px;
      content: "";
      width: 100%;
      height: 100%;
      border: 2px solid #00a86a;
      background: transparent;
      z-index: -1;
      -webkit-transition: all 0.4s ease-out;
      -o-transition: all 0.4s ease-out;
      transition: all 0.4s ease-out; }

#reviews .comments-content .comments {
  padding-top: 0;
  border-top: none; }
  #reviews .comments-content .comments h5 {
    margin-bottom: 20px;
    font-weight: 500; }
  #reviews .comments-content .comments .commentlist {
    margin: 15px 0; }
    #reviews .comments-content .comments .commentlist .comment {
      margin-bottom: 30px;
      padding-bottom: 30px;
      border-bottom: 1px dotted #d0d0d0; }
      #reviews .comments-content .comments .commentlist .comment:last-child {
        border-bottom: none;
        margin-bottom: 0; }
    #reviews .comments-content .comments .commentlist .opal-avata > div {
      display: inline-block; }
    #reviews .comments-content .comments .commentlist .opal-avata .opal-image .avatar {
      border-radius: 5px;
      -webkit-border-radius: 5px;
      -moz-border-radius: 5px;
      -ms-border-radius: 5px;
      -o-border-radius: 5px;
      overflow: hidden; }
    #reviews .comments-content .comments .commentlist .opal-author {
      color: #000;
      font-weight: 500;
      padding-right: 10px; }
    #reviews .comments-content .comments .commentlist .comment-text .meta span {
      margin-right: 5px; }
    #reviews .comments-content .comments .commentlist .comment-text > div {
      margin-bottom: 7px;
      float: left; }
    #reviews .comments-content .comments .commentlist .comment-text .star-rating {
      margin-bottom: 15px;
      color: #ffca3c;
      font-size: 12px; }

#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: 18px;
  border-top: 1px solid #e8e8e8;
  padding-top: 30px;
  font-weight: 500; }

/**
 * Product Single Page
 */
.product-block {
  display: block;
  position: relative;
  z-index: 0;
  margin-bottom: 30px; }
  .product-block span.sale-off, .product-block span.onsale {
    background-color: #00a86a;
    color: #FFF;
    font-size: 12px;
    z-index: 100;
    min-height: auto;
    line-height: 18px;
    padding: 2px 5px;
    font-weight: 700;
    top: 20px;
    position: absolute;
    left: 40px;
    border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    -ms-border-radius: 0px;
    -o-border-radius: 0px; }
    @media (min-width: 1200px) {
      .product-block span.sale-off, .product-block span.onsale {
        position: absolute;
        background-color: transparent;
        color: #fff;
        font-size: 16px;
        font-weight: 300;
        z-index: 2;
        height: 92px;
        min-width: 20px;
        border-radius: 0;
        width: 20px;
        line-height: 50px;
        text-align: center;
        left: 23px;
        top: 20px;
        -webkit-transform: rotate(270deg);
        -moz-transform: rotate(270deg);
        -o-transform: rotate(270deg);
        margin: 0;
        padding: 0;
        letter-spacing: 3px;
        font-family: "Teko", sans-serif;
        text-transform: uppercase; }
        .product-block span.sale-off:before, .product-block span.onsale:before {
          left: 6px;
          top: -6px;
          background: #e54b4b;
          -webkit-transform: rotate(270deg);
          -moz-transform: rotate(270deg);
          -o-transform: rotate(270deg);
          position: absolute;
          content: "";
          width: 20px;
          height: 60px;
          z-index: -1; } }
  .product-block .image {
    position: relative;
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #e8e8e8;
    padding-left: 35px;
    padding-right: 35px; }
    .product-block .image:after {
      width: 0px;
      opacity: 0;
      position: absolute;
      left: 0;
      bottom: -1px;
      height: 1px;
      background: #000000;
      content: ""; }
    .product-block .image img {
      height: auto;
      width: 100%; }
    .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; }
    .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 {
    display: inline-block;
    overflow: hidden;
    font-family: "Teko", sans-serif; }
    .product-block .price > * {
      color: #000000;
      font-size: 24px;
      display: block;
      line-height: 24px;
      display: inline-block; }
    .product-block .price del {
      color: #969696;
      font-size: 24px;
      opacity: 1 !important;
      margin-right: 10px;
      font-weight: 300; }
      .product-block .price del span {
        color: #969696; }
      @media (min-width: 768px) and (max-width: 991px) {
        .product-block .price del {
          display: none; } }
    .product-block .price ins {
      text-decoration: none;
      font-weight: normal !important; }
  .product-block .name {
    /* 3 */
    /* 3 */
    /* 4 */
    /* 6 */
    /* 6 */
    /* 7 */
    font-size: 24px;
    /* 9 */
    font-size: 2.4rem;
    /* 9 */
    line-height: 22px;
    font-weight: normal;
    margin-top: 0;
    margin-bottom: 10px; }
    .product-block .name a {
      color: #000000; }
      .product-block .name a:hover {
        color: #00a86a; }
  .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: #5e6977; }
      .product-block .category a:hover {
        color: #00a86a; }
  .product-block .star-rating {
    font-size: 10px;
    display: inline-block !important;
    float: none;
    margin-bottom: 5px;
    font-family: star;
    height: 1.2em;
    line-height: 1.2;
    overflow: hidden;
    position: relative;
    width: 5.4em; }
    .product-block .star-rating:before {
      content: "\53\53\53\53\53";
      color: #dcdcdc;
      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: #00a86a;
        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.button.loading {
      opacity: 0.75;
      padding: 0 !important; }
      .product-block .add_to_cart_button.button.loading:after {
        display: none !important; }
      .product-block .add_to_cart_button.button.loading .fa-shopping-basket {
        -webkit-animation: fa-spin 1.5s infinite linear;
        animation: fa-spin 1.5s infinite linear; }
        .product-block .add_to_cart_button.button.loading .fa-shopping-basket:before {
          content: "\f1ce"; }
  .product-block .add-cart .add_to_cart_button.added i,
  .product-block .add-cart .product_type_simple.added i,
  .product-block .add-cart .product_type_external.added i,
  .product-block .add-cart .product_type_grouped.added i,
  .product-block .add-cart .product_type_variable.added i {
    display: none; }
  .product-block .add-cart .add_to_cart_button .title-cart,
  .product-block .add-cart .product_type_simple .title-cart,
  .product-block .add-cart .product_type_external .title-cart,
  .product-block .add-cart .product_type_grouped .title-cart,
  .product-block .add-cart .product_type_variable .title-cart {
    -webkit-transition: all 0.35s ease 0s;
    -o-transition: all 0.35s ease 0s;
    transition: all 0.35s ease 0s;
    opacity: 0;
    filter: alpha(opacity=0);
    visibility: hidden;
    position: absolute;
    background: black;
    font-size: 12px;
    color: #fff;
    line-height: 32px;
    z-index: 9;
    text-align: center;
    white-space: nowrap;
    padding: 0 25%;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px;
    top: -30px;
    left: -20px;
    display: inline-table;
    right: 0;
    margin: 0 15%; }
    .product-block .add-cart .add_to_cart_button .title-cart:before,
    .product-block .add-cart .product_type_simple .title-cart:before,
    .product-block .add-cart .product_type_external .title-cart:before,
    .product-block .add-cart .product_type_grouped .title-cart:before,
    .product-block .add-cart .product_type_variable .title-cart:before {
      content: "";
      position: absolute;
      border: 5px solid transparent;
      border-top: 5px solid rgba(0, 0, 0, 0.8);
      bottom: -10px;
      left: -moz-calc(50% - 20px);
      left: calc(50% - 20px);
      left: -webkit-calc(50% - 20px); }
  .product-block .add-cart .add_to_cart_button:hover .title-cart,
  .product-block .add-cart .product_type_simple:hover .title-cart,
  .product-block .add-cart .product_type_external:hover .title-cart,
  .product-block .add-cart .product_type_grouped:hover .title-cart,
  .product-block .add-cart .product_type_variable:hover .title-cart {
    -webkit-transition: all 0.35s ease 0s;
    -o-transition: all 0.35s ease 0s;
    transition: all 0.35s ease 0s;
    opacity: 1;
    filter: alpha(opacity=100);
    visibility: visible;
    top: -40px; }
  .product-block .add-cart .add_to_cart_button i, .product-block .add-cart .add_to_cart_button em,
  .product-block .add-cart .product_type_simple i,
  .product-block .add-cart .product_type_simple em,
  .product-block .add-cart .product_type_external i,
  .product-block .add-cart .product_type_external em,
  .product-block .add-cart .product_type_grouped i,
  .product-block .add-cart .product_type_grouped em,
  .product-block .add-cart .product_type_variable i,
  .product-block .add-cart .product_type_variable em {
    display: inline-block;
    padding: 0;
    color: #000;
    font-size: 20px;
    margin: 0; }
  .product-block .add-cart .add_to_cart_button:hover,
  .product-block .add-cart .product_type_simple:hover,
  .product-block .add-cart .product_type_external:hover,
  .product-block .add-cart .product_type_grouped:hover,
  .product-block .add-cart .product_type_variable:hover {
    background-color: transparent; }
    .product-block .add-cart .add_to_cart_button:hover i, .product-block .add-cart .add_to_cart_button:hover em,
    .product-block .add-cart .product_type_simple:hover i,
    .product-block .add-cart .product_type_simple:hover em,
    .product-block .add-cart .product_type_external:hover i,
    .product-block .add-cart .product_type_external:hover em,
    .product-block .add-cart .product_type_grouped:hover i,
    .product-block .add-cart .product_type_grouped:hover em,
    .product-block .add-cart .product_type_variable:hover i,
    .product-block .add-cart .product_type_variable:hover em {
      -webkit-transition: all 0.35s ease 0s;
      -o-transition: all 0.35s ease 0s;
      transition: all 0.35s ease 0s;
      color: #00a86a; }
  .product-block .quick-view {
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    position: absolute;
    height: 55px;
    width: 55px;
    text-align: center;
    z-index: 2;
    border-radius: 100%;
    line-height: 55px;
    color: white;
    background: #bcbcbc;
    color: white;
    -webkit-transition: all 0.35s ease 0s;
    -o-transition: all 0.35s ease 0s;
    transition: all 0.35s ease 0s; }
    @media (min-width: 1200px) {
      .product-block .quick-view {
        opacity: 0;
        filter: alpha(opacity=0);
        transform: scale(0); } }
    @media (min-width: 992px) and (max-width: 1200px) {
      .product-block .quick-view {
        opacity: 0;
        filter: alpha(opacity=0);
        transform: scale(0); } }
    .product-block .quick-view a {
      color: white; }
    .product-block .quick-view span {
      display: block;
      -webkit-transition: all 0.35s ease 0s;
      -o-transition: all 0.35s ease 0s;
      transition: all 0.35s ease 0s;
      opacity: 0;
      filter: alpha(opacity=0);
      visibility: hidden;
      position: absolute;
      background-color: #00a86a;
      font-size: 12px;
      color: #fff;
      z-index: 9;
      text-align: center;
      white-space: nowrap;
      padding: 0 8px;
      line-height: 30px;
      border-radius: 2px;
      -webkit-border-radius: 2px;
      -moz-border-radius: 2px;
      -ms-border-radius: 2px;
      -o-border-radius: 2px;
      top: -30px;
      left: -moz-calc(100% - 60px);
      left: calc(100% - 60px);
      left: -webkit-calc(100% - 60px);
      min-width: 80px;
      z-index: 3; }
      .product-block .quick-view span:before {
        content: "";
        position: absolute;
        border: 5px solid transparent;
        border-top: 5px solid #00a86a;
        bottom: -10px;
        left: 35px; }
    .product-block .quick-view:hover {
      background: #00a86a;
      -webkit-transition: all 0.35s ease 0s;
      -o-transition: all 0.35s ease 0s;
      transition: all 0.35s ease 0s; }
      .product-block .quick-view:hover a {
        color: white; }
      .product-block .quick-view:hover span {
        -webkit-transition: all 0.35s ease 0s;
        -o-transition: all 0.35s ease 0s;
        transition: all 0.35s ease 0s;
        opacity: 1;
        filter: alpha(opacity=100);
        visibility: visible;
        top: -40px; }
  .product-block .caption {
    position: relative;
    z-index: 2;
    padding-right: 30px; }
    .product-block .caption .name {
      height: 45px;
      overflow: hidden; }
    .product-block .caption .rating {
      overflow: hidden;
      line-height: 50px;
      float: right; }
  @media (min-width: 992px) {
    .product-block .button-action {
      right: 30px;
      position: absolute;
      bottom: 50px;
      height: 0;
      -webkit-transition: all 0.35s ease 0s;
      -o-transition: all 0.35s ease 0s;
      transition: all 0.35s ease 0s;
      width: 100%;
      z-index: 2;
      opacity: 0;
      filter: alpha(opacity=0);
      -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
      transition: opacity 0.35s, transform 0.35s;
      -webkit-transform: translate3d(10%, 0, 0);
      transform: translate3d(10%, 0, 0); } }
  .product-block .button-action > div.yith-wcwl-add-to-wishlist, .product-block .button-action > div.compare-button, .product-block .button-action > div.add-cart {
    float: right;
    position: relative;
    line-height: 42px;
    background: white;
    text-align: center; }
    .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist span, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.compare span, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_cart_button span, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a span, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a span, .product-block .button-action > div.compare-button a.add_to_wishlist span, .product-block .button-action > div.compare-button a.compare span, .product-block .button-action > div.compare-button a.add_to_cart_button span, .product-block .button-action > div.compare-button .yith-wcwl-wishlistaddedbrowse a span, .product-block .button-action > div.compare-button .yith-wcwl-wishlistexistsbrowse a span, .product-block .button-action > div.add-cart a.add_to_wishlist span, .product-block .button-action > div.add-cart a.compare span, .product-block .button-action > div.add-cart a.add_to_cart_button span, .product-block .button-action > div.add-cart .yith-wcwl-wishlistaddedbrowse a span, .product-block .button-action > div.add-cart .yith-wcwl-wishlistexistsbrowse a span {
      display: block;
      -webkit-transition: all 0.35s ease 0s;
      -o-transition: all 0.35s ease 0s;
      transition: all 0.35s ease 0s;
      opacity: 0;
      filter: alpha(opacity=0);
      visibility: hidden;
      position: absolute;
      background-color: #00a86a;
      font-size: 12px;
      color: #fff;
      z-index: 9;
      text-align: center;
      white-space: nowrap;
      padding: 0 8px;
      line-height: 30px;
      border-radius: 2px;
      -webkit-border-radius: 2px;
      -moz-border-radius: 2px;
      -ms-border-radius: 2px;
      -o-border-radius: 2px;
      top: -30px;
      left: -moz-calc(100% - 60px);
      left: calc(100% - 60px);
      left: -webkit-calc(100% - 60px);
      min-width: 80px;
      z-index: 3; }
      .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist span:before, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.compare span:before, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_cart_button span:before, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a span:before, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a span:before, .product-block .button-action > div.compare-button a.add_to_wishlist span:before, .product-block .button-action > div.compare-button a.compare span:before, .product-block .button-action > div.compare-button a.add_to_cart_button span:before, .product-block .button-action > div.compare-button .yith-wcwl-wishlistaddedbrowse a span:before, .product-block .button-action > div.compare-button .yith-wcwl-wishlistexistsbrowse a span:before, .product-block .button-action > div.add-cart a.add_to_wishlist span:before, .product-block .button-action > div.add-cart a.compare span:before, .product-block .button-action > div.add-cart a.add_to_cart_button span:before, .product-block .button-action > div.add-cart .yith-wcwl-wishlistaddedbrowse a span:before, .product-block .button-action > div.add-cart .yith-wcwl-wishlistexistsbrowse a span:before {
        content: "";
        position: absolute;
        border: 5px solid transparent;
        border-top: 5px solid #00a86a;
        bottom: -10px;
        left: 35px; }
    .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist i, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist em, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.compare i, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.compare em, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_cart_button i, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_cart_button em, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a i, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a em, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a i, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a em, .product-block .button-action > div.compare-button a.add_to_wishlist i, .product-block .button-action > div.compare-button a.add_to_wishlist em, .product-block .button-action > div.compare-button a.compare i, .product-block .button-action > div.compare-button a.compare em, .product-block .button-action > div.compare-button a.add_to_cart_button i, .product-block .button-action > div.compare-button a.add_to_cart_button em, .product-block .button-action > div.compare-button .yith-wcwl-wishlistaddedbrowse a i, .product-block .button-action > div.compare-button .yith-wcwl-wishlistaddedbrowse a em, .product-block .button-action > div.compare-button .yith-wcwl-wishlistexistsbrowse a i, .product-block .button-action > div.compare-button .yith-wcwl-wishlistexistsbrowse a em, .product-block .button-action > div.add-cart a.add_to_wishlist i, .product-block .button-action > div.add-cart a.add_to_wishlist em, .product-block .button-action > div.add-cart a.compare i, .product-block .button-action > div.add-cart a.compare em, .product-block .button-action > div.add-cart a.add_to_cart_button i, .product-block .button-action > div.add-cart a.add_to_cart_button em, .product-block .button-action > div.add-cart .yith-wcwl-wishlistaddedbrowse a i, .product-block .button-action > div.add-cart .yith-wcwl-wishlistaddedbrowse a em, .product-block .button-action > div.add-cart .yith-wcwl-wishlistexistsbrowse a i, .product-block .button-action > div.add-cart .yith-wcwl-wishlistexistsbrowse a em {
      display: block;
      width: 40px;
      height: 40px;
      line-height: 40px;
      padding: 0;
      color: #c3c9ce;
      font-size: 16px;
      margin: 0; }
    .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist:hover i, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.compare:hover i, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_cart_button:hover i, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a:hover i, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a:hover i, .product-block .button-action > div.compare-button a.add_to_wishlist:hover i, .product-block .button-action > div.compare-button a.compare:hover i, .product-block .button-action > div.compare-button a.add_to_cart_button:hover i, .product-block .button-action > div.compare-button .yith-wcwl-wishlistaddedbrowse a:hover i, .product-block .button-action > div.compare-button .yith-wcwl-wishlistexistsbrowse a:hover i, .product-block .button-action > div.add-cart a.add_to_wishlist:hover i, .product-block .button-action > div.add-cart a.compare:hover i, .product-block .button-action > div.add-cart a.add_to_cart_button:hover i, .product-block .button-action > div.add-cart .yith-wcwl-wishlistaddedbrowse a:hover i, .product-block .button-action > div.add-cart .yith-wcwl-wishlistexistsbrowse a:hover i {
      color: #000000;
      -webkit-transition: all 0.35s ease 0s;
      -o-transition: all 0.35s ease 0s;
      transition: all 0.35s ease 0s; }
    .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist:hover span, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.compare:hover span, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_cart_button:hover span, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a:hover span, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a:hover span, .product-block .button-action > div.compare-button a.add_to_wishlist:hover span, .product-block .button-action > div.compare-button a.compare:hover span, .product-block .button-action > div.compare-button a.add_to_cart_button:hover span, .product-block .button-action > div.compare-button .yith-wcwl-wishlistaddedbrowse a:hover span, .product-block .button-action > div.compare-button .yith-wcwl-wishlistexistsbrowse a:hover span, .product-block .button-action > div.add-cart a.add_to_wishlist:hover span, .product-block .button-action > div.add-cart a.compare:hover span, .product-block .button-action > div.add-cart a.add_to_cart_button:hover span, .product-block .button-action > div.add-cart .yith-wcwl-wishlistaddedbrowse a:hover span, .product-block .button-action > div.add-cart .yith-wcwl-wishlistexistsbrowse a:hover span {
      -webkit-transition: all 0.35s ease 0s;
      -o-transition: all 0.35s ease 0s;
      transition: all 0.35s ease 0s;
      opacity: 1;
      filter: alpha(opacity=100);
      visibility: visible;
      top: -40px; }
    .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist:hover i, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_wishlist:hover em, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.compare:hover i, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.compare:hover em, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_cart_button:hover i, .product-block .button-action > div.yith-wcwl-add-to-wishlist a.add_to_cart_button:hover em, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a:hover i, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a:hover em, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a:hover i, .product-block .button-action > div.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse a:hover em, .product-block .button-action > div.compare-button a.add_to_wishlist:hover i, .product-block .button-action > div.compare-button a.add_to_wishlist:hover em, .product-block .button-action > div.compare-button a.compare:hover i, .product-block .button-action > div.compare-button a.compare:hover em, .product-block .button-action > div.compare-button a.add_to_cart_button:hover i, .product-block .button-action > div.compare-button a.add_to_cart_button:hover em, .product-block .button-action > div.compare-button .yith-wcwl-wishlistaddedbrowse a:hover i, .product-block .button-action > div.compare-button .yith-wcwl-wishlistaddedbrowse a:hover em, .product-block .button-action > div.compare-button .yith-wcwl-wishlistexistsbrowse a:hover i, .product-block .button-action > div.compare-button .yith-wcwl-wishlistexistsbrowse a:hover em, .product-block .button-action > div.add-cart a.add_to_wishlist:hover i, .product-block .button-action > div.add-cart a.add_to_wishlist:hover em, .product-block .button-action > div.add-cart a.compare:hover i, .product-block .button-action > div.add-cart a.compare:hover em, .product-block .button-action > div.add-cart a.add_to_cart_button:hover i, .product-block .button-action > div.add-cart a.add_to_cart_button:hover em, .product-block .button-action > div.add-cart .yith-wcwl-wishlistaddedbrowse a:hover i, .product-block .button-action > div.add-cart .yith-wcwl-wishlistaddedbrowse a:hover em, .product-block .button-action > div.add-cart .yith-wcwl-wishlistexistsbrowse a:hover i, .product-block .button-action > div.add-cart .yith-wcwl-wishlistexistsbrowse a:hover em {
      -webkit-transition: all 0.35s ease 0s;
      -o-transition: all 0.35s ease 0s;
      transition: all 0.35s ease 0s;
      color: #000000; }
  .product-block .button-action > div.add-cart a.add_to_cart_button i {
    color: #00a86a; }
  .product-block .button-action > div.compare-button .compare.added {
    color: transparent !important;
    position: relative;
    width: 40px;
    height: 40px; }
    .product-block .button-action > div.compare-button .compare.added:before {
      content: "\f0ec";
      font-family: 'FontAwesome';
      position: absolute;
      color: #666;
      background-color: #00a86a;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      -ms-border-radius: 50%;
      -o-border-radius: 50%;
      line-height: 40px; }
    .product-block .button-action > div.compare-button .compare.added:hover {
      color: #00a86a; }
  .product-block .button-action > div .title {
    display: none; }
  .product-block .button-action > div.yith-wcwl-add-to-wishlist .ajax-loading {
    position: absolute;
    left: 4px;
    top: 5px; }
  .product-block .button-action > div.clear {
    display: none; }
  .product-block:hover .image:after {
    width: 100%;
    opacity: 1;
    -webkit-transition: all 0.35s ease 0s;
    -o-transition: all 0.35s ease 0s;
    transition: all 0.35s ease 0s; }
  .product-block:hover .quick-view {
    -webkit-transition: all 0.35s ease 0s;
    -o-transition: all 0.35s ease 0s;
    transition: all 0.35s ease 0s; }
    @media (min-width: 1200px) {
      .product-block:hover .quick-view {
        opacity: 1;
        filter: alpha(opacity=100);
        transform: scale(1); } }
    @media (min-width: 992px) and (max-width: 1200px) {
      .product-block:hover .quick-view {
        opacity: 1;
        filter: alpha(opacity=100);
        transform: scale(1); } }
  @media (min-width: 1200px) {
    .product-block:hover .button-action {
      opacity: 1;
      filter: alpha(opacity=100);
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0); } }
  @media (min-width: 992px) and (max-width: 1200px) {
    .product-block:hover .button-action {
      opacity: 1;
      filter: alpha(opacity=100);
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0); } }

div[class*="add-to-wishlist"] {
  margin-top: 0; }
  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 {
  overflow: hidden; }
  .products-grid div.product {
    position: relative; }
  .products-grid .first {
    clear: both; }

.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; }

@media (min-width: 768px) {
  .products-list .rating .star-rating, .list .rating .star-rating {
    float: right; } }

.products-list .rating .star-rating span:before, .list .rating .star-rating span:before {
  color: #ccc; }

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

.products-list .product-block, .list .product-block {
  border-top: solid 1px #e8e8e8;
  padding: 30px 0;
  margin-bottom: 0; }
  .products-list .product-block .name, .list .product-block .name {
    padding: 0;
    font-weight: 600;
    font-size: 18px;
    margin-bottom: 10px; }
    .products-list .product-block .name a, .list .product-block .name a {
      color: #000; }
      .products-list .product-block .name a:hover, .list .product-block .name a:hover {
        color: #00a86a; }
  .products-list .product-block .image, .list .product-block .image {
    border: none; }
    @media (min-width: 768px) {
      .products-list .product-block .image, .list .product-block .image {
        margin-bottom: 0; } }
    @media (max-width: 768px) {
      .products-list .product-block .image, .list .product-block .image {
        margin-bottom: 15px; } }
  @media (min-width: 768px) {
    .products-list .product-block .product-assets, .list .product-block .product-assets {
      text-align: right; } }
  .products-list .product-block .product-assets .price > *, .list .product-block .product-assets .price > * {
    font-size: 18px; }
  .products-list .product-block .add-cart i, .list .product-block .add-cart i {
    font-size: 14px;
    color: #969696; }
  .products-list .product-block .add-cart .add_to_cart_button.added i,
  .products-list .product-block .add-cart .product_type_simple.added i,
  .products-list .product-block .add-cart .product_type_external.added i,
  .products-list .product-block .add-cart .product_type_grouped.added i,
  .products-list .product-block .add-cart .product_type_variable.added i, .list .product-block .add-cart .add_to_cart_button.added i,
  .list .product-block .add-cart .product_type_simple.added i,
  .list .product-block .add-cart .product_type_external.added i,
  .list .product-block .add-cart .product_type_grouped.added i,
  .list .product-block .add-cart .product_type_variable.added i {
    display: none; }
  .products-list .product-block .add-cart .add_to_cart_button .title-cart,
  .products-list .product-block .add-cart .product_type_simple .title-cart,
  .products-list .product-block .add-cart .product_type_external .title-cart,
  .products-list .product-block .add-cart .product_type_grouped .title-cart,
  .products-list .product-block .add-cart .product_type_variable .title-cart, .list .product-block .add-cart .add_to_cart_button .title-cart,
  .list .product-block .add-cart .product_type_simple .title-cart,
  .list .product-block .add-cart .product_type_external .title-cart,
  .list .product-block .add-cart .product_type_grouped .title-cart,
  .list .product-block .add-cart .product_type_variable .title-cart {
    position: relative;
    opacity: 1;
    color: #969696;
    font-weight: 400;
    line-height: 30px;
    font-size: 16px;
    visibility: inherit;
    opacity: 1;
    background: transparent;
    top: 0;
    left: 0;
    padding: 0 5px;
    float: right;
    margin: 0px; }
    .products-list .product-block .add-cart .add_to_cart_button .title-cart:before,
    .products-list .product-block .add-cart .product_type_simple .title-cart:before,
    .products-list .product-block .add-cart .product_type_external .title-cart:before,
    .products-list .product-block .add-cart .product_type_grouped .title-cart:before,
    .products-list .product-block .add-cart .product_type_variable .title-cart:before, .list .product-block .add-cart .add_to_cart_button .title-cart:before,
    .list .product-block .add-cart .product_type_simple .title-cart:before,
    .list .product-block .add-cart .product_type_external .title-cart:before,
    .list .product-block .add-cart .product_type_grouped .title-cart:before,
    .list .product-block .add-cart .product_type_variable .title-cart:before {
      content: none; }
  .products-list .product-block .add-cart .add_to_cart_button i, .products-list .product-block .add-cart .add_to_cart_button em,
  .products-list .product-block .add-cart .product_type_simple i,
  .products-list .product-block .add-cart .product_type_simple em,
  .products-list .product-block .add-cart .product_type_external i,
  .products-list .product-block .add-cart .product_type_external em,
  .products-list .product-block .add-cart .product_type_grouped i,
  .products-list .product-block .add-cart .product_type_grouped em,
  .products-list .product-block .add-cart .product_type_variable i,
  .products-list .product-block .add-cart .product_type_variable em, .list .product-block .add-cart .add_to_cart_button i, .list .product-block .add-cart .add_to_cart_button em,
  .list .product-block .add-cart .product_type_simple i,
  .list .product-block .add-cart .product_type_simple em,
  .list .product-block .add-cart .product_type_external i,
  .list .product-block .add-cart .product_type_external em,
  .list .product-block .add-cart .product_type_grouped i,
  .list .product-block .add-cart .product_type_grouped em,
  .list .product-block .add-cart .product_type_variable i,
  .list .product-block .add-cart .product_type_variable em {
    display: inline-block;
    color: #969696;
    line-height: 30px;
    margin: 0; }
  .products-list .product-block .add-cart .add_to_cart_button:hover .title-cart,
  .products-list .product-block .add-cart .product_type_simple:hover .title-cart,
  .products-list .product-block .add-cart .product_type_external:hover .title-cart,
  .products-list .product-block .add-cart .product_type_grouped:hover .title-cart,
  .products-list .product-block .add-cart .product_type_variable:hover .title-cart, .list .product-block .add-cart .add_to_cart_button:hover .title-cart,
  .list .product-block .add-cart .product_type_simple:hover .title-cart,
  .list .product-block .add-cart .product_type_external:hover .title-cart,
  .list .product-block .add-cart .product_type_grouped:hover .title-cart,
  .list .product-block .add-cart .product_type_variable:hover .title-cart {
    color: #00a86a;
    -webkit-transition: all 0.3ms ease-out;
    -o-transition: all 0.3ms ease-out;
    transition: all 0.3ms ease-out; }
  .products-list .product-block .add-cart .add_to_cart_button:hover i, .products-list .product-block .add-cart .add_to_cart_button:hover em,
  .products-list .product-block .add-cart .product_type_simple:hover i,
  .products-list .product-block .add-cart .product_type_simple:hover em,
  .products-list .product-block .add-cart .product_type_external:hover i,
  .products-list .product-block .add-cart .product_type_external:hover em,
  .products-list .product-block .add-cart .product_type_grouped:hover i,
  .products-list .product-block .add-cart .product_type_grouped:hover em,
  .products-list .product-block .add-cart .product_type_variable:hover i,
  .products-list .product-block .add-cart .product_type_variable:hover em, .list .product-block .add-cart .add_to_cart_button:hover i, .list .product-block .add-cart .add_to_cart_button:hover em,
  .list .product-block .add-cart .product_type_simple:hover i,
  .list .product-block .add-cart .product_type_simple:hover em,
  .list .product-block .add-cart .product_type_external:hover i,
  .list .product-block .add-cart .product_type_external:hover em,
  .list .product-block .add-cart .product_type_grouped:hover i,
  .list .product-block .add-cart .product_type_grouped:hover em,
  .list .product-block .add-cart .product_type_variable:hover i,
  .list .product-block .add-cart .product_type_variable:hover em {
    color: #00a86a;
    -webkit-transition: all 0.3ms ease-out;
    -o-transition: all 0.3ms ease-out;
    transition: all 0.3ms ease-out; }
  .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: #969696;
    font-weight: 400;
    line-height: 30px;
    font-size: 16px; }
    .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: #00a86a; }
  .products-list .product-block a.compare, .list .product-block a.compare {
    color: #969696;
    font-weight: 400;
    line-height: 30px; }
    .products-list .product-block a.compare:hover, .list .product-block a.compare:hover {
      color: #00a86a; }
    .products-list .product-block a.compare.added, .list .product-block a.compare.added {
      color: #00a86a; }
  @media screen and (max-width: 480px) {
    .products-list .product-block .add-button, .list .product-block .add-button {
      float: left; } }

.products-carousel .product-block-list .rating {
  display: block;
  margin-top: 15px; }

@media (min-width: 992px) {
  .products-carousel .owl-item.active + .owl-item.active {
    border-left: 1px solid #e8e8e8; }
    .rtl .products-carousel .owl-item.active + .owl-item.active {
      border-right: 1px solid #e8e8e8;
      border-left: inherit; } }

.products-carousel .product-carousel-item:last-child .product-block {
  margin-bottom: 0; }

.product-block-list .product-block {
  border-bottom: 1px solid #ebebeb;
  margin-bottom: 20px; }
  .product-block-list .product-block:hover {
    -webkit-box-shadow: none;
    box-shadow: none; }
    .product-block-list .product-block:hover .price {
      opacity: 1;
      filter: alpha(opacity=1);
      visibility: visible; }
  .product-block-list .product-block .bottom {
    clear: both; }
  .product-block-list .product-block .name {
    margin-bottom: 5px; }
  .product-block-list .product-block span.onsale {
    top: 0;
    right: 15px; }
    .rtl .product-block-list .product-block span.onsale {
      left: 15px;
      right: auto; }

.product-block-list + .product-block-list:last-child .product-block {
  border: 0; }

.product-block-list .media-left a {
  width: 100px; }

.product-block-list .add-cart, .product-block-list .rating, .product-block-list .onsale {
  display: none; }

.product-block-list .image {
  display: inline-block;
  margin-right: 15px;
  padding: 0;
  border-bottom: none;
  margin-bottom: 20px; }
  .rtl .product-block-list .image {
    margin-left: 15px;
    margin-right: inherit; }

.product-block-list .groups {
  text-align: left; }
  .rtl .product-block-list .groups {
    text-align: right; }

/**
 * Single product
 */
.single_variation_wrap .single_variation {
  background-color: #fafafa;
  padding: 20px 30px 10px;
  margin-bottom: 20px; }

/*------------------------------------*    Quantity inputs
\*------------------------------------*/
.quantity {
  position: relative;
  margin: 0 auto;
  overflow: hidden;
  zoom: 1;
  float: left; }
  .quantity span {
    font-size: 18px;
    margin-right: 5px; }
  .quantity input.qty {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    padding: 5px 10px;
    width: 45px;
    height: 54px;
    color: #000;
    font-weight: 400;
    border: 1px solid #e5e5e5; }
    .quantity input.qty:focus:focus {
      border-color: #00a86a;
      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: #969696;
    border: 1px solid #e8e8e8;
    text-align: center;
    width: 25px;
    height: 19px; }
  .quantity .plus {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    right: 0; }
  .quantity .minus {
    bottom: 0;
    right: 0;
    border-top-right-radius: 0;
    border-top-left-radius: 0; }

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

.sku_wrapper span {
  color: #969696; }

/* 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 p.price {
  color: #000000;
  font-size: 36px;
  font-family: "Teko", sans-serif; }
  .single-product.woocommerce div.product p.price ins {
    font-weight: 400 !important; }

.single-product.woocommerce div.product form.cart {
  margin-bottom: 20px;
  margin-top: 20px;
  float: left; }
  .single-product.woocommerce div.product form.cart div.quantity {
    margin-right: 10px;
    margin-bottom: 15px; }
    .single-product.woocommerce div.product form.cart div.quantity input.qty {
      background-color: #f0f0f0;
      border: 1px solid #e8e8e8;
      border-radius: 3px;
      -webkit-border-radius: 3px;
      -moz-border-radius: 3px;
      -ms-border-radius: 3px;
      -o-border-radius: 3px;
      font-size: 18px; }
  .single-product.woocommerce div.product form.cart .single_add_to_cart_button.button {
    background: #00a86a;
    padding: 12px 35px;
    line-height: 30px;
    margin-right: 10px;
    border-radius: 0;
    color: white;
    margin-bottom: 15px;
    position: relative;
    z-index: 1;
    font-size: 20px;
    font-weight: bold;
    border: none; }
    .single-product.woocommerce div.product form.cart .single_add_to_cart_button.button:after {
      position: absolute;
      right: -4px;
      bottom: -4px;
      content: "";
      width: 100%;
      height: 100%;
      border: 2px solid #00a86a;
      background: transparent;
      z-index: -1;
      -webkit-transition: all 0.4s ease-out;
      -o-transition: all 0.4s ease-out;
      transition: all 0.4s ease-out; }
    .single-product.woocommerce div.product form.cart .single_add_to_cart_button.button i {
      margin: 0 5px; }
    .single-product.woocommerce div.product form.cart .single_add_to_cart_button.button:hover {
      background: #00a86a;
      color: white;
      -webkit-transition: all 0.3s ease-out;
      -o-transition: all 0.3s ease-out;
      transition: all 0.3s ease-out; }
      .single-product.woocommerce div.product form.cart .single_add_to_cart_button.button:hover:after {
        -webkit-transform: translate(-4px, -4px);
        -ms-transform: translate(-4px, -4px);
        -o-transform: translate(-4px, -4px);
        transform: translate(-4px, -4px); }
  .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;
  display: inline-block; }

.single-product.woocommerce div.product .woocommerce-product-rating {
  margin-bottom: 10px; }
  .single-product.woocommerce div.product .woocommerce-product-rating .star-rating {
    color: #f1ca31; }

.single-product.woocommerce div.product .addthis {
  float: left; }

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

.single-product .product-info .cart {
  /* float: left; */ }
  .single-product .product-info .cart .variations {
    margin-bottom: 20px !important; }
  .single-product .product-info .cart .group_table .price del span {
    font-size: 16px; }
  .single-product .product-info .cart .group_table .label {
    line-height: 30px;
    display: inline-block; }
    .single-product .product-info .cart .group_table .label a {
      line-height: 30px;
      display: inline-block;
      font-size: 16px; }
  .single-product .product-info .cart .group_table .quantity .qty {
    height: 44px; }
  .single-product .product-info .cart .yith-wcwl-add-to-wishlist {
    display: none; }
  .single-product .product-info .cart .compare-button,
  .single-product .product-info .cart .yith-wcwl-add-to-wishlist {
    float: left;
    margin-top: 20px; }
    .single-product .product-info .cart .compare-button i, .single-product .product-info .cart .compare-button em,
    .single-product .product-info .cart .yith-wcwl-add-to-wishlist i,
    .single-product .product-info .cart .yith-wcwl-add-to-wishlist em {
      display: none; }
    .single-product .product-info .cart .compare-button a,
    .single-product .product-info .cart .yith-wcwl-add-to-wishlist a {
      color: #969696;
      padding: 3px 30px;
      margin-right: 30px;
      border-right: 1px solid #e8e8e8;
      text-decoration: underline; }
      .single-product .product-info .cart .compare-button a span,
      .single-product .product-info .cart .yith-wcwl-add-to-wishlist a span {
        display: block; }
      .single-product .product-info .cart .compare-button a:hover,
      .single-product .product-info .cart .yith-wcwl-add-to-wishlist a:hover {
        color: #00a86a; }

.single-product .product-info .compare-button a {
  color: #969696;
  text-decoration: underline;
  display: flex; }

.single-product .product-info .compare-button i {
  display: none; }

.single-product .product-info .yith-wcwl-add-to-wishlist {
  display: inline-block;
  margin-top: 37px; }
  .single-product .product-info .yith-wcwl-add-to-wishlist a {
    color: #969696;
    text-decoration: underline; }
    .single-product .product-info .yith-wcwl-add-to-wishlist a:hover {
      color: #00a86a; }
  .single-product .product-info .yith-wcwl-add-to-wishlist i, .single-product .product-info .yith-wcwl-add-to-wishlist em {
    display: none; }
  .single-product .product-info .yith-wcwl-add-to-wishlist + .yith-wcwl-add-to-wishlist {
    display: none; }

.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; }

.single-product .single-layout5 .widget-reviews .comments-inner,
.single-product .single-layout3 .widget-reviews .comments-inner,
.single-product .single-layout2 .widget-reviews .comments-inner {
  display: inline-block !important; }

.single-product .single-layout5 .widget-reviews .reviews-summary,
.single-product .single-layout5 .widget-reviews .comments-group,
.single-product .single-layout3 .widget-reviews .reviews-summary,
.single-product .single-layout3 .widget-reviews .comments-group,
.single-product .single-layout2 .widget-reviews .reviews-summary,
.single-product .single-layout2 .widget-reviews .comments-group {
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important; }

.single-product .single-layout5 .widget-reviews .reviews-summary:before,
.single-product .single-layout3 .widget-reviews .reviews-summary:before,
.single-product .single-layout2 .widget-reviews .reviews-summary:before {
  width: 0 !important;
  height: 0 !important; }

.product-single-nav {
  position: relative;
  width: 100%;
  z-index: 10; }
  .product-single-nav > .psnav {
    left: 0;
    top: calc(50% - 40px);
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    position: fixed; }
  .product-single-nav > .psnav.right {
    left: auto;
    right: 0; }
  .product-single-nav > div img {
    height: 80px;
    width: auto;
    border: 1px solid #e8e8e8; }
  .product-single-nav .single_nav {
    height: 80px;
    padding: 18px 20px;
    transform: rotateX(90deg);
    background-color: #e8e8e8;
    justify-content: center;
    max-width: 230px; }
    .product-single-nav .single_nav > * {
      display: inline-block;
      width: 100%; }
    .product-single-nav .single_nav a {
      font-size: 12px;
      line-height: 14px; }
    .product-single-nav .single_nav .price {
      line-height: 1; }
      .product-single-nav .single_nav .price * {
        font-size: 14px;
        line-height: 18px;
        color: #000000; }

.product-single-nav .psnav .single_nav {
  opacity: 0;
  transition: all 0.3s ease 0s;
  visibility: hidden; }

.product-single-nav .psnav:hover .single_nav {
  opacity: 1;
  transform: rotateX(0deg);
  visibility: visible;
  display: inline-block; }

/**
 * Category And Listing Page
 */
.products-top-wrap {
  border-top: 1px solid #e8e8e8; }
  .products-top-wrap .woocommerce-ordering {
    float: right;
    margin-top: 10px;
    z-index: 9; }
    .products-top-wrap .woocommerce-ordering select {
      border: none;
      background-color: #fff;
      border-radius: 0;
      -webkit-border-radius: 0;
      -moz-border-radius: 0;
      -ms-border-radius: 0;
      -o-border-radius: 0;
      -webkit-box-shadow: none;
      box-shadow: none;
      height: 42px;
      padding-top: 5px;
      padding-bottom: 5px; }
  .products-top-wrap .display-mode {
    float: left;
    margin-top: 12px; }
    .products-top-wrap .display-mode .btn {
      background-color: transparent;
      font-size: 14px;
      line-height: 16px;
      padding: 8px;
      color: #b1b1b1;
      box-shadow: none;
      -webkit-box-shadow: none; }
      .products-top-wrap .display-mode .btn.active {
        color: #000000; }
        .products-top-wrap .display-mode .btn.active:focus {
          outline: none; }
      .products-top-wrap .display-mode .btn:focus {
        outline: none; }
    .products-top-wrap .display-mode button:first-child {
      margin-right: 5px; }

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

.products-bottom-wrap {
  margin: 30px 0 50px;
  border-top: 1px solid #e8e8e8;
  padding-top: 25px; }
  .products-bottom-wrap .woocommerce-pagination {
    float: left; }
  .products-bottom-wrap nav.woocommerce-pagination ul.page-numbers {
    border: none; }
    .products-bottom-wrap nav.woocommerce-pagination ul.page-numbers li {
      border: none; }
      .products-bottom-wrap nav.woocommerce-pagination ul.page-numbers li .page-numbers {
        border: none;
        width: 44px;
        height: 44px;
        border-radius: 100%;
        -webkit-border-radius: 100%;
        -moz-border-radius: 100%;
        -ms-border-radius: 100%;
        -o-border-radius: 100%;
        margin-right: 10px;
        line-height: 44px;
        text-align: center;
        font-size: 14px;
        font-weight: 700;
        padding: 0;
        -webkit-transition: all 0.35s ease 0s;
        -o-transition: all 0.35s ease 0s;
        transition: all 0.35s ease 0s; }
      .products-bottom-wrap nav.woocommerce-pagination ul.page-numbers li span.current {
        background-color: #00a86a;
        color: #fff; }
      .products-bottom-wrap nav.woocommerce-pagination ul.page-numbers li a:hover {
        background-color: #00a86a;
        color: #fff;
        -webkit-transition: all 0.35s ease 0s;
        -o-transition: all 0.35s ease 0s;
        transition: all 0.35s ease 0s; }
  .products-bottom-wrap .woocommerce-result-count {
    float: right;
    margin: 8px 0;
    font-size: 12px;
    font-weight: 600;
    color: #86939e; }

/*------------------------------------*    Quickview
\*------------------------------------*/
#opal-quickview-modal .modal-dialog {
  overflow: hidden; }
  #opal-quickview-modal .modal-dialog del {
    margin-right: 10px; }
    #opal-quickview-modal .modal-dialog del .amount {
      color: #969696 !important;
      font-size: 24px;
      font-family: "Teko", sans-serif;
      font-weight: normal !important; }
    #opal-quickview-modal .modal-dialog del span {
      font-size: 24px;
      margin: 0;
      font-weight: normal !important; }
  @media (max-width: 991px) {
    #opal-quickview-modal .modal-dialog.modal-lg {
      width: 90%;
      margin: 15px auto; } }

#opal-quickview-modal .product-info {
  margin: 0;
  padding: 0; }
  #opal-quickview-modal .product-info .star-rating {
    font-size: 10px;
    display: inline-block !important;
    float: none;
    font-family: star;
    height: 1.2em;
    line-height: 1.2;
    overflow: hidden;
    position: relative;
    width: 5.4em; }
    #opal-quickview-modal .product-info .star-rating:before {
      content: "\53\53\53\53\53";
      color: #dcdcdc;
      float: left;
      left: 0;
      position: absolute;
      top: 0; }
    #opal-quickview-modal .product-info .star-rating span {
      float: left;
      left: 0;
      overflow: hidden;
      padding-top: 1.5em;
      position: absolute;
      top: 0; }
      #opal-quickview-modal .product-info .star-rating span:before {
        content: "\53\53\53\53\53";
        color: #00a86a;
        left: 0;
        position: absolute;
        top: 0; }
  #opal-quickview-modal .product-info .summary {
    margin-right: 20px;
    width: 95%; }
  #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: #000000;
    font-weight: normal;
    font-size: 24px;
    font-family: "Teko", sans-serif; }
  #opal-quickview-modal .product-info a.add_to_cart_button {
    background: #00a86a;
    padding: 12px 35px;
    line-height: 30px;
    margin-right: 10px;
    border-radius: 0;
    color: white;
    margin-bottom: 15px;
    position: relative;
    z-index: 1;
    font-size: 20px;
    font-weight: bold;
    border: none;
    display: inline-block; }
    #opal-quickview-modal .product-info a.add_to_cart_button:after {
      position: absolute;
      right: -4px;
      bottom: -4px;
      content: "";
      width: 100%;
      height: 100%;
      border: 2px solid #00a86a;
      background: transparent;
      z-index: -1;
      -webkit-transition: all 0.4s ease-out;
      -o-transition: all 0.4s ease-out;
      transition: all 0.4s ease-out; }
    #opal-quickview-modal .product-info a.add_to_cart_button i {
      display: none; }
    #opal-quickview-modal .product-info a.add_to_cart_button:hover {
      background: #00a86a;
      color: white;
      -webkit-transition: all 0.3s ease-out;
      -o-transition: all 0.3s ease-out;
      transition: all 0.3s ease-out; }
      #opal-quickview-modal .product-info a.add_to_cart_button:hover:after {
        -webkit-transform: translate(-4px, -4px);
        -ms-transform: translate(-4px, -4px);
        -o-transform: translate(-4px, -4px);
        transform: translate(-4px, -4px); }

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

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

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

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

#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; }
  #opal-quickview-modal .carousel-control.right {
    right: -45px; }

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

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

.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; }

/*  
 Layout for single products
*/
.accordion-group {
  border: 1px solid #e8e8e8;
  margin-top: 50px;
  margin-bottom: 60px !important; }
  .accordion-group .panel {
    padding: 15px 30px;
    margin: 0 !important;
    border: none;
    border-bottom: 1px solid #e8e8e8;
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0; }
    .accordion-group .panel:last-child {
      border-bottom: none; }
    .accordion-group .panel .tabs-title {
      position: relative; }
      .accordion-group .panel .tabs-title a {
        color: #000;
        font-size: 24px;
        font-family: "Teko", sans-serif;
        text-transform: uppercase; }
        .accordion-group .panel .tabs-title a i {
          position: absolute;
          content: "";
          right: 0;
          top: 15px;
          font-size: 16px; }
    .accordion-group .panel .panel-collapse {
      margin-top: 15px;
      padding-top: 15px;
      border-top: 1px solid #e8e8e8; }

.woocommerce div.product .woocommerce-tabs.horizontal-tabs {
  margin-bottom: 60px; }
  .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs {
    padding: 30px 0;
    margin-bottom: 0; }
    .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs li {
      border: none;
      background: transparent;
      border-radius: 0;
      margin: 0;
      padding: 0; }
      .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs li > a {
        padding: 0 20px;
        font-size: 24px;
        text-transform: uppercase;
        font-family: "Teko", sans-serif;
        font-weight: normal;
        color: #c4cacf; }
        .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs li > a:hover {
          color: #00a86a; }
      .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs li.active > a {
        color: #000000; }
      .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs li:after, .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs li:before, .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs li.active:before, .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs li.active:after {
        content: none; }
      .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs li.active {
        color: #000000; }
      .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs li:first-child > a {
        padding-left: 0; }
    .woocommerce div.product .woocommerce-tabs.horizontal-tabs ul.tabs:before {
      border-bottom: none; }

.woocommerce div.product .vertical-tabs {
  border: 1px solid #e8e8e8;
  margin-top: 50px;
  margin-bottom: 60px; }
  @media screen and (min-width: 768px) {
    .woocommerce div.product .vertical-tabs ul.tabs {
      padding: 0;
      border: none;
      padding: 0 0 20px 20px;
      margin: 0 -2px 0 0;
      float: left;
      border-right: 2px solid #e8e8e8;
      min-width: 250px;
      overflow: visible; }
      .woocommerce div.product .vertical-tabs ul.tabs li {
        border: none;
        background: transparent;
        border-radius: 0;
        margin: 0;
        padding: 0;
        display: block !important; }
        .woocommerce div.product .vertical-tabs ul.tabs li > a {
          font-size: 24px;
          text-transform: uppercase;
          line-height: 30px;
          display: block;
          padding: 15px 20px 15px 0;
          color: #000000;
          font-family: "Teko", sans-serif;
          font-weight: normal; }
          .woocommerce div.product .vertical-tabs ul.tabs li > a:hover {
            color: #000; }
        .woocommerce div.product .vertical-tabs ul.tabs li:first-child > a {
          padding-left: 0; }
        .woocommerce div.product .vertical-tabs ul.tabs li.active > a {
          border-right: 2px solid #00a86a;
          margin-right: -2px; }
        .woocommerce div.product .vertical-tabs ul.tabs li:after, .woocommerce div.product .vertical-tabs ul.tabs li:before, .woocommerce div.product .vertical-tabs ul.tabs li.active:before, .woocommerce div.product .vertical-tabs ul.tabs li.active:after {
          content: none; }
        .woocommerce div.product .vertical-tabs ul.tabs li.active {
          color: #00a86a; }
      .woocommerce div.product .vertical-tabs ul.tabs:before {
        border-bottom: none; }
    .woocommerce div.product .vertical-tabs .panel {
      border-left: 2px solid #e8e8e8; } }
  @media (max-width: 768px) {
    .woocommerce div.product .vertical-tabs ul.tabs {
      padding: 0;
      border-bottom: 1px solid #e8e8e8; }
      .woocommerce div.product .vertical-tabs ul.tabs li {
        border: none;
        background: transparent;
        border-radius: 0;
        margin: 0;
        padding: 0; }
        .woocommerce div.product .vertical-tabs ul.tabs li > a {
          padding: 15px 10px;
          font-size: 24px;
          font-family: "Teko", sans-serif;
          color: #bdc6cf;
          text-transform: uppercase; }
          .woocommerce div.product .vertical-tabs ul.tabs li > a:hover {
            color: #000; }
        .woocommerce div.product .vertical-tabs ul.tabs li.active > a {
          color: #000; }
        .woocommerce div.product .vertical-tabs ul.tabs li:after, .woocommerce div.product .vertical-tabs ul.tabs li:before, .woocommerce div.product .vertical-tabs ul.tabs li.active:before, .woocommerce div.product .vertical-tabs ul.tabs li.active:after {
          content: none; }
        .woocommerce div.product .vertical-tabs ul.tabs li.active {
          color: #000; }
      .woocommerce div.product .vertical-tabs ul.tabs:before {
        border-bottom: none; } }
  .woocommerce div.product .vertical-tabs .panel {
    overflow: hidden;
    padding: 20px; }
  .woocommerce div.product .vertical-tabs #reviews .comments-inner {
    display: block; }
  .woocommerce div.product .vertical-tabs #reviews .comments-group, .woocommerce div.product .vertical-tabs #reviews .reviews-summary {
    float: none;
    margin: 0;
    padding: 0;
    width: 100%; }

.full-text {
  margin-top: 50px; }
  .full-text h2.title {
    border-bottom: 1px solid #e8e8e8;
    padding-bottom: 10px;
    font-size: 24px; }
  .full-text .entry-content {
    margin-bottom: 50px; }

.woocommerce table.shop_attributes {
  border: none; }
  .woocommerce table.shop_attributes td, .woocommerce table.shop_attributes th {
    border: none;
    border-bottom: 1px dotted #e8e8e8; }

/**
 * Checkout Page
 */
.woocommerce .cart .button, .woocommerce .cart input.button {
  height: 48px; }

.woocommerce #respond input#submit.disabled, .woocommerce #respond input#submit:disabled, .woocommerce #respond input#submit:disabled[disabled], .woocommerce a.button.disabled, .woocommerce a.button:disabled, .woocommerce a.button:disabled[disabled], .woocommerce button.button.disabled, .woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled], .woocommerce input.button.disabled, .woocommerce input.button:disabled, .woocommerce input.button:disabled[disabled] {
  color: #fff; }
  .woocommerce #respond input#submit.disabled:hover, .woocommerce #respond input#submit:disabled:hover, .woocommerce #respond input#submit:disabled[disabled]:hover, .woocommerce a.button.disabled:hover, .woocommerce a.button:disabled:hover, .woocommerce a.button:disabled[disabled]:hover, .woocommerce button.button.disabled:hover, .woocommerce button.button:disabled:hover, .woocommerce button.button:disabled[disabled]:hover, .woocommerce input.button.disabled:hover, .woocommerce input.button:disabled:hover, .woocommerce input.button:disabled[disabled]:hover {
    color: #000; }

/**
 * Thanks you page
 */
/************************
 * Form Styles
 ************************/
.woocommerce button.button, .woocommerce input.button {
  border-radius: 0;
  padding: 14px 35px;
  font-weight: 500;
  font-size: 16px;
  background: #00a86a;
  color: white; }
  .woocommerce button.button:hover, .woocommerce input.button:hover {
    -webkit-transition: all 0.3ms ease-in-out;
    -o-transition: all 0.3ms ease-in-out;
    transition: all 0.3ms ease-in-out;
    background: #008f5a;
    color: white; }

.woocommerce #respond p.form-submit {
  background: #00a86a;
  padding: 12px 50px;
  line-height: 30px;
  border-radius: 0;
  color: white;
  position: relative;
  z-index: 1;
  font-size: 20px;
  font-weight: bold;
  border: none;
  display: inline-block; }
  .woocommerce #respond p.form-submit:hover {
    background: #00a86a;
    color: white;
    -webkit-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out; }
    .woocommerce #respond p.form-submit:hover:after {
      -webkit-transform: translate(-4px, -4px);
      -ms-transform: translate(-4px, -4px);
      -o-transform: translate(-4px, -4px);
      transform: translate(-4px, -4px); }
  .woocommerce #respond p.form-submit:after {
    position: absolute;
    right: -4px;
    bottom: -4px;
    content: "";
    width: 100%;
    height: 100%;
    border: 2px solid #00a86a;
    background: transparent;
    z-index: -1;
    -webkit-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out; }

.woocommerce #respond p.form-submit input#submit {
  background: transparent;
  color: white;
  padding: 0; }

.woocommerce a.button, a.yith-wcwl-add-button {
  font-weight: normal;
  border-radius: 0;
  background: transparent;
  display: block;
  padding: 0; }
  .woocommerce a.button > *, a.yith-wcwl-add-button > * {
    display: inline-block; }
  .woocommerce a.button:hover, a.yith-wcwl-add-button:hover {
    background: transparent;
    color: #00a86a;
    -webkit-transition: all 0.35s ease 0s;
    -o-transition: all 0.35s ease 0s;
    transition: all 0.35s ease 0s; }

.woocommerce form .form-row .input-checkbox {
  position: relative; }

.woocommerce form .form-row .input-text:focus, .woocommerce-page form .form-row .input-text:focus,
.woocommerce form .form-row textarea:focus, .woocommerce select:focus, .woocommerce-cart table.cart input.input-text:focus,
.woocommerce form .form-row .input-text:focus, .woocommerce-page form .form-row .input-text:focus,
.woocommerce form .form-row textarea:focus, .woocommerce select:focus, .woocommerce-cart table.cart input.input-text:focus {
  border-color: #e8e8e8 !important; }

.woocommerce a.button.alt {
  background: #00a86a;
  color: white;
  padding: 14px 30px;
  font-size: 16px; }
  .woocommerce a.button.alt:hover {
    -webkit-transition: all 0.3ms ease-in-out;
    -o-transition: all 0.3ms ease-in-out;
    transition: all 0.3ms ease-in-out;
    background: #008f5a; }

.woocommerce #respond input#submit.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
  background: #00a86a;
  padding: 12px 35px;
  line-height: 30px;
  border-radius: 0;
  color: white;
  position: relative;
  z-index: 1;
  font-size: 20px;
  font-weight: bold;
  border: none;
  display: inline-block; }
  .woocommerce #respond input#submit.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover {
    background: #00a86a;
    color: white;
    -webkit-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out; }
    .woocommerce #respond input#submit.alt:hover:after, .woocommerce button.button.alt:hover:after, .woocommerce input.button.alt:hover:after {
      -webkit-transform: translate(-4px, -4px);
      -ms-transform: translate(-4px, -4px);
      -o-transform: translate(-4px, -4px);
      transform: translate(-4px, -4px); }
  .woocommerce #respond input#submit.alt:after, .woocommerce button.button.alt:after, .woocommerce input.button.alt:after {
    position: absolute;
    right: -4px;
    bottom: -4px;
    content: "";
    width: 100%;
    height: 100%;
    border: 2px solid #00a86a;
    background: transparent;
    z-index: -1;
    -webkit-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out; }

.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: #444; }

.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: #00a86a; }

.woocommerce .wishlist_table td.product-add-to-cart a {
  background: #00a86a;
  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, .woocommerce-cart table.cart input.input-text {
  display: block;
  height: 50px;
  padding: 8px 20px;
  font-size: 16px;
  line-height: 1.8;
  color: #000;
  background-color: transparent;
  background-image: none;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px transparent;
  box-shadow: inset 0 1px 1px transparent;
  -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, .woocommerce-cart table.cart input.input-text:focus {
    border-color: #00a86a;
    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, .woocommerce-cart table.cart input.input-text::-moz-placeholder {
    color: #000;
    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, .woocommerce-cart table.cart input.input-text:-ms-input-placeholder {
    color: #000; }
  .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, .woocommerce-cart table.cart input.input-text::-webkit-input-placeholder {
    color: #000; }
  .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, .woocommerce-cart table.cart input.input-text[disabled], .woocommerce-cart table.cart input.input-text[readonly],
  fieldset[disabled] .woocommerce-cart table.cart input.input-text {
    background-color: #eeeeee;
    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, .woocommerce-cart table.cart input.input-text[disabled],
  fieldset[disabled] .woocommerce-cart table.cart input.input-text {
    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; }
  @media (min-width: 768px) and (max-width: 991px) {
    .woocommerce-cart table.cart input {
      width: auto !important; } }
  @media (max-width: 480px) {
    .woocommerce-cart table.cart input {
      width: auto !important; } }
  @media (max-width: 320px) {
    .woocommerce-cart table.cart input {
      float: left !important;
      margin: 10px 0; } }

.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 #respond input#submit.disabled, .woocommerce #respond input#submit:disabled,
.woocommerce #respond input#submit[disabled]:disabled, .woocommerce a.button.disabled,
.woocommerce a.button:disabled, .woocommerce a.button[disabled]:disabled, .woocommerce button.button.disabled,
.woocommerce button.button:disabled, .woocommerce button.button[disabled]:disabled,
.woocommerce input.button.disabled, .woocommerce input.button:disabled, .woocommerce input.button[disabled]:disabled {
  padding-top: 0;
  padding-bottom: 0; }

.woocommerce #respond input#submit.added::after, .woocommerce a.button.added::after, .woocommerce button.button.added::after, .woocommerce input.button.added::after {
  position: absolute;
  top: 15px;
  right: -15px; }

.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: #00a86a; }

@media screen and (max-width: 480px) {
  .woocommerce form .form-row-first, .woocommerce form .form-row-last,
  .woocommerce-page form .form-row-first, .woocommerce-page form .form-row-last {
    float: none !important;
    width: auto !important; } }

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

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

.woocommerce .quantity .qty {
  width: 70px;
  padding-left: 15px !important;
  padding-right: 15px !important; }

.woocommerce-cart table.cart input {
  text-transform: none;
  padding: 0 25px;
  line-height: 42px; }

.woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-2,
.woocommerce .col2-set .col-1, .woocommerce-page .col2-set .col-1 {
  float: none;
  width: 100%; }

.woocommerce-checkout {
  margin-bottom: 70px; }

.select2-container .select2-choice {
  border-color: #e8e8e8;
  height: 42px;
  line-height: 42px; }

.woocommerce-error, .woocommerce-info, .woocommerce-message {
  background-color: transparent;
  border-top: none;
  padding: 10px 25px !important;
  margin-bottom: 10px !important;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border: 1px solid transparent; }
  .woocommerce-error:before, .woocommerce-info:before, .woocommerce-message:before {
    content: ""; }
  .woocommerce-error a, .woocommerce-info a, .woocommerce-message a {
    color: #00a86a; }
    .woocommerce-error a:hover, .woocommerce-info a:hover, .woocommerce-message a:hover {
      text-decoration: underline; }

.woocommerce-error {
  background-color: #fcd8e0;
  border-color: #f57993; }

.woocommerce-info {
  background-color: #dcebfe;
  border-color: #c3ddfd; }

.woocommerce-message {
  background-color: #fceedb;
  border-color: #f8d9ac; }

.woocommerce-checkout-review-order-table th {
  border-bottom: none;
  padding-top: 15px !important;
  padding-bottom: 15px !important; }

.woocommerce-checkout-review-order-table td {
  border: none; }

.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount {
  color: #00a86a; }

.woocommerce-checkout input.button {
  width: 100%; }

.woocommerce table.shop_table_responsive tr td,
.woocommerce-page table.shop_table_responsive tr td {
  overflow: hidden; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29vY29tbWVyY2UuY3NzIiwic291cmNlcyI6WyJ3b29jb21tZXJjZS5zY3NzIiwiYm9vdHN0cmFwL192YXJpYWJsZXMuc2NzcyIsImJvb3RzdHJhcC9fbWl4aW5zLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19oaWRlLXRleHQuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX29wYWNpdHkuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2ltYWdlLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19sYWJlbHMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3Jlc2V0LWZpbHRlci5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcmVzaXplLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19yZXNwb25zaXZlLXZpc2liaWxpdHkuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3NpemUuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3RhYi1mb2N1cy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGV4dC1vdmVyZmxvdy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdmVuZG9yLXByZWZpeGVzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19hbGVydHMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2J1dHRvbnMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3BhbmVscy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2Zvcm1zLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19wcm9ncmVzcy1iYXIuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19jZW50ZXItYmxvY2suc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX25hdi12ZXJ0aWNhbC1hbGlnbi5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2dyaWQuc2NzcyIsImNvbXBvbmVudHMvX21peGlucy5zY3NzIiwiY29tcG9uZW50cy9taXhpbnMvX3J0bC5zY3NzIiwiY29tcG9uZW50cy9taXhpbnMvX2Z1bmN0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9taXhpbnMvX3RlbXBsYXRlLW1peGlucy5zY3NzIiwiY29tcG9uZW50cy9fdmFyaWFibGVzLnNjc3MiLCJjb21wb25lbnRzL3ZhcnMvX2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvdmFycy9fbmF2LnNjc3MiLCJjb21wb25lbnRzL3ZhcnMvX2xheW91dC5zY3NzIiwiY29tcG9uZW50cy92YXJzL19lbGVtZW50cy5zY3NzIiwiY29tcG9uZW50cy92YXJzL193aWRnZXQuc2NzcyIsIndvb2NvbW1lcmNlL192YXJpYWJsZXMuc2NzcyIsIndvb2NvbW1lcmNlL193aWRnZXQuc2NzcyIsIndvb2NvbW1lcmNlL19zdHlsZXMuc2NzcyIsIndvb2NvbW1lcmNlL19mb3JtLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29yZSB2YXJpYWJsZXMgYW5kIG1peGluc1xuQGltcG9ydCBcImJvb3RzdHJhcC92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvbWl4aW5zXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL21peGluc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdmFyaWFibGVzXCI7XG5cbkBpbXBvcnQgXCJ3b29jb21tZXJjZS92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJ3b29jb21tZXJjZS93aWRnZXRcIjtcbkBpbXBvcnQgXCJ3b29jb21tZXJjZS9zdHlsZXNcIjtcbkBpbXBvcnQgXCJ3b29jb21tZXJjZS9mb3JtXCI7XG4iLCIkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyOiBmYWxzZSAhZGVmYXVsdDtcbi8vXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy89PSBDb2xvcnNcbi8vXG4vLyMjIEdyYXkgYW5kIGJyYW5kIGNvbG9ycyBmb3IgdXNlIGFjcm9zcyBCb290c3RyYXAuXG5cbiRsaWdodC1ncmF5ICAgICAgOiAjNWU2OTc3ICFkZWZhdWx0OyAgICAgICBcbiR2ZXJ5LWxpZ2h0LWdyYXkgOiAjZTVlNWU1ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAvLyAjZTVlNWU1XG4kdmVyeS1kYXJrLWdyYXkgIDogIzM3MzczNyAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAvLyAjMzczNzM3IFxuJGdyYXktZGFya2VyICAgICA6ICMwMDAwMDAgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgIC8vICMwMDAwMDBcbiRncmF5LWRhcmsgICAgICAgOiAjNDQ0ICFkZWZhdWx0OyAgICAgICAgICAgLy8gIzMzMzMzM1xuJGdyYXkgICAgICAgICAgICA6ICNjM2M5Y2UgIWRlZmF1bHQ7ICAgICAgICAgLy8gIzU1NTU1NVxuJGdyYXktbGlnaHQgICAgICA6ICM5Njk2OTYgIWRlZmF1bHQ7ICAgICAgICAgLy8gIzc3Nzc3N1xuJGdyYXktbGlnaHRlciAgICA6IGxpZ2h0ZW4oIzAwMCwgOTMuNSUpICFkZWZhdWx0OyAgICAgICAgIC8vICNlZWVlZWVcblxuJGJyYW5kLXByaW1hcnkgICA6ICMwMGE4NmEgIWRlZmF1bHQ7XG4kYnJhbmQtc3VjY2VzcyAgIDogIzRiYmU2OSAhZGVmYXVsdDtcbiRicmFuZC1pbmZvICAgICAgOiAjNDc5N2ZhICFkZWZhdWx0O1xuJGJyYW5kLXdhcm5pbmcgICA6ICNmMGFkNGUgIWRlZmF1bHQ7XG4kYnJhbmQtZGFuZ2VyICAgIDogI2VlMWE0NyAhZGVmYXVsdDtcblxuXG4vLz09IFNjYWZmb2xkaW5nXG4vL1xuLy8jIyBTZXR0aW5ncyBmb3Igc29tZSBvZiB0aGUgbW9zdCBnbG9iYWwgc3R5bGVzLlxuXG4vLyoqIEJhY2tncm91bmQgY29sb3IgZm9yIGA8Ym9keT5gLlxuJGJvZHktYmc6ICAgICAgICAgICAgICAgI2ZmZmZmZiAhZGVmYXVsdDtcbi8vKiogR2xvYmFsIHRleHQgY29sb3Igb24gYDxib2R5PmAuXG4kdGV4dC1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBHbG9iYWwgdGV4dHVhbCBsaW5rIGNvbG9yLlxuJGxpbmstY29sb3I6ICAgICAgICAgICAgIzAwMDAwMCAhZGVmYXVsdDtcbi8vKiogTGluayBob3ZlciBjb2xvciBzZXQgdmlhIGBkYXJrZW4oKWAgZnVuY3Rpb24uXG4kbGluay1ob3Zlci1jb2xvcjogICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogTGluayBob3ZlciBkZWNvcmF0aW9uLlxuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuXG4vLz09IFR5cG9ncmFwaHlcbi8vXG4vLyMjIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogJ1Rla28nLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgICdQb3BwaW5zJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vKiogRGVmYXVsdCBtb25vc3BhY2UgZm9udHMgZm9yIGA8Y29kZT5gLCBgPGtiZD5gLCBhbmQgYDxwcmU+YC5cbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgXCJtYW5pZm9sZF9jZmJvbGRcIixzYW5zLXNlcmlmLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICdtYW5pZm9sZF9jZmxpZ2h0Jywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sYXJnZTogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxKSkgIWRlZmF1bHQ7IC8vIH4xOHB4XG4kZm9udC1zaXplLXNtYWxsOiAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDAuNzUpKSAhZGVmYXVsdDsgLy8gfjEycHhcblxuJGZvbnQtc2l6ZS1oMTogICAgICAgICAgICAzNnB4ICFkZWZhdWx0OyAvLyB+MzZweFxuJGZvbnQtc2l6ZS1oMjogICAgICAgICAgICAzMHB4ICFkZWZhdWx0OyAvLyB+MzBweFxuJGZvbnQtc2l6ZS1oMzogICAgICAgICAgICAyNHB4ICFkZWZhdWx0OyAvLyB+MjRweFxuJGZvbnQtc2l6ZS1oNDogICAgICAgICAgICAyMnB4ICFkZWZhdWx0OyAvLyB+MThweFxuJGZvbnQtc2l6ZS1oNTogICAgICAgICAgICAyMHB4ICFkZWZhdWx0OyBcbiRmb250LXNpemUtaDY6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICsgMiAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2VcdDogNDAwICFkZWZhdWx0O1xuLy8qKiBVbml0LWxlc3MgYGxpbmUtaGVpZ2h0YCBmb3IgdXNlIGluIGNvbXBvbmVudHMgbGlrZSBidXR0b25zLlxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAxLjggIWRlZmF1bHQ7IFxuLy8qKiBDb21wdXRlZCBcImxpbmUtaGVpZ2h0XCIgKGBmb250LXNpemVgICogYGxpbmUtaGVpZ2h0YCkgZm9yIHVzZSB3aXRoIGBtYXJnaW5gLCBgcGFkZGluZ2AsIGV0Yy5cbiRsaW5lLWhlaWdodC1jb21wdXRlZDogICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlKSkgIWRlZmF1bHQ7IC8vIH4yMHB4XG5cbi8vKiogQnkgZGVmYXVsdCwgdGhpcyBpbmhlcml0cyBmcm9tIHRoZSBgPGJvZHk+YC5cbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vKiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgIDcwMCAhZGVmYXVsdDsgKi9cbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgNDAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAxLjQgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICRncmF5LWRhcmtlciAhZGVmYXVsdDtcblxuXG4vLz09IEljb25vZ3JhcGh5XG4vL1xuLy8jIyBTcGVjaWZ5IGN1c3RvbSBsb2NhdGlvbiBhbmQgZmlsZW5hbWUgb2YgdGhlIGluY2x1ZGVkIEdseXBoaWNvbnMgaWNvbiBmb250LiBVc2VmdWwgZm9yIHRob3NlIGluY2x1ZGluZyBCb290c3RyYXAgdmlhIEJvd2VyLlxuXG4vLyoqIExvYWQgZm9udHMgZnJvbSB0aGlzIGRpcmVjdG9yeS5cblxuLy8gW2NvbnZlcnRlcl0gSWYgJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciBpZiB1c2VkLCBwcm92aWRlIHBhdGggcmVsYXRpdmUgdG8gdGhlIGFzc2V0cyBsb2FkIHBhdGguXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGJlY2F1c2Ugc29tZSBhc3NldCBoZWxwZXJzLCBzdWNoIGFzIFNwcm9ja2V0cywgZG8gbm90IHdvcmsgd2l0aCBmaWxlLXJlbGF0aXZlIHBhdGhzLlxuJGljb24tZm9udC1wYXRoOiBpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCBcImJvb3RzdHJhcC9cIiwgXCIuLi9mb250cy9ib290c3RyYXAvXCIpICFkZWZhdWx0O1xuXG4vLyoqIEZpbGUgbmFtZSBmb3IgYWxsIGZvbnQgZmlsZXMuXG4kaWNvbi1mb250LW5hbWU6ICAgICAgICAgIFwiZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhclwiICFkZWZhdWx0O1xuLy8qKiBFbGVtZW50IElEIHdpdGhpbiBTVkcgaWNvbiBmaWxlLlxuJGljb24tZm9udC1zdmctaWQ6ICAgICAgICBcImdseXBoaWNvbnNfaGFsZmxpbmdzcmVndWxhclwiICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29tcG9uZW50c1xuLy9cbi8vIyMgRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLiBWYWx1ZXMgYmFzZWQgb24gMTRweCB0ZXh0IGFuZCAxLjQyOCBsaW5lLWhlaWdodCAofjIwcHggdG8gc3RhcnQpLlxuXG4kcGFkZGluZy1iYXNlLXZlcnRpY2FsOiAgICAgOHB4ICFkZWZhdWx0O1xuJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsOiAgIDIwcHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOiAgICAxNXB4ICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDogIDIwcHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOiAgICAxMHB4ICFkZWZhdWx0O1xuJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDogIDIwcHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXhzLXZlcnRpY2FsOiAgICAgICA3cHggIWRlZmF1bHQ7XG4kcGFkZGluZy14cy1ob3Jpem9udGFsOiAgICAgMTBweCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWxhcmdlOiAgICAgICAgIDEuOCAhZGVmYXVsdDsgLy8gZXh0cmEgZGVjaW1hbHMgZm9yIFdpbiA4LjEgQ2hyb21lXG4kbGluZS1oZWlnaHQtc21hbGw6ICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgNHB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgIDhweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICAwcHggIWRlZmF1bHQ7XG5cbi8vKiogR2xvYmFsIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBHbG9iYWwgYmFja2dyb3VuZCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vKiogV2lkdGggb2YgdGhlIGBib3JkZXJgIGZvciBnZW5lcmF0aW5nIGNhcmV0cyB0aGF0IGluZGljYXRvciBkcm9wZG93bnMuXG4kY2FyZXQtd2lkdGgtYmFzZTogICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBDYXJldHMgaW5jcmVhc2Ugc2xpZ2h0bHkgaW4gc2l6ZSBmb3IgbGFyZ2VyIGNvbXBvbmVudHMuXG4kY2FyZXQtd2lkdGgtbGFyZ2U6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gVGFibGVzXG4vL1xuLy8jIyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbi8vKiogUGFkZGluZyBmb3IgYDx0aD5gcyBhbmQgYDx0ZD5gcy5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGZvciBjZWxscyBpbiBgLnRhYmxlLWNvbmRlbnNlZGAuXG4kdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZzogIDVweCAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYWxsIHRhYmxlcy5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYC50YWJsZS1zdHJpcGVkYC5cbiR0YWJsZS1iZy1hY2NlbnQ6ICAgICAgICAgICAgICAgI2Y5ZjlmOSAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLWhvdmVyYC5cbiR0YWJsZS1iZy1ob3ZlcjogICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiR0YWJsZS1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgJHRhYmxlLWJnLWhvdmVyICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGFibGUgYW5kIGNlbGwgYm9yZGVycy5cbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09IEJ1dHRvbnNcbi8vXG4vLyMjIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIDUwMCAhZGVmYXVsdDtcblxuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuJGJ0bi1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1iZzogICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJvcmRlcjogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRidG4tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXN1Y2Nlc3MtYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRidG4taW5mby1iZzogICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJvcmRlcjogICAgICAgICAgICAgICAgZGFya2VuKCRidG4taW5mby1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi13YXJuaW5nLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICAgIGRhcmtlbigkYnRuLWRhbmdlci1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICAgOHB4ICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgIDBweCAhZGVmYXVsdDtcblxuXG4vLz09IEZvcm1zXG4vL1xuLy8jI1xuXG4vLyoqIGA8aW5wdXQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0IGRpc2FibGVkPmAgYmFja2dyb3VuZCBjb2xvclxuJGlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBgPGlucHV0PmBzXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAjMDAwICAhZGVmYXVsdDtcbi8vKiogYDxpbnB1dD5gIGJvcmRlciBjb2xvclxuJGlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgI2ViZWJlYiAhZGVmYXVsdDtcblxuLy8gVE9ETzogUmVuYW1lIGAkaW5wdXQtYm9yZGVyLXJhZGl1c2AgdG8gYCRpbnB1dC1ib3JkZXItcmFkaXVzLWJhc2VgIGluIHY0XG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbi8vIFRoaXMgaGFzIG5vIGVmZmVjdCBvbiBgPHNlbGVjdD5gcyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICRib3JkZXItcmFkaXVzLWxhcmdlICFkZWZhdWx0O1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgJGJvcmRlci1yYWRpdXMtc21hbGwgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBpbnB1dHMgb24gZm9jdXNcbiRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyoqIFBsYWNlaG9sZGVyIHRleHQgY29sb3JcbiRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjogICAgICAgICMwMDAgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LWxhcmdlOiAgICAgICAgICAgICAoY2VpbCgkZm9udC1zaXplLWxhcmdlICogJGxpbmUtaGVpZ2h0LWxhcmdlKSArICgkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG4vLyoqIFNtYWxsIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtc21hbGw6ICAgICAgICAgICAgIChmbG9vcigkZm9udC1zaXplLXNtYWxsICogJGxpbmUtaGVpZ2h0LXNtYWxsKSArICgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG5cbi8vKiogYC5mb3JtLWdyb3VwYCBtYXJnaW5cbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgIDEwcHggIWRlZmF1bHQ7XG5cbiRsZWdlbmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kbGVnZW5kLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZTVlNWU1ICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBCb3JkZXIgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLyoqIERpc2FibGVkIGN1cnNvciBmb3IgZm9ybSBjb250cm9scyBhbmQgYnV0dG9ucy5cbiRjdXJzb3ItZGlzYWJsZWQ6ICAgICAgICAgICAgICAgIG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG5cbi8vPT0gRHJvcGRvd25zXG4vL1xuLy8jIyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbi8vKiogQmFja2dyb3VuZCBmb3IgdGhlIGRyb3Bkb3duIG1lbnUuXG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBEcm9wZG93biBtZW51IGBib3JkZXItY29sb3JgLlxuJGRyb3Bkb3duLWJvcmRlcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMTUpICFkZWZhdWx0O1xuLy8qKiBEcm9wZG93biBtZW51IGBib3JkZXItY29sb3JgICoqZm9yIElFOCoqLlxuJGRyb3Bkb3duLWZhbGxiYWNrLWJvcmRlcjogICAgICAgI2NjYyAhZGVmYXVsdDtcbi8vKiogRGl2aWRlciBjb2xvciBmb3IgYmV0d2VlbiBkcm9wZG93biBpdGVtcy5cbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiogRHJvcGRvd24gbGluayB0ZXh0IGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbi8vKiogSG92ZXIgY29sb3IgZm9yIGRyb3Bkb3duIGxpbmtzLlxuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRncmF5LWRhcmssIDUlKSAhZGVmYXVsdDtcbi8vKiogSG92ZXIgYmFja2dyb3VuZCBmb3IgZHJvcGRvd24gbGlua3MuXG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gdGV4dCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBBY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuLy8qKiBEaXNhYmxlZCBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3IgZm9yIGhlYWRlcnMgd2l0aGluIGRyb3Bkb3duIG1lbnVzLlxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogRGVwcmVjYXRlZCBgJGRyb3Bkb3duLWNhcmV0LWNvbG9yYCBhcyBvZiB2My4xLjBcbiRkcm9wZG93bi1jYXJldC1jb2xvcjogICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG5cblxuLy8tLSBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG4vL1xuLy8gTm90ZTogVGhlc2UgdmFyaWFibGVzIGFyZSBub3QgZ2VuZXJhdGVkIGludG8gdGhlIEN1c3RvbWl6ZXIuXG5cbiR6aW5kZXgtbmF2YmFyOiAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LW5hdmJhci1maXhlZDogICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZ3JvdW5kOiAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgIDEwNTAwICFkZWZhdWx0O1xuXG5cbi8vPT0gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBicmVha3BvaW50cyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSwgYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gRXh0cmEgc21hbGwgc2NyZWVuIC8gcGhvbmVcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14c2AgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXhzOiAgICAgICAgICAgICAgICAgIDQ4MHB4ICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXhzLW1pbmAgYXMgb2YgdjMuMi4wXG4kc2NyZWVuLXhzLW1pbjogICAgICAgICAgICAgICRzY3JlZW4teHMgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tcGhvbmVgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1waG9uZTogICAgICAgICAgICAgICAkc2NyZWVuLXhzLW1pbiAhZGVmYXVsdDtcblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tc21gIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1zbTogICAgICAgICAgICAgICAgICA3NjhweCAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1zbSAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi10YWJsZXRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi10YWJsZXQ6ICAgICAgICAgICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3Bcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1tZGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLW1kOiAgICAgICAgICAgICAgICAgIDk5MnB4ICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1taW46ICAgICAgICAgICAgICAkc2NyZWVuLW1kICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1kZXNrdG9wOiAgICAgICAgICAgICAkc2NyZWVuLW1kLW1pbiAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGdgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZzogICAgICAgICAgICAgICAgICAxMjAwcHggIWRlZmF1bHQ7XG4kc2NyZWVuLWxnLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbGcgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGctZGVza3RvcGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWxnLWRlc2t0b3A6ICAgICAgICAgICRzY3JlZW4tbGctbWluICFkZWZhdWx0O1xuXG4vLyBTbyBtZWRpYSBxdWVyaWVzIGRvbid0IG92ZXJsYXAgd2hlbiByZXF1aXJlZCwgcHJvdmlkZSBhIG1heGltdW1cbiRzY3JlZW4teHMtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tc20tbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLW1kLW1pbiAtIDEpICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1sZy1taW4gLSAxKSAhZGVmYXVsdDtcblxuLy89PSBHcmlkIHN5c3RlbVxuLy9cbi8vIyMgRGVmaW5lIHlvdXIgY3VzdG9tIHJlc3BvbnNpdmUgZ3JpZC5cblxuLy8qKiBOdW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBiZXR3ZWVuIGNvbHVtbnMuIEdldHMgZGl2aWRlZCBpbiBoYWxmIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQuXG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgMjBweCAhZGVmYXVsdDtcbi8vIE5hdmJhciBjb2xsYXBzZVxuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlY29tZXMgdW5jb2xsYXBzZWQuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50OiAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVnaW5zIGNvbGxhcHNpbmcuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heDogKCRncmlkLWZsb2F0LWJyZWFrcG9pbnQgLSAxKSAhZGVmYXVsdDtcblxuXG4vLz09IENvbnRhaW5lciBzaXplc1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8jIyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbiRjb250YWluZXItdGFibGV0OiAgICAgICAgICAgICAoKDczOHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1zbS1taW5gIGFuZCB1cC5cbiRjb250YWluZXItc206ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLXRhYmxldCAhZGVmYXVsdDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3BcbiRjb250YWluZXItZGVza3RvcDogICAgICAgICAgICAoKDk2MnB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1tZC1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbWQ6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wOiAgICAgICgoMTE3MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSApICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tbGctbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLWxnOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wICFkZWZhdWx0O1xuXG5cblxuLy89PSBOYXZiYXJcbi8vXG4vLyMjXG5cbi8vIEJhc2ljcyBvZiBhIG5hdmJhclxuJG5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAoKCRuYXZiYXItaGVpZ2h0IC0gJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKSAvIDIpICFkZWZhdWx0O1xuJG5hdmJhci1jb2xsYXBzZS1tYXgtaGVpZ2h0OiAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuJG5hdmJhci1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAjZjhmOGY4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGxpbmtzXG4kbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgIzc3NyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgI2NjYyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvciwgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgIzg4OCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT09IEludmVydGVkIG5hdmJhclxuLy8gUmVzZXQgaW52ZXJ0ZWQgbmF2YmFyIGJhc2ljc1xuJG5hdmJhci1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWxpZ2h0LCAxNSUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAjMjIyICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgbGlua3NcbiRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1saWdodCwgMTUlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gTmF2c1xuLy9cbi8vIyNcblxuLy89PT0gU2hhcmVkIG5hdiBzdHlsZXNcbiRuYXYtbGluay1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAxNXB4ICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vPT0gVGFic1xuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgJGdyYXktZGFya2VyICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I6ICAgICAkYm9keS1iZyAhZGVmYXVsdDtcblxuLy89PSBQaWxsc1xuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy89PSBQYWdpbmF0aW9uXG4vL1xuLy8jI1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI6ICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09IFBhZ2VyXG4vL1xuLy8jI1xuXG4kcGFnZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1iZyAhZGVmYXVsdDtcbiRwYWdlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJvcmRlciAhZGVmYXVsdDtcbiRwYWdlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbiRwYWdlci1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kcGFnZXItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnZXItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cbiRwYWdlci1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vPT0gSnVtYm90cm9uXG4vL1xuLy8jI1xuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWhlYWRpbmctY29sb3I6ICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1mb250LXNpemU6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS41KSkgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWhlYWRpbmctZm9udC1zaXplOiAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiA0LjUpKSAhZGVmYXVsdDtcblxuXG4vLz09IEZvcm0gc3RhdGVzIGFuZCBhbGVydHNcbi8vXG4vLyMjIERlZmluZSBjb2xvcnMgZm9yIGZvcm0gZmVlZGJhY2sgc3RhdGVzIGFuZCwgYnkgZGVmYXVsdCwgYWxlcnRzLlxuXG4kc3RhdGUtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAgICAjM2M3NjNkICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgI2RmZjBkOCAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1zdWNjZXNzLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1pbmZvLXRleHQ6ICAgICAgICAgICAgICAgICMzMTcwOGYgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1iZzogICAgICAgICAgICAgICAgICAjZDllZGY3ICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLWluZm8tYmcsIC0xMCksIDclKSAhZGVmYXVsdDtcblxuJHN0YXRlLXdhcm5pbmctdGV4dDogICAgICAgICAgICAgIzhhNmQzYiAhZGVmYXVsdDtcbiRzdGF0ZS13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICNmMGM3M2IgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtd2FybmluZy1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAgICAjYTk0NDQyICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1iZzogICAgICAgICAgICAgICAgI2U5MzQzNCAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1kYW5nZXItYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuXG4vLz09IFRvb2x0aXBzXG4vL1xuLy8jI1xuXG4vLyoqIFRvb2x0aXAgbWF4IHdpZHRoXG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCB0ZXh0IGNvbG9yXG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIGJhY2tncm91bmQgY29sb3JcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcblxuLy8qKiBUb29sdGlwIGFycm93IHdpZHRoXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICA1cHggIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgYXJyb3cgY29sb3JcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG5cbi8vPT0gUG9wb3ZlcnNcbi8vXG4vLyMjXG5cbi8vKiogUG9wb3ZlciBib2R5IGJhY2tncm91bmQgY29sb3JcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBtYXhpbXVtIHdpZHRoXG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGJvcmRlciBjb2xvclxuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBmYWxsYmFjayBib3JkZXIgY29sb3JcbiRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgI2NjYyAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIHRpdGxlIGJhY2tncm91bmQgY29sb3JcbiRwb3BvdmVyLXRpdGxlLWJnOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciBhcnJvdyB3aWR0aFxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGFycm93IGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgd2lkdGhcbiRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoOiAgICAgICAgICAgKCRwb3BvdmVyLWFycm93LXdpZHRoICsgMSkgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgICAgZmFkZV9pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIDAuMDUpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGZhbGxiYWNrIGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjogIGRhcmtlbigkcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG5cblxuLy89PSBMYWJlbHNcbi8vXG4vLyMjXG5cbi8vKiogRGVmYXVsdCBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtZGVmYXVsdC1iZzogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogUHJpbWFyeSBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtcHJpbWFyeS1iZzogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogU3VjY2VzcyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtc3VjY2Vzcy1iZzogICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbi8vKiogSW5mbyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtaW5mby1iZzogICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbi8vKiogV2FybmluZyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtd2FybmluZy1iZzogICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbi8vKiogRGFuZ2VyIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1kYW5nZXItYmc6ICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBsYWJlbCB0ZXh0IGNvbG9yXG4kbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuLy8qKiBEZWZhdWx0IHRleHQgY29sb3Igb2YgYSBsaW5rZWQgbGFiZWxcbiRsYWJlbC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG5cbi8vPT0gTW9kYWxzXG4vL1xuLy8jI1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMzBweCAhZGVmYXVsdDtcblxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIHRpdGxlXG4kbW9kYWwtdGl0bGUtcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCB0aXRsZSBsaW5lLWhlaWdodFxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBjb250ZW50IGFyZWFcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3JcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yICoqZm9yIElFOCoqXG4kbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICAgICM5OTkgIWRlZmF1bHQ7XG5cbi8vKiogTW9kYWwgYmFja2Ryb3AgYmFja2dyb3VuZCBjb2xvclxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbi8vKiogTW9kYWwgYmFja2Ryb3Agb3BhY2l0eVxuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgLjUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGhlYWRlciBib3JkZXIgY29sb3JcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICNlNWU1ZTUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGZvb3RlciBib3JkZXIgY29sb3JcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBBbGVydHNcbi8vXG4vLyMjIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZzogICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgIGJvbGQgIWRlZmF1bHQ7XG5cbiRhbGVydC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWluZm8tYmc6ICAgICAgICAgICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtd2FybmluZy1iZzogICAgICAgICAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1kYW5nZXItYmc6ICAgICAgICAgICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLz09IFByb2dyZXNzIGJhcnNcbi8vXG4vLyMjXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgd2hvbGUgcHJvZ3Jlc3MgY29tcG9uZW50XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBQcm9ncmVzcyBiYXIgdGV4dCBjb2xvclxuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVmFyaWFibGUgZm9yIHNldHRpbmcgcm91bmRlZCBjb3JuZXJzIG9uIHByb2dyZXNzIGJhci5cbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBTdWNjZXNzIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1zdWNjZXNzLWJnOiAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyoqIFdhcm5pbmcgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmc6ICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbi8vKiogRGFuZ2VyIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1kYW5nZXItYmc6ICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcbi8vKiogSW5mbyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItaW5mby1iZzogICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuXG5cbi8vPT0gTGlzdCBncm91cFxuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9uIGAubGlzdC1ncm91cC1pdGVtYFxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgLmxpc3QtZ3JvdXAtaXRlbWAgYm9yZGVyIGNvbG9yXG4kbGlzdC1ncm91cC1ib3JkZXI6ICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4vLyoqIExpc3QgZ3JvdXAgYm9yZGVyIHJhZGl1c1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2Ygc2luZ2xlIGxpc3QgaXRlbXMgb24gaG92ZXJcbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vKiogQm9yZGVyIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGVsZW1lbnRzXG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyOiAgICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yOiAgbGlnaHRlbigkbGlzdC1ncm91cC1hY3RpdmUtYmcsIDQwJSkgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtbGluay1jb2xvcjogICAgICAgICAjNTU1ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjogICAkbGlzdC1ncm91cC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFuZWxzXG4vL1xuLy8jI1xuXG4kcGFuZWwtYmc6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhbmVsLWJvZHktcGFkZGluZzogICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRwYW5lbC1oZWFkaW5nLXBhZGRpbmc6ICAgICAgIDE1cHggMjBweCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItcGFkZGluZzogICAgICAgICRwYW5lbC1oZWFkaW5nLXBhZGRpbmcgIWRlZmF1bHQ7XG4kcGFuZWwtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgZWxlbWVudHMgd2l0aGluIHBhbmVsc1xuJHBhbmVsLWlubmVyLWJvcmRlcjogICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcGFuZWwtZm9vdGVyLWJnOiAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4kcGFuZWwtZGVmYXVsdC10ZXh0OiAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgI2VkZWRlZCAhZGVmYXVsdDtcbiRwYW5lbC1kZWZhdWx0LWhlYWRpbmctYmc6ICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRwYW5lbC1wcmltYXJ5LXRleHQ6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFuZWwtcHJpbWFyeS1ib3JkZXI6ICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYW5lbC1wcmltYXJ5LWhlYWRpbmctYmc6ICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFuZWwtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLXN1Y2Nlc3MtaGVhZGluZy1iZzogICAgJHN0YXRlLXN1Y2Nlc3MtYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC1pbmZvLXRleHQ6ICAgICAgICAgICAgICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtaW5mby1ib3JkZXI6ICAgICAgICAgICAkc3RhdGUtaW5mby1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtaW5mby1oZWFkaW5nLWJnOiAgICAgICAkc3RhdGUtaW5mby1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLXdhcm5pbmctdGV4dDogICAgICAgICAgJHN0YXRlLXdhcm5pbmctdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC13YXJuaW5nLWJvcmRlcjogICAgICAgICRzdGF0ZS13YXJuaW5nLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC13YXJuaW5nLWhlYWRpbmctYmc6ICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1kYW5nZXItaGVhZGluZy1iZzogICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG5cblxuLy89PSBUaHVtYm5haWxzXG4vL1xuLy8jI1xuXG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgaW1hZ2VcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgIDRweCAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJhY2tncm91bmQgY29sb3JcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYm9yZGVyIGNvbG9yXG4kdGh1bWJuYWlsLWJvcmRlcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYm9yZGVyIHJhZGl1c1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBDdXN0b20gdGV4dCBjb2xvciBmb3IgdGh1bWJuYWlsIGNhcHRpb25zXG4kdGh1bWJuYWlsLWNhcHRpb24tY29sb3I6ICAgICAkdGV4dC1jb2xvciAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBjYXB0aW9uXG4kdGh1bWJuYWlsLWNhcHRpb24tcGFkZGluZzogICA5cHggIWRlZmF1bHQ7XG5cblxuLy89PSBXZWxsc1xuLy9cbi8vIyNcblxuJHdlbGwtYmc6ICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiR3ZWxsLWJvcmRlcjogICAgICAgICAgICAgICAgIGRhcmtlbigkd2VsbC1iZywgNyUpICFkZWZhdWx0O1xuXG5cbi8vPT0gQmFkZ2VzXG4vL1xuLy8jI1xuXG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBMaW5rZWQgYmFkZ2UgdGV4dCBjb2xvciBvbiBob3ZlclxuJGJhZGdlLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRiYWRnZS1iZzogICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIEJhZGdlIHRleHQgY29sb3IgaW4gYWN0aXZlIG5hdiBsaW5rXG4kYmFkZ2UtYWN0aXZlLWNvbG9yOiAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbi8vKiogQmFkZ2UgYmFja2dyb3VuZCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcbiRiYWRnZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAxICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgMTBweCAhZGVmYXVsdDtcblxuXG4vLz09IEJyZWFkY3J1bWJzXG4vL1xuLy8jI1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXZlcnRpY2FsOiAgIDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLWhvcml6b250YWw6IDAgIWRlZmF1bHQ7XG4vLyoqIEJyZWFkY3J1bWIgYmFja2dyb3VuZCBjb2xvclxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vKiogQnJlYWRjcnVtYiB0ZXh0IGNvbG9yXG4kYnJlYWRjcnVtYi1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3Igb2YgY3VycmVudCBwYWdlIGluIHRoZSBicmVhZGNydW1iXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBUZXh0dWFsIHNlcGFyYXRvciBmb3IgYmV0d2VlbiBicmVhZGNydW1iIGVsZW1lbnRzXG4kYnJlYWRjcnVtYi1zZXBhcmF0b3I6ICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuXG5cbi8vPT0gQ2Fyb3VzZWxcbi8vXG4vLyMjXG5cbiRjYXJvdXNlbC10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgwLDAsMCwuNikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDM1cHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgMTFweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgI2VkZWRlZCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cblxuLy89PSBDbG9zZVxuLy9cbi8vIyNcblxuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAwIDFweCAwICNmZmYgIWRlZmF1bHQ7XG5cblxuLy89PSBDb2RlXG4vL1xuLy8jI1xuXG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAjYzcyNTRlICFkZWZhdWx0O1xuJGNvZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgI2Y5ZjJmNCAhZGVmYXVsdDtcblxuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG5cbiRwcmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHByZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gVHlwZVxuLy9cbi8vIyNcblxuLy8qKiBIb3Jpem9udGFsIG9mZnNldCBmb3IgZm9ybXMgYW5kIGxpc3RzLlxuJGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbDogMTgwcHggIWRlZmF1bHQ7XG4vLyoqIFRleHQgbXV0ZWQgY29sb3JcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBBYmJyZXZpYXRpb25zIGFuZCBhY3JvbnltcyBib3JkZXIgY29sb3JcbiRhYmJyLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBIZWFkaW5ncyBzbWFsbCBjb2xvclxuJGhlYWRpbmdzLXNtYWxsLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgc21hbGwgY29sb3JcbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LWRhcmtlciAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBmb250IHNpemVcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgIDI0cHggIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgYm9yZGVyIGNvbG9yXG4kYmxvY2txdW90ZS1ib3JkZXItY29sb3I6ICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogUGFnZSBoZWFkZXIgYm9yZGVyIGNvbG9yXG4kcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBXaWR0aCBvZiBob3Jpem9udGFsIGRlc2NyaXB0aW9uIGxpc3QgdGl0bGVzXG4kZGwtaG9yaXpvbnRhbC1vZmZzZXQ6ICAgICAgICAkY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsICFkZWZhdWx0O1xuLy8qKiBIb3Jpem9udGFsIGxpbmUgY29sb3IuXG4kaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuIiwiLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJtaXhpbnMvaGlkZS10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL29wYWNpdHlcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGFiZWxzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LWZpbHRlclwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzcG9uc2l2ZS12aXNpYmlsaXR5XCI7XG5AaW1wb3J0IFwibWl4aW5zL3NpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFiLWZvY3VzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1lbXBoYXNpc1wiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LW92ZXJmbG93XCI7XG5AaW1wb3J0IFwibWl4aW5zL3ZlbmRvci1wcmVmaXhlc1wiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0c1wiO1xuQGltcG9ydCBcIm1peGlucy9idXR0b25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3BhbmVsc1wiO1xuQGltcG9ydCBcIm1peGlucy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbmF2LWRpdmlkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZm9ybXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcHJvZ3Jlc3MtYmFyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuXG4vLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmFkaWVudHNcIjtcblxuLy8gTGF5b3V0XG5AaW1wb3J0IFwibWl4aW5zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwibWl4aW5zL2NlbnRlci1ibG9ja1wiO1xuQGltcG9ydCBcIm1peGlucy9uYXYtdmVydGljYWwtYWxpZ25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZC1mcmFtZXdvcmtcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZFwiO1xuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG4vL1xuLy8gSGVhZHMgdXAhIHYzIGxhdW5jaGVkIHdpdGggb25seSBgLmhpZGUtdGV4dCgpYCwgYnV0IHBlciBvdXIgcGF0dGVybiBmb3Jcbi8vIG1peGlucyBiZWluZyByZXVzZWQgYXMgY2xhc3NlcyB3aXRoIHRoZSBzYW1lIG5hbWUsIHRoaXMgZG9lc24ndCBob2xkIHVwLiBBc1xuLy8gb2YgdjMuMC4xIHdlIGhhdmUgYWRkZWQgYC50ZXh0LWhpZGUoKWAgYW5kIGRlcHJlY2F0ZWQgYC5oaWRlLXRleHQoKWAuXG4vL1xuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9jb21taXQvYWEwMzk2ZWFlNzU3XG5cbi8vIERlcHJlY2F0ZWQgYXMgb2YgdjMuMC4xICh3aWxsIGJlIHJlbW92ZWQgaW4gdjQpXG5AbWl4aW4gaGlkZS10ZXh0KCkge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gTmV3IG1peGluIHRvIHVzZSBhcyBvZiB2My4wLjFcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIEBpbmNsdWRlIGhpZGUtdGV4dDtcbn1cbiIsIi8vIE9wYWNpdHlcblxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIC8vIElFOCBmaWx0ZXJcbiAgJG9wYWNpdHktaWU6ICgkb3BhY2l0eSAqIDEwMCk7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0kb3BhY2l0eS1pZSk7XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cbkBtaXhpbiBpbWctcmVzcG9uc2l2ZSgkZGlzcGxheTogYmxvY2spIHtcbiAgZGlzcGxheTogJGRpc3BsYXk7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgaGVpZ2h0OiBhdXRvOyAvLyBQYXJ0IDI6IFNjYWxlIHRoZSBoZWlnaHQgYWNjb3JkaW5nIHRvIHRoZSB3aWR0aCwgb3RoZXJ3aXNlIHlvdSBnZXQgc3RyZXRjaGluZ1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS4gTm90ZSB0aGF0IHRoZVxuLy8gc3BlbGxpbmcgb2YgYG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpb2AgaXMgaW50ZW50aW9uYWwuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1pbWFnZS1wYXRoKFwiI3skZmlsZS0xeH1cIiksIFwiI3skZmlsZS0xeH1cIikpO1xuXG4gIEBtZWRpYVxuICBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWltYWdlLXBhdGgoXCIjeyRmaWxlLTJ4fVwiKSwgXCIjeyRmaWxlLTJ4fVwiKSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxufVxuIiwiLy8gTGFiZWxzXG5cbkBtaXhpbiBsYWJlbC12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgJltocmVmXSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSZXNldCBmaWx0ZXJzIGZvciBJRVxuLy9cbi8vIFdoZW4geW91IG5lZWQgdG8gcmVtb3ZlIGEgZ3JhZGllbnQgYmFja2dyb3VuZCwgZG8gbm90IGZvcmdldCB0byB1c2UgdGhpcyB0byByZXNldFxuLy8gdGhlIElFIGZpbHRlciBmb3IgSUU5IGFuZCBiZWxvdy5cblxuQG1peGluIHJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtcbn1cbiIsIi8vIFJlc2l6ZSBhbnl0aGluZ1xuXG5AbWl4aW4gcmVzaXphYmxlKCRkaXJlY3Rpb24pIHtcbiAgcmVzaXplOiAkZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxuICBvdmVyZmxvdzogYXV0bzsgLy8gUGVyIENTUzMgVUksIGByZXNpemVgIG9ubHkgYXBwbGllcyB3aGVuIGBvdmVyZmxvd2AgaXNuJ3QgYHZpc2libGVgXG59XG4iLCIvLyBSZXNwb25zaXZlIHV0aWxpdGllc1xuXG4vL1xuLy8gTW9yZSBlYXNpbHkgaW5jbHVkZSBhbGwgdGhlIHN0YXRlcyBmb3IgcmVzcG9uc2l2ZS11dGlsaXRpZXMubGVzcy5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgkcGFyZW50KSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGFibGUjeyRwYXJlbnR9ICB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdHIjeyRwYXJlbnR9ICAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRoI3skcGFyZW50fSxcbiAgdGQjeyRwYXJlbnR9ICAgICB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxufVxuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiByZXNwb25zaXZlLWludmlzaWJpbGl0eSgkcGFyZW50KSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gU2l6aW5nIHNob3J0Y3V0c1xuXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQpIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xufVxuXG5AbWl4aW4gc3F1YXJlKCRzaXplKSB7XG4gIEBpbmNsdWRlIHNpemUoJHNpemUsICRzaXplKTtcbn1cbiIsIi8vIFdlYktpdC1zdHlsZSBmb2N1c1xuXG5AbWl4aW4gdGFiLWZvY3VzKCkge1xuICAvLyBEZWZhdWx0XG4gIG91dGxpbmU6IG5vbmU7XG4gIC8vIFdlYktpdFxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLCIvLyBUeXBvZ3JhcGh5XG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuICBhI3skcGFyZW50fTpob3ZlcixcbiAgYSN7JHBhcmVudH06Zm9jdXMge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBUZXh0IG92ZXJmbG93XG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LW92ZXJmbG93KCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIFZlbmRvciBQcmVmaXhlc1xuLy9cbi8vIEFsbCB2ZW5kb3IgbWl4aW5zIGFyZSBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBkdWUgdG8gdGhlIGludHJvZHVjdGlvbiBvZlxuLy8gQXV0b3ByZWZpeGVyIGluIG91ciBHcnVudGZpbGUuIFRoZXkgd2lsbCBiZSByZW1vdmVkIGluIHY0LlxuXG4vLyAtIEFuaW1hdGlvbnNcbi8vIC0gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gLSBCb3ggc2hhZG93XG4vLyAtIEJveCBzaXppbmdcbi8vIC0gQ29udGVudCBjb2x1bW5zXG4vLyAtIEh5cGhlbnNcbi8vIC0gUGxhY2Vob2xkZXIgdGV4dFxuLy8gLSBUcmFuc2Zvcm1hdGlvbnNcbi8vIC0gVHJhbnNpdGlvbnNcbi8vIC0gVXNlciBTZWxlY3RcblxuXG4vLyBBbmltYXRpb25zXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgLW8tYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogJG5hbWU7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJGRlbGF5KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkaXRlcmF0aW9uLWNvdW50KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGl0ZXJhdGlvbi1jb3VudDtcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xufVxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRmaWxsLW1vZGUpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbC1tb2RlO1xuICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG59XG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5gXG5cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KXtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbn1cblxuLy8gRHJvcCBzaGFkb3dzXG4vL1xuLy8gTm90ZTogRGVwcmVjYXRlZCBgLmJveC1zaGFkb3coKWAgYXMgb2YgdjMuMS4wIHNpbmNlIGFsbCBvZiBCb290c3RyYXAnc1xuLy8gc3VwcG9ydGVkIGJyb3dzZXJzIHRoYXQgaGF2ZSBib3ggc2hhZG93IGNhcGFiaWxpdGllcyBub3cgc3VwcG9ydCBpdC5cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7IC8vIGlPUyA8NC4zICYgQW5kcm9pZCA8NC4xXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuLy8gQm94IHNpemluZ1xuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkYm94bW9kZWw7XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG5AbWl4aW4gY29udGVudC1jb2x1bW5zKCRjb2x1bW4tY291bnQsICRjb2x1bW4tZ2FwOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgIC1tb3otY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbn1cblxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cbkBtaXhpbiBoeXBoZW5zKCRtb2RlOiBhdXRvKSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiAkbW9kZTtcbiAgICAgLW1vei1oeXBoZW5zOiAkbW9kZTtcbiAgICAgIC1tcy1oeXBoZW5zOiAkbW9kZTsgLy8gSUUxMCtcbiAgICAgICAtby1oeXBoZW5zOiAkbW9kZTtcbiAgICAgICAgICBoeXBoZW5zOiAkbW9kZTtcbn1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XG4gIC8vIEZpcmVmb3hcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAxOyAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNlxuICB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBJbnRlcm5ldCBFeHBsb3JlciAxMCtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgeyBjb2xvcjogJGNvbG9yOyB9IC8vIFNhZmFyaSBhbmQgQ2hyb21lXG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuQG1peGluIHNjYWxlKCRyYXRpby4uLikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbn1cblxuQG1peGluIHNjYWxlWCgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xufVxuQG1peGluIHNjYWxlWSgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xufVxuQG1peGluIHNrZXcoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cbkBtaXhpbiByb3RhdGUoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWCgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbikge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luOyAvLyBJRTkgb25seVxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG5cblxuLy8gVHJhbnNpdGlvbnNcblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCR0cmFuc2l0aW9uLXByb3BlcnR5Li4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xufVxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRyYW5zaXRpb24tZHVyYXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi10cmFuc2Zvcm0oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xufVxuXG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cbiIsIi8vIEFsZXJ0c1xuXG5AbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJHRleHQtY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCR0ZXh0LWNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMjUlKTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxNyUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDI1JSk7XG4gICAgfVxuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5iYWRnZSB7XG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuIiwiLy8gUGFuZWxzXG5cbkBtaXhpbiBwYW5lbC12YXJpYW50KCRib3JkZXIsICRoZWFkaW5nLXRleHQtY29sb3IsICRoZWFkaW5nLWJnLWNvbG9yLCAkaGVhZGluZy1ib3JkZXIpIHtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICYgPiAucGFuZWwtaGVhZGluZyB7XG4gICAgY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ib3JkZXI7XG5cbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICAgIC5iYWRnZSB7XG4gICAgICBjb2xvcjogJGhlYWRpbmctYmctY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmID4gLnBhbmVsLWZvb3RlciB7XG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gID4gbGkge1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJiwgYnV0dG9uJiB0byBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9XG4gIH1cblxuICBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICAgICYuYWN0aXZlLFxuICAgICYuYWN0aXZlOmhvdmVyLFxuICAgICYuYWN0aXZlOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICNlNWU1ZTUpIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAtIDEpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbn1cbiIsIi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG5AbWl4aW4gZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHRleHQtY29sb3I6ICM1NTUsICRib3JkZXItY29sb3I6ICNjY2MsICRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1KSB7XG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gIC5oZWxwLWJsb2NrLFxuICAuY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gICYucmFkaW8gbGFiZWwsXG4gICYuY2hlY2tib3ggbGFiZWwsXG4gICYucmFkaW8taW5saW5lIGxhYmVsLFxuICAmLmNoZWNrYm94LWlubGluZSBsYWJlbCAge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpOyAvLyBSZWRlY2xhcmUgc28gdHJhbnNpdGlvbnMgd29ya1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgICRzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oJGJvcmRlci1jb2xvciwgMjAlKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdyk7XG4gICAgfVxuICB9XG4gIC8vIFNldCB2YWxpZGF0aW9uIHN0YXRlcyBhbHNvIGZvciBhZGRvbnNcbiAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG4gIC8vIE9wdGlvbmFsIGZlZWRiYWNrIGljb25cbiAgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWJvcmRlci1mb2N1c2AgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoJGNvbG9yOiAkaW5wdXQtYm9yZGVyLWZvY3VzKSB7XG4gICRjb2xvci1yZ2JhOiByZ2JhKHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvciksIC42KTtcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBSZWxhdGl2ZSB0ZXh0IHNpemUsIHBhZGRpbmcsIGFuZCBib3JkZXItcmFkaWkgY2hhbmdlcyBmb3IgZm9ybSBjb250cm9scy4gRm9yXG4vLyBob3Jpem9udGFsIHNpemluZywgd3JhcCBjb250cm9scyBpbiB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuIGA8c2VsZWN0PmBcbi8vIGVsZW1lbnQgZ2V0cyBzcGVjaWFsIGxvdmUgYmVjYXVzZSBpdCdzIHNwZWNpYWwsIGFuZCB0aGF0J3MgYSBmYWN0IVxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gaW5wdXQtc2l6ZSgkcGFyZW50LCAkaW5wdXQtaGVpZ2h0LCAkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIHNlbGVjdCN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gIHRleHRhcmVhI3skcGFyZW50fSxcbiAgc2VsZWN0W211bHRpcGxlXSN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIiwiLy8gUHJvZ3Jlc3MgYmFyc1xuXG5AbWl4aW4gcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAvLyBEZXByZWNhdGVkIHBhcmVudCBjbGFzcyByZXF1aXJlbWVudCBhcyBvZiB2My4yLjBcbiAgLnByb2dyZXNzLXN0cmlwZWQgJiB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZDtcbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZSA+IHRoZWFkID4gdHIsXG4gIC50YWJsZSA+IHRib2R5ID4gdHIsXG4gIC50YWJsZSA+IHRmb290ID4gdHIge1xuICAgID4gdGQuI3skc3RhdGV9LFxuICAgID4gdGguI3skc3RhdGV9LFxuICAgICYuI3skc3RhdGV9ID4gdGQsXG4gICAgJi4jeyRzdGF0ZX0gPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyIHtcbiAgICA+IHRkLiN7JHN0YXRlfTpob3ZlcixcbiAgICA+IHRoLiN7JHN0YXRlfTpob3ZlcixcbiAgICAmLiN7JHN0YXRlfTpob3ZlciA+IHRkLFxuICAgICY6aG92ZXIgPiAuI3skc3RhdGV9LFxuICAgICYuI3skc3RhdGV9OmhvdmVyID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9OmhvdmVyLFxuICBhI3skcGFyZW50fTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuIiwiLy8gR3JhZGllbnRzXG5cblxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0xKTsgLy8gSUU5IGFuZCBkb3duXG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBPcGVyYSAxMlxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTApOyAvLyBJRTkgYW5kIGRvd25cbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG59XG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTEpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xufVxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAjNTU1LCAkb3V0ZXItY29sb3I6ICMzMzMpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8vIENsZWFyZml4XG4vL1xuLy8gRm9yIG1vZGVybiBicm93c2Vyc1xuLy8gMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbi8vICAgIGNvbnRlbnRlZGl0YWJsZSBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4vLyAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbi8vICAgIHRoYXQgYXJlIGNsZWFyZml4ZWQuXG4vLyAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuLy8gICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuLy9cbi8vIFNvdXJjZTogaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiOyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxuXG5AbWl4aW4gY2VudGVyLWJsb2NrKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbiIsIi8vIE5hdmJhciB2ZXJ0aWNhbCBhbGlnblxuLy9cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGVsZW1lbnRzIGluIHRoZSBuYXZiYXIuXG4vLyBFeGFtcGxlOiBhbiBlbGVtZW50IGhhcyBhIGhlaWdodCBvZiAzMHB4LCBzbyB3cml0ZSBvdXQgYC5uYXZiYXItdmVydGljYWwtYWxpZ24oMzBweCk7YCB0byBjYWxjdWxhdGUgdGhlIGFwcHJvcHJpYXRlIHRvcCBtYXJnaW4uXG5cbkBtaXhpbiBuYXZiYXItdmVydGljYWwtYWxpZ24oJGVsZW1lbnQtaGVpZ2h0KSB7XG4gIG1hcmdpbi10b3A6ICgoJG5hdmJhci1oZWlnaHQgLSAkZWxlbWVudC1oZWlnaHQpIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICgoJG5hdmJhci1oZWlnaHQgLSAkZWxlbWVudC1oZWlnaHQpIC8gMik7XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRpOiAxLCAkbGlzdDogXCIuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9XCIpIHtcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkbGlzdDogXCIjeyRsaXN0fSwgLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICAgIHBhZGRpbmctbGVmdDogIGNlaWwoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICB9XG59XG5cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBmbG9hdC1ncmlkLWNvbHVtbnMoJGNsYXNzLCAkaTogMSwgJGxpc3Q6IFwiLmNvbC0jeyRjbGFzc30tI3skaX1cIikge1xuICBAZm9yICRpIGZyb20gKDEgKyAxKSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICRsaXN0OiBcIiN7JGxpc3R9LCAuY29sLSN7JGNsYXNzfS0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5cbkBtaXhpbiBjYWxjLWdyaWQtY29sdW1uKCRpbmRleCwgJGNsYXNzLCAkdHlwZSkge1xuICBAaWYgKCR0eXBlID09IHdpZHRoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS0jeyRpbmRleH0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdXNoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLSN7JGluZGV4fSB7XG4gICAgICBsZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1c2gtMCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1bGwpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtI3skaW5kZXh9IHtcbiAgICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVsbCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtMCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBvZmZzZXQpIHtcbiAgICAuY29sLSN7JGNsYXNzfS1vZmZzZXQtI3skaW5kZXh9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gbG9vcC1ncmlkLWNvbHVtbnMoJGNvbHVtbnMsICRjbGFzcywgJHR5cGUpIHtcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgQGluY2x1ZGUgY2FsYy1ncmlkLWNvbHVtbigkaSwgJGNsYXNzLCAkdHlwZSk7XG4gIH1cbn1cblxuXG4vLyBDcmVhdGUgZ3JpZCBmb3Igc3BlY2lmaWMgY2xhc3NcbkBtaXhpbiBtYWtlLWdyaWQoJGNsYXNzKSB7XG4gIEBpbmNsdWRlIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHdpZHRoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdWxsKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdXNoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBvZmZzZXQpO1xufVxuIiwiLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG5AbWl4aW4gY29udGFpbmVyLWZpeGVkKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLy8gQ3JlYXRlcyBhIHdyYXBwZXIgZm9yIGEgc2VyaWVzIG9mIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgbWFyZ2luLWxlZnQ6ICBjZWlsKCgkZ3V0dGVyIC8gLTIpKTtcbiAgbWFyZ2luLXJpZ2h0OiBmbG9vcigoJGd1dHRlciAvIC0yKSk7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgZXh0cmEgc21hbGwgY29sdW1uc1xuQG1peGluIG1ha2UteHMtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgc21hbGwgY29sdW1uc1xuQG1peGluIG1ha2Utc20tY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbWVkaXVtIGNvbHVtbnNcbkBtaXhpbiBtYWtlLW1kLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIGxhcmdlIGNvbHVtbnNcbkBtaXhpbiBtYWtlLWxnLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbiIsIi8qKlxuICogSW1wb3J0IGNvbXBvbmVudCB2YXJpYWJsZXNcbiAqL1xuQGltcG9ydCAnbWl4aW5zL3J0bCc7IFxuQGltcG9ydCAnbWl4aW5zL2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICdtaXhpbnMvdGVtcGxhdGUtbWl4aW5zJzsiLCIvLyBTdXBwb3J0IGZvciBSVEwgKFJpZ2h0IHRvIExlZnQpICYgbm9uLWxhdGluIGZvbnRzXHJcblxyXG4kcnRsLWxlZnQgOiBsZWZ0O1xyXG4kcnRsLXJpZ2h0IDogcmlnaHQ7XHJcbiRydGwtY2VudGVyOiBjZW50ZXI7XHJcblxyXG4vLyBCQVNJQyBDT05WRVJURVIgKGlnbm9yZSB0aGVzZSlcclxuXHJcbkBtaXhpbiBydGwtYmFzZS1zaW1wbGUgKCRwcm9wZXJ0eSwgJGRpcmVjdGlvbikge1xyXG4gICN7JHByb3BlcnR5fTokZGlyZWN0aW9uO1xyXG4gIC5ydGwgJiB7XHJcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSAkcnRsLXJpZ2h0IHtcclxuICAgICAgI3skcHJvcGVydHl9OiRydGwtbGVmdDtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgI3skcHJvcGVydHl9OiRydGwtcmlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBydGwtYmFzZS1pbmhlcml0ICgkcHJvcGVydHksICRkaXJlY3Rpb24sICR2YWx1ZSwgJGluaGVyaXQgOiBpbmhlcml0KSB7XHJcbiAgI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn06ICR2YWx1ZTtcclxuICAucnRsICYge1xyXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gJHJ0bC1yaWdodCB7XHJcbiAgICAgICN7JHByb3BlcnR5fS0jeyRydGwtbGVmdH06ICR2YWx1ZTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgI3skcHJvcGVydHl9LSN7JHJ0bC1yaWdodH06ICR2YWx1ZTtcclxuICAgIH1cclxuICAgICN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259OiAkaW5oZXJpdDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBydGwtYmFzZS10b3ByaWdodGJvdHRvbWxlZnQgKCRwcm9wZXJ0eSwgJHQsICRyLCAkYiwgJGwpIHtcclxuICAjeyRwcm9wZXJ0eX06ICR0ICRyICRiICRsO1xyXG4gIC5ydGwgJiB7XHJcbiAgICAjeyRwcm9wZXJ0eX06ICR0ICRsICRiICRyO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQk9EWSBTVFlMRVNcclxuXHJcbkBtaXhpbiBydGwtZGlyZWN0aW9uICgkZm9yQm9keSA6IHRydWUpIHtcclxuICBkaXJlY3Rpb246IGx0cjtcclxuICBAaWYgJGZvckJvZHkge1xyXG4gICAgJi5ydGwge1xyXG4gICAgICBkaXJlY3Rpb246IHJ0bDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgLnJ0bCAmIHtcclxuICAgICAgZGlyZWN0aW9uOiBydGw7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcnRsLWZvbnQtZmFtaWx5ICgkbHRyLCAkcnRsLCAkZm9yQm9keSA6IGZhbHNlKSB7XHJcbiAgZm9udC1mYW1pbHk6ICRsdHI7XHJcbiAgQGlmICRmb3JCb2R5IHtcclxuICAgICYucnRsLCAmLm5vbi1sYXRpbiB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiRydGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIC5ydGwgJiwgLm5vbi1sYXRpbiAmIHtcclxuICAgICAgZm9udC1mYW1pbHk6JHJ0bDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBNQVJHSU5cclxuXHJcbkBtaXhpbiBydGwtbWFyZ2luICgkdCwgJHIsICRiLCAkbCkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLXRvcHJpZ2h0Ym90dG9tbGVmdChtYXJnaW4sJHQsICRyLCAkYiwgJGwpO1xyXG59XHJcbkBtaXhpbiBydGwtbWFyZ2luLWxlZnQgKCR2YWx1ZSkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLWluaGVyaXQobWFyZ2luLCRydGwtbGVmdCwkdmFsdWUpO1xyXG59XHJcbkBtaXhpbiBydGwtbWFyZ2luLXJpZ2h0ICgkdmFsdWUpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS1pbmhlcml0KG1hcmdpbiwkcnRsLXJpZ2h0LCR2YWx1ZSk7XHJcbn1cclxuXHJcbi8vIFBBRERJTkdcclxuXHJcbkBtaXhpbiBydGwtcGFkZGluZyAoJHQsICRyLCAkYiwgJGwpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS10b3ByaWdodGJvdHRvbWxlZnQocGFkZGluZywkdCwgJHIsICRiLCAkbCk7XHJcbn1cclxuQG1peGluIHJ0bC1wYWRkaW5nLWxlZnQgKCR2YWx1ZSkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLWluaGVyaXQocGFkZGluZywkcnRsLWxlZnQsJHZhbHVlKTtcclxufVxyXG5AbWl4aW4gcnRsLXBhZGRpbmctcmlnaHQgKCR2YWx1ZSkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLWluaGVyaXQocGFkZGluZywkcnRsLXJpZ2h0LCR2YWx1ZSk7XHJcbn1cclxuXHJcbi8vIEJPUkRFUlxyXG5cclxuQG1peGluIHJ0bC1ib3JkZXItbGVmdCAoJHZhbHVlKSB7XHJcbiAgQGluY2x1ZGUgcnRsLWJhc2UtaW5oZXJpdChib3JkZXIsJHJ0bC1sZWZ0LCR2YWx1ZSk7XHJcbn1cclxuQG1peGluIHJ0bC1ib3JkZXItcmlnaHQgKCR2YWx1ZSkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLWluaGVyaXQoYm9yZGVyLCRydGwtcmlnaHQsJHZhbHVlKTtcclxufVxyXG5cclxuLy8gUE9TSVRJT05cclxuXHJcbkBtaXhpbiBydGwtbGVmdCAoJHZhbHVlKSB7XHJcbiAgI3skcnRsLWxlZnR9OiAkdmFsdWU7XHJcbiAgLnJ0bCAmIHtcclxuICAgICN7JHJ0bC1yaWdodH06ICR2YWx1ZTtcclxuICAgICN7JHJ0bC1sZWZ0fTogYXV0bztcclxuICB9XHJcbn1cclxuQG1peGluIHJ0bC1yaWdodCAoJHZhbHVlKSB7XHJcbiAgI3skcnRsLXJpZ2h0fTogJHZhbHVlO1xyXG4gIC5ydGwgJiB7XHJcbiAgICAjeyRydGwtbGVmdH06ICR2YWx1ZTtcclxuICAgICN7JHJ0bC1yaWdodH06IGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gQ0xFQVJcclxuXHJcbkBtaXhpbiBydGwtY2xlYXItbGVmdCAoKSB7XHJcbiAgQGluY2x1ZGUgcnRsLWJhc2Utc2ltcGxlKGNsZWFyLCAkcnRsLWxlZnQpO1xyXG59XHJcbkBtaXhpbiBydGwtY2xlYXItcmlnaHQgKCkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLXNpbXBsZShjbGVhciwgJHJ0bC1yaWdodCk7XHJcbn1cclxuXHJcbi8vIFRFWFQtQUxJR05cclxuXHJcbkBtaXhpbiBydGwtdGV4dC1hbGlnbi1sZWZ0ICgpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS1zaW1wbGUodGV4dC1hbGlnbiwgJHJ0bC1sZWZ0KTtcclxufVxyXG5AbWl4aW4gcnRsLXRleHQtYWxpZ24tcmlnaHQgKCkge1xyXG4gIEBpbmNsdWRlIHJ0bC1iYXNlLXNpbXBsZSh0ZXh0LWFsaWduLCAkcnRsLXJpZ2h0KTtcclxufVxyXG5AbWl4aW4gcnRsLXRleHQtYWxpZ24tY2VudGVyICgpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS1zaW1wbGUodGV4dC1hbGlnbiwgJHJ0bC1jZW50ZXIpO1xyXG59XHJcblxyXG4vLyBGTE9BVFxyXG5cclxuQG1peGluIHJ0bC1mbG9hdC1sZWZ0ICgpIHtcclxuICBAaW5jbHVkZSBydGwtYmFzZS1zaW1wbGUoZmxvYXQsICRydGwtbGVmdCk7XHJcbn1cclxuQG1peGluIHJ0bC1mbG9hdC1yaWdodCAoKSB7XHJcbiAgQGluY2x1ZGUgcnRsLWJhc2Utc2ltcGxlKGZsb2F0LCAkcnRsLXJpZ2h0KTtcclxufVxyXG5cclxuLy8gQkFDS0dST1VORC1QT1NJVElPTlxyXG5cclxuQG1peGluIHJ0bC1iYWNrZ3JvdW5kLXBvc2l0aW9uLWxlZnQgKCR2ZXJ0aWNhbCkge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246JHJ0bC1sZWZ0ICR2ZXJ0aWNhbDtcclxuICAucnRsICYge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjokcnRsLXJpZ2h0ICR2ZXJ0aWNhbDtcclxuICB9XHJcbn1cclxuQG1peGluIHJ0bC1iYWNrZ3JvdW5kLXBvc2l0aW9uLXJpZ2h0ICgkdmVydGljYWwpIHtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiRydGwtcmlnaHQgJHZlcnRpY2FsO1xyXG4gIC5ydGwgJiB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiRydGwtbGVmdCAkdmVydGljYWw7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcnRsLWJhY2tncm91bmQtcG9zaXRpb24tcGVyY2VudCAoJHZlcnRpY2FsLCAkaG9yUGVyY2VudCkge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246JGhvclBlcmNlbnQgJHZlcnRpY2FsO1xyXG4gIC5ydGwgJiB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOjEwMCUgLSAkaG9yUGVyY2VudCAkdmVydGljYWw7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBURVhULVNIQURPVyAmIEJPWC1TSEFET1dcclxuXHJcbkBtaXhpbiBydGwtdGV4dC1zaGFkb3cgKCR4LCAkcmVzdCkge1xyXG4gIHRleHQtc2hhZG93OiAkeCAkcmVzdDtcclxuICAucnRsICYge1xyXG4gICAgdGV4dC1zaGFkb3c6IC0xICogJHggJHJlc3Q7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBydGwtYm94LXNoYWRvdyAoJHgsICRyZXN0KSB7XHJcbiAgLW1vei1ib3gtc2hhZG93OiAkeCAkcmVzdDtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6ICR4ICRyZXN0O1xyXG4gIGJveC1zaGFkb3c6ICR4ICRyZXN0O1xyXG4gIC5ydGwgJiB7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6IC0xICogJHggJHJlc3Q7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IC0xICogJHggJHJlc3Q7XHJcbiAgICBib3gtc2hhZG93OiAtMSAqICR4ICRyZXN0O1xyXG4gIH1cclxufVxyXG5cclxuLy8gQk9SREVSLVJBRElVU1xyXG5cclxuQG1peGluIHJ0bC1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0ICgkdGwsICR0ciwgJGJyLCAkYmwpIHtcclxuICAtbW96LWJvcmRlci1yYWRpdXM6ICR0bCwgJHRyLCAkYnIsICRibDtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICR0bCwgJHRyLCAkYnIsICRibDtcclxuICBib3JkZXItdG9wLXJhZGl1czogJHRsLCAkdHIsICRiciwgJGJsO1xyXG4gIC5ydGwgJiB7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICR0ciwgJHRsLCAkYmwsICRicjtcclxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHRyLCAkdGwsICRibCwgJGJyO1xyXG4gICAgYm9yZGVyLXRvcC1yYWRpdXM6ICR0ciwgJHRsLCAkYmwsICRicjtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBydGwtYm9yZGVyLXJhZGl1cy10b3ByaWdodCAoJHZhbHVlKSB7XHJcbiAgLW1vei1ib3JkZXItcmFkaXVzLXRvcCN7JHJ0bC1yaWdodH06ICR2YWx1ZTtcclxuICAtd2Via2l0LWJvcmRlci10b3AtI3skcnRsLXJpZ2h0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICBib3JkZXItdG9wLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgLnJ0bCAmIHtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cy10b3AjeyRydGwtbGVmdH06ICR2YWx1ZTtcclxuICAgIC13ZWJraXQtYm9yZGVyLXRvcC0jeyRydGwtbGVmdH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgICBib3JkZXItdG9wLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cy10b3AjeyRydGwtcmlnaHR9OiBpbmhlcml0O1xyXG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiBpbmhlcml0O1xyXG4gICAgYm9yZGVyLXRvcC0jeyRydGwtcmlnaHR9LXJhZGl1czogaW5oZXJpdDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBydGwtYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodCAoJHZhbHVlKSB7XHJcbiAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbSN7JHJ0bC1yaWdodH06ICR2YWx1ZTtcclxuICAtd2Via2l0LWJvcmRlci1ib3R0b20tI3skcnRsLXJpZ2h0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICBib3JkZXItYm90dG9tLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgLnJ0bCAmIHtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b20jeyRydGwtbGVmdH06ICR2YWx1ZTtcclxuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS0jeyRydGwtbGVmdH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgICBib3JkZXItYm90dG9tLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b20jeyRydGwtcmlnaHR9OiBpbmhlcml0O1xyXG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiBpbmhlcml0O1xyXG4gICAgYm9yZGVyLWJvdHRvbS0jeyRydGwtcmlnaHR9LXJhZGl1czogaW5oZXJpdDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBydGwtYm9yZGVyLXJhZGl1cy10b3BsZWZ0ICgkdmFsdWUpIHtcclxuICAtbW96LWJvcmRlci1yYWRpdXMtdG9wI3skcnRsLWxlZnR9OiAkdmFsdWU7XHJcbiAgLXdlYmtpdC1ib3JkZXItdG9wLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICBib3JkZXItdG9wLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6ICR2YWx1ZTtcclxuICAucnRsICYge1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcCN7JHJ0bC1yaWdodH06ICR2YWx1ZTtcclxuICAgIC13ZWJraXQtYm9yZGVyLXRvcC0jeyRydGwtcmlnaHR9LXJhZGl1czogJHZhbHVlO1xyXG4gICAgYm9yZGVyLXRvcC0jeyRydGwtcmlnaHR9LXJhZGl1czogJHZhbHVlO1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcCN7JHJ0bC1sZWZ0fTogaW5oZXJpdDtcclxuICAgIC13ZWJraXQtYm9yZGVyLXRvcC0jeyRydGwtbGVmdH0tcmFkaXVzOiBpbmhlcml0O1xyXG4gICAgYm9yZGVyLXRvcC0jeyRydGwtbGVmdH0tcmFkaXVzOiBpbmhlcml0O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJ0bC1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQgKCR2YWx1ZSkge1xyXG4gIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b20jeyRydGwtbGVmdH06ICR2YWx1ZTtcclxuICAtd2Via2l0LWJvcmRlci1ib3R0b20tI3skcnRsLWxlZnR9LXJhZGl1czogJHZhbHVlO1xyXG4gIGJvcmRlci1ib3R0b20tI3skcnRsLWxlZnR9LXJhZGl1czogJHZhbHVlO1xyXG4gIC5ydGwgJiB7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tI3skcnRsLXJpZ2h0fTogJHZhbHVlO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgICBib3JkZXItYm90dG9tLSN7JHJ0bC1yaWdodH0tcmFkaXVzOiAkdmFsdWU7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tI3skcnRsLWxlZnR9OiBpbmhlcml0O1xyXG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgICBib3JkZXItYm90dG9tLSN7JHJ0bC1sZWZ0fS1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZ1bmN0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gUG9zaXRpb24gbWl4aW5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBAcGFyYW0gW3N0cmluZ10gJHBvc2l0aW9uOiBwb3NpdGlvbiB0eXBlXG4vLyBAcGFyYW0gW2xpc3RdICRhcmdzOiBsaXN0IG9mIG9mZnNldHMgYW5kIHZhbHVlc1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb24sICRhcmdzKSB7XG4gICAgQGVhY2ggJG8gaW4gdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0IHtcbiAgICAgICAgJGk6IGluZGV4KCRhcmdzLCAkbyk7XG4gICAgICAgIEBpZiAkaVxuICAgICAgICAgICAgYW5kICRpICsgMSA8PSBsZW5ndGgoJGFyZ3MpXG4gICAgICAgICAgICBhbmQgdHlwZS1vZiggbnRoKCRhcmdzLCAkaSArIDEpICkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICN7JG99OiBudGgoJGFyZ3MsICRpICsgMSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcG9zaXRpb246ICRwb3NpdGlvbjtcbn1cblxuXG4vLyBBYnNvbHV0ZSBwb3NpdGlvbmluZyBtaXhpblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEBwYXJhbSBbbGlzdF0gJGFyZ3M6IGxpc3Qgb2Ygb2Zmc2V0cyBhbmQgdmFsdWVzXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIGFic29sdXRlKCRhcmdzKSB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsICRhcmdzKTtcbn1cblxuLy8gQXJyb3cgbWl4aW5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBAcGFyYW0gW3N0cmluZ10gJGRpcmVjdGlvbjogYXJyb3cgZGlyZWN0aW9uXG4vLyBAcGFyYW0gW2xpc3RdICRwb3NpdGlvbjogbGlzdCBvZiBvZmZzZXRzIGFuZCB2YWx1ZXNcbi8vIEBwYXJhbSBbY29sb3JdICRjb2xvciAoaW5oZXJpdCk6IGFycm93IGNvbG9yXG4vLyBAcGFyYW0gW251bWJlcl0gJHNpemUgKDFlbSk6IGFycm93IHNpemVcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gdHJpYW5nbGUoJGRpcmVjdGlvbiwgJHBvc2l0aW9uLCAkY29sb3I6IGN1cnJlbnRDb2xvciwgJHNpemU6IDFlbSkge1xuICAgIC8vIE1ha2Ugc3VyZSB0aGUgZGlyZWN0aW9uIGlzIHZhbGlkXG4gICAgQGlmIG5vdCBpbmRleCh0b3AgcmlnaHQgYm90dG9tIGxlZnQsICRkaXJlY3Rpb24pIHtcbiAgICAgICAgQHdhcm4gXCJEaXJlY3Rpb24gbXVzdCBiZSBvbmUgb2YgdG9wLCByaWdodCwgYm90dG9tIG9yIGxlZnQuXCI7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZSgkcG9zaXRpb24pOyAvLyBQb3NpdGlvblxuICAgICAgICBAaW5jbHVkZSBzcXVhcmUoMCk7IC8vIFNpemVcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgYm9yZGVyLSN7b3Bwb3NpdGUtcG9zaXRpb24oJGRpcmVjdGlvbil9OiAkc2l6ZSAqIDEuNSBzb2xpZCAkY29sb3I7XG4gICAgICAgICRwZXJwZW5kaWN1bGFyLWJvcmRlcnM6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09IHRvcCBvciAkZGlyZWN0aW9uID09IGJvdHRvbSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogICAkcGVycGVuZGljdWxhci1ib3JkZXJzO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAgJHBlcnBlbmRpY3VsYXItYm9yZGVycztcbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQgb3IgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRwZXJwZW5kaWN1bGFyLWJvcmRlcnM7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAgICAkcGVycGVuZGljdWxhci1ib3JkZXJzO1xuICAgICAgICB9XG4gICAgfVxufVxuIFxuLy8gRm9udCBzaXplIC0gcmVtXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AZnVuY3Rpb24gcGFyc2VJbnQoJG4pIHsgLyogMiAqL1xuICBAcmV0dXJuICRuIC8gKCRuICogMCArIDEpO1xufVxuXG5AbWl4aW4gZm9udC1zaXplKCRwcm9wZXJ0eSwgJHZhbHVlcykge1xuICAkcHggOiAoKTsgLyogMyAqL1xuICAkcmVtOiAoKTsgLyogMyAqL1xuXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHsgLyogNCAqL1xuXG4gICAgQGlmICR2YWx1ZSA9PSAwIG9yICR2YWx1ZSA9PSBhdXRvIHsgLyogNSAqL1xuICAgICAgJHB4IDogYXBwZW5kKCRweCAsICR2YWx1ZSk7XG4gICAgICAkcmVtOiBhcHBlbmQoJHJlbSwgJHZhbHVlKTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkdW5pdDogdW5pdCgkdmFsdWUpOyAgICAvKiA2ICovXG4gICAgICAkdmFsOiBwYXJzZUludCgkdmFsdWUpOyAvKiA2ICovXG5cbiAgICAgIEBpZiAkdW5pdCA9PSBcInB4XCIgeyAgLyogNyAqL1xuICAgICAgICAkcHggOiBhcHBlbmQoJHB4LCAgJHZhbHVlKTtcbiAgICAgICAgJHJlbTogYXBwZW5kKCRyZW0sICgkdmFsIC8gMTAgKyByZW0pKTtcbiAgICAgIH1cblxuICAgICAgQGlmICR1bml0ID09IFwicmVtXCIgeyAvKiA3ICovXG4gICAgICAgICRweCA6IGFwcGVuZCgkcHgsICAoJHZhbCAqIDEwICsgcHgpKTtcbiAgICAgICAgJHJlbTogYXBwZW5kKCRyZW0sICR2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRweCA9PSAkcmVtIHsgICAgIC8qIDggKi9cbiAgICAjeyRwcm9wZXJ0eX06ICRweDsgIC8qIDkgKi9cbiAgfSBAZWxzZSB7XG4gICAgI3skcHJvcGVydHl9OiAkcHg7ICAvKiA5ICovXG4gICAgI3skcHJvcGVydHl9OiAkcmVtOyAvKiA5ICovXG4gIH1cbn1cblxuXG4vLz09IEJvcmRlclxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBtaXhpbiBib3JkZXIoICRjb29yZGluYXRlczogMCAwIDAgMCwgJGNvbG91cjogJGJvcmRlci1jb2xvciwgJHN0eWxlOiBzb2xpZCApIHtcbiAgICAkdG9wOiBudGgoJGNvb3JkaW5hdGVzLCAxKTtcbiAgICAkcmlnaHQ6IG50aCgkY29vcmRpbmF0ZXMsIDIpO1xuICAgICRib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpO1xuICAgICRsZWZ0OiBudGgoJGNvb3JkaW5hdGVzLCA0KTtcbiAgICBAaWYgbm90KHVuaXRsZXNzKCR0b3ApKSB7XG4gICAgICAgIGJvcmRlci10b3A6ICR0b3AgJHN0eWxlICRjb2xvdXI7XG4gICAgfVxuICAgIEBpZiBub3QodW5pdGxlc3MoJHJpZ2h0KSkge1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRyaWdodCAkc3R5bGUgJGNvbG91cjtcbiAgICB9XG4gICAgQGlmIG5vdCh1bml0bGVzcygkYm90dG9tKSkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkYm90dG9tICRzdHlsZSAkY29sb3VyO1xuICAgIH1cbiAgICBAaWYgbm90KHVuaXRsZXNzKCRsZWZ0KSkge1xuICAgICAgICBib3JkZXItbGVmdDogJGxlZnQgJHN0eWxlICRjb2xvdXI7XG4gICAgfVxufVxuXG4vLyBTdGF0ZSBhbmQgaG92ZXJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gc3RhdGUtaG92ZXItZGVmYXVsdCgkdGltZSwgJGJhY2tncm91bmQsICRib3JkZXItY29sb3Ipe1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsICR0aW1lKTtcbiAgICAmOmhvdmVye1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgfVxufVxuXG5AbWl4aW4gc3RhdGUtaG92ZXIoJHRpbWUsJGhlaWdodCwkY29sb3Ipe1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAwIDAgMCAkY29sb3IpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsICR0aW1lIGN1YmljLWJlemllcigwLjgsMCwwLDEpKTtcbiAgICAmOmhvdmVye1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAkdGltZSBjdWJpYy1iZXppZXIoMC44LDAsMCwxKSk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAoLSRoZWlnaHQpIDAgMCAkY29sb3IpO1xuICAgIH1cbn1cblxuQG1peGluIHN0YXRlLWhvdmVyLTIoJGJhY2tncm91bmQpe1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICAmOmFmdGVye1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgei1pbmRleDogLTUwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBAaW5jbHVkZSBzY2FsZSgwKTtcbiAgICAgICAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyKDEwMCUsMTAwJSk7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tZGVsYXkoMC4zcywwcyk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIDBzIGN1YmljLWJlemllcigwLjE5LDEsMC4yMiwxKSAwLjNzLG9wYWNpdHkgMC4zcyBjdWJpYy1iZXppZXIoMC4xOSwxLDAuMjIsMSkpO1xuICAgIH1cbiAgICAmOmhvdmVye1xuICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNjYWxlKDEpO1xuICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIDAuNnMgY3ViaWMtYmV6aWVyKDAuMTksMSwwLjIyLDEpLG9wYWNpdHkgMC41cyBjdWJpYy1iZXppZXIoMC4xOSwxLDAuMjIsMSkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLy89PSBGbGV4aWJsZSBMYXlvdXRcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtaXhpbiBmbGV4Ym94IHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1vei1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbiVmbGV4Ym94IHtcbiAgICBAaW5jbHVkZSBmbGV4Ym94O1xufVxuXG5AbWl4aW4gaW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG4laW5saW5lLWZsZXgge1xuICAgIEBpbmNsdWRlIGlubGluZS1mbGV4O1xufVxuXG5cblxuLy8gUmV0aW5hIFNwcml0ZSBNaXhpbnNcblxuQG1peGluIHJldGluYS1zcHJpdGUtYmFja2dyb3VuZCgkdXJsLCRwb3NpdGlvbiwkd2lkdGgsJGhlaWdodCl7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHVybCk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHBvc2l0aW9uO1xuICAgIHdpZHRoOiR3aWR0aDtcbiAgICBoZWlnaHQ6JGhlaWdodDtcbn1cblxuLyoqIGVsZW1lbnRzIG1peGlucyAqKi9cblxuQG1peGluIGJvcmRlci1leGNsdWRlLXRvcCgkYm9yZGVyLWRlZXAsICRib3JkZXItdHlwZSAsICRib3JkZXItY29sb3IgKXtcbiAgIGJvcmRlci1ib3R0b206ICRib3JkZXItZGVlcCAkYm9yZGVyLXR5cGUgJGJvcmRlci1jb2xvciA7XG4gICBib3JkZXItbGVmdDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbiAgIGJvcmRlci1yaWdodDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbn1cblxuQG1peGluIGJvcmRlci1leGNsdWRlLWJvdHRvbSgkYm9yZGVyLWRlZXAsICRib3JkZXItdHlwZSAsICRib3JkZXItY29sb3IgKXtcbiAgIGJvcmRlci10b3A6ICRib3JkZXItZGVlcCAkYm9yZGVyLXR5cGUgJGJvcmRlci1jb2xvciA7XG4gICBib3JkZXItbGVmdDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbiAgIGJvcmRlci1yaWdodDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbn1cblxuQG1peGluIGJvcmRlci1leGNsdWRlLWxlZnQoJGJvcmRlci1kZWVwLCAkYm9yZGVyLXR5cGUgLCAkYm9yZGVyLWNvbG9yICl7XG4gICBib3JkZXItdG9wOiAkYm9yZGVyLWRlZXAgJGJvcmRlci10eXBlICRib3JkZXItY29sb3IgO1xuICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbiAgIGJvcmRlci1yaWdodDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbn1cblxuQG1peGluIGJvcmRlci1leGNsdWRlLXJpZ2h0KCRib3JkZXItZGVlcCwgJGJvcmRlci10eXBlICwgJGJvcmRlci1jb2xvciApe1xuICAgYm9yZGVyLXRvcDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbiAgIGJvcmRlci1ib3R0b206ICRib3JkZXItZGVlcCAkYm9yZGVyLXR5cGUgJGJvcmRlci1jb2xvciA7XG4gICBib3JkZXItbGVmdDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcbn1cblxuQG1peGluIHJvdW5kZWQtY29ybmVycyAoJHJhZGl1cykge1xuICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgLW1zLWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAtby1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuQG1peGluIGNsZWFyYm94c3R5bGUoKXtcbiAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICBib3JkZXI6bm9uZTtcbn1cblxuQG1peGluIGNsZWFyZmxvYXQoKXtcbiAgIGZsb2F0OiBub25lO1xuICAgd2lkdGg6IDEwMCU7XG59XG4gXG5cbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUoJHRyYW5zZm9ybS1zdHlsZSl7XG4gICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogJHRyYW5zZm9ybS1zdHlsZTsgICAgICAgICAgICAgICAgICAgIFxuICAgLW1vei10cmFuc2Zvcm0tc3R5bGU6ICR0cmFuc2Zvcm0tc3R5bGU7ICAgICAgICAgICAgICAgICAgICBcbiAgIC1tcy10cmFuc2Zvcm0tc3R5bGU6ICR0cmFuc2Zvcm0tc3R5bGU7ICAgICAgICAgICAgICAgICAgICBcbiAgIC1vLXRyYW5zZm9ybS1zdHlsZTogJHRyYW5zZm9ybS1zdHlsZTsgICAgICAgICAgICAgICAgICAgIFxuICAgdHJhbnNmb3JtLXN0eWxlOiAkdHJhbnNmb3JtLXN0eWxlO1xufVxuXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkYmFja2ZhY2UtdmlzaWJpbGl0eSl7XG4gICBiYWNrZmFjZS12aXNpYmlsaXR5OiAkYmFja2ZhY2UtdmlzaWJpbGl0eTsgIC8qIFczQyAqL1xuICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkYmFja2ZhY2UtdmlzaWJpbGl0eTsgLyogU2FmYXJpICYgQ2hyb21lICovXG4gICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6ICRiYWNrZmFjZS12aXNpYmlsaXR5OyAvKiBGaXJlZm94ICovXG4gICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogJGJhY2tmYWNlLXZpc2liaWxpdHk7IC8qIEludGVybmV0IEV4cGxvcmVyICovXG4gICAtby1iYWNrZmFjZS12aXNpYmlsaXR5OiAkYmFja2ZhY2UtdmlzaWJpbGl0eTsgLyogT3BlcmEgKi9cbn1cblxuQG1peGluIGFuaW1hdGlvbi10aGVtZSgkYW5pbWF0aW9uLWR1cmF0aW9uLCAkYW5pbWF0aW9uLWZpbGwtbW9kZSwgJGFuaW1hdGlvbi1uYW1lKXtcbiAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWR1cmF0aW9uOyBcbiAgIC1tb3otYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWR1cmF0aW9uOyBcbiAgIC1tcy1hbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZHVyYXRpb247IFxuICAgLW8tYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWR1cmF0aW9uOyBcbiAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1kdXJhdGlvbjsgXG5cbiAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogJGFuaW1hdGlvbi1maWxsLW1vZGU7XG4gICAtbW96LWFuaW1hdGlvbi1maWxsLW1vZGU6ICRhbmltYXRpb24tZmlsbC1tb2RlO1xuICAgLW1zLWFuaW1hdGlvbi1maWxsLW1vZGU6ICRhbmltYXRpb24tZmlsbC1tb2RlO1xuICAgLW8tYW5pbWF0aW9uLWZpbGwtbW9kZTogJGFuaW1hdGlvbi1maWxsLW1vZGU7XG4gICBhbmltYXRpb24tZmlsbC1tb2RlOiAkYW5pbWF0aW9uLWZpbGwtbW9kZTtcblxuICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogJGFuaW1hdGlvbi1uYW1lO1xuICAgLW1vei1hbmltYXRpb24tbmFtZTogJGFuaW1hdGlvbi1uYW1lOyBcbiAgIC1tcy1hbmltYXRpb24tbmFtZTogJGFuaW1hdGlvbi1uYW1lOyBcbiAgIC1vLWFuaW1hdGlvbi1uYW1lOiAkYW5pbWF0aW9uLW5hbWU7IFxuICAgYW5pbWF0aW9uLW5hbWU6ICRhbmltYXRpb24tbmFtZTsgXG59XG5cbkBtaXhpbiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpe1xuICAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgLW1zLXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICAtbW96LXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICAtby1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTsgICAgXG59XG5cbi8qKlxuKiBUcmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiBwcm9wZXJ0eUBtaXhpbiBcbiovXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xuICAgLW1vei10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xuICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xufVxuIFxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZSl7XG4gICBhcHBlYXJhbmNlOiAkYXJndW1lbnRzO1xuICAgLW1vei1hcHBlYXJhbmNlOiAkYXJndW1lbnRzO1xuICAgLW1zLWFwcGVhcmFuY2U6ICRhcmd1bWVudHM7XG4gICAtby1hcHBlYXJhbmNlOiAkYXJndW1lbnRzO1xuICAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXJndW1lbnRzOyBcbn1cblxuXG4vKmJhY2tncm91bmQgUkdCQVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuQG1peGluIHJnYmEoJGNvbG91ciwgJGFscGhhKVxue1xuICAgJGFscGhhQ29sb3VyOiBoc2xhKGh1ZSgkY29sb3VyKSwgc2F0dXJhdGlvbigkY29sb3VyKSwgbGlnaHRuZXNzKCRjb2xvdXIpLCAkYWxwaGEpO1xuICAgJGllQWxwaGFDb2xvdXI6IGFyZ2IoJGFscGhhQ29sb3VyKTsgICBcbiAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI7IFxuICAgYmFja2dyb3VuZC1jb2xvcjogJGFscGhhQ29sb3VyOyAgICAgICBcbiAgIHpvb206IDE7IFxuICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRcXDk7ICAgXG4gICBcbiAgIFxufVxuXG5cbkBtaXhpbiBib3JkZXItcmdiYSgkY29sb3VyLCAkYWxwaGEpXG57XG4gICAkYWxwaGFDb2xvdXI6IGhzbGEoaHVlKCRjb2xvdXIpLCBzYXR1cmF0aW9uKCRjb2xvdXIpLCBsaWdodG5lc3MoJGNvbG91ciksICRhbHBoYSk7XG4gICAkaWVBbHBoYUNvbG91cjogYXJnYigkYWxwaGFDb2xvdXIpOyAgIFxuICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyOyBcbiAgIGJvcmRlci1jb2xvcjogJGFscGhhQ29sb3VyOyAgICAgICBcbiAgIHpvb206IDE7IFxuICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudFxcOTtcbiAgXG59XG5cbi8vY29weXJpZ2h0XG5cbi8vc3ViIGhlYWRpbmcgKGgyLGgzKSBkZWZpbmVcbkBtaXhpbiBzdWItaGVhZGluZyB7XG4gIGZsb2F0OmxlZnQ7XG4gIGNvbG9yOiAkYmxvY2staGVhZGluZy1jb2xvcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udDogNjAwIDE0cHgvMjBweCAkZm9udC1jdXN0b207XG4gIHBhZGRpbmc6IDhweCAxNXB4O1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBtaW4td2lkdGg6IDEyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICR0aGVtZS1iZy1kZWZhdWx0O1xufVxuQG1peGluIHN1Yi1oZWFkaW5nLWJlZm9yZSB7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIHJpZ2h0OiA0NSU7XG4gIHRvcDogMTAwJTtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogJHRoZW1lLWJnLWRlZmF1bHQ7XG59XG5cbi8vYmFja2dyb3VuZFxuQG1peGluIGJhY2tncm91bmQtaG92ZXIge1xuICBjb2xvcjogJGJhc2UtdGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZDogcmdiYSgyMjgsIDUwLCA0MCwgMC4zKTtcbn1cblxuLyppbmxpbmUtYmxvY2tcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuQG1peGluIGlubGluZS1ibG9jaygpIHtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICpkaXNwbGF5OiBpbmxpbmU7XG4gICB6b29tOiAxOyAgIFxufVxuXG4vLyBTaXppbmcgc2hvcnRjdXRzXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQpIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xufVxuXG5cblxuLy8gUGFuZWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gYm94LXZhcmlhbnQoJGJvcmRlciwgJGhlYWRpbmctdGV4dC1jb2xvciwgJGhlYWRpbmctYmctY29sb3IsICRoZWFkaW5nLWJvcmRlcikge1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgJiA+IC5ib3gtaGVhZGluZyB7XG4gICAgY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ib3JkZXI7XG5cbiAgICArICAuYm94LWNvbnRlbnQge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cbiAgJiA+IC5ib3gtY29udGVudHtcbiAgICAgIGJvcmRlci1jb2xvcjokYm9yZGVyO1xuICB9XG4gICYgPiAuYm94LWZvb3RlciB7XG4gICAgKyAuYm94LWNvbGxhcHNlIC5ib3gtYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuQG1peGluIGJ1dHRvbi0zZCgkc3VmZml4Y2xhc3MsICRoZWlnaHQzZCAsJGNvbG9yM2Qpe1xuICBib3JkZXI6IDA7XG4gIEBpZiAoJHN1ZmZpeGNsYXNzID09IFwiZW1wdHlcIikge1xuICAgICAgYm94LXNoYWRvdzogMCAkaGVpZ2h0M2QgJGNvbG9yM2QgaW5zZXQ7XG4gICAgICAtby1ib3gtc2hhZG93OiAwICRoZWlnaHQzZCAkY29sb3IzZCBpbnNldDtcbiAgICAgIC1tb3otYm94LXNoYWRvdzogMCAkaGVpZ2h0M2QgJGNvbG9yM2QgaW5zZXQ7XG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgJGhlaWdodDNkICRjb2xvcjNkIGluc2V0O1xuICAgICAgLW1zLWJveC1zaGFkb3c6IDAgJGhlaWdodDNkICRjb2xvcjNkIGluc2V0O1xuICB9XG4gIEBlbHNlIHtcbiAgJi5idG4tI3skc3VmZml4Y2xhc3N9e1xuICAgICBib3gtc2hhZG93OiAwICRoZWlnaHQzZCAkY29sb3IzZCBpbnNldDtcbiAgICAgIC1vLWJveC1zaGFkb3c6IDAgJGhlaWdodDNkICRjb2xvcjNkIGluc2V0O1xuICAgICAgLW1vei1ib3gtc2hhZG93OiAwICRoZWlnaHQzZCAkY29sb3IzZCBpbnNldDtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAkaGVpZ2h0M2QgJGNvbG9yM2QgaW5zZXQ7XG4gICAgICAtbXMtYm94LXNoYWRvdzogMCAkaGVpZ2h0M2QgJGNvbG9yM2QgaW5zZXQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24taW52ZXJzZSggJHN1ZmZpeGNsYXNzLCAgJGNvbG9yICwkYmFja2dyb3VuZCApe1xuIFxuICAmLmJ0bi0jeyRzdWZmaXhjbGFzc317XG4gICAgICAmOmhvdmVyeyBcbiAgICAgICAgY29sb3I6JGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZSggJHN1ZmZpeGNsYXNzLCAkY29sb3IsICRob3ZlcmNvbG9yICl7XG4gIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICYuYnRuLSN7JHN1ZmZpeGNsYXNzfXtcbiAgICAgIGNvbG9yOiRjb2xvcjtcbiAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgY29sb3I6JGhvdmVyY29sb3I7XG4gICAgICB9XG4gIH1cbn1cbi8vLyBidXR0b24gdmFyaWFudCBvdXRsaW5lXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQtb3V0bGluZSgkY29sb3IsICRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkY29sb3Job3ZlciwgJGJnaG92ZXIsICRib3JkZXJob3ZlciApIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkY29sb3Job3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdob3ZlcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyaG92ZXIgO1xuICB9XG4gIC5vcGVuICYgeyAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRjb2xvcmhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ2hvdmVyO1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXJob3ZlciA7XG4gIH0gfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgLm9wZW4gJiB7ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9IH1cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgLmJhZGdlIHtcbiAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG4vLyBpY29uIHZhcmlhbnQgaW52ZXJzZVxuXG5AbWl4aW4gaWNvbnMtaW52ZXJzZSggJHN1ZmZpeGNsYXNzLCAgJGNvbG9yICwkYmFja2dyb3VuZCApe1xuIFxuICAmLmljb25zLSN7JHN1ZmZpeGNsYXNzfXtcbiAgICAgICY6aG92ZXJ7IFxuICAgICAgICBjb2xvcjokY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gIH1cbn1cbi8vIGljb24gdmFyaWFudCBvdXRsaW5lXG5cbkBtaXhpbiBpY29ucy1vdXRsaW5lKCAkc3VmZml4Y2xhc3MsICRjb2xvciwgJGhvdmVyY29sb3IgKXtcbiAgJi5pY29ucy0jeyRzdWZmaXhjbGFzc317XG4gIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjokY29sb3I7XG4gICAgICAmOmhvdmVye1xuICAgICAgICAgIGNvbG9yOiRob3ZlcmNvbG9yO1xuICAgICAgfVxuICB9XG59XG5cbi8vIEJsb2NrXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gYmxvY2stdmFyaWFudCgkYm9yZGVyLCAkaGVhZGluZy10ZXh0LWNvbG9yLCAkaGVhZGluZy1iZy1jb2xvciwgJGhlYWRpbmctYm9yZGVyKSB7XG4gICYgPiAuI3skYmxvY2stcHJlZml4fS1mb290ZXIge1xuICAgICsgLiN7JGJsb2NrLXByZWZpeH0tY29sbGFwc2UgLiN7JGJsb2NrLXByZWZpeH0tYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG4vKioqKi9cbi8qKioqL1xuQG1peGluIGNvbnRhaW5lci1sYXlvdXQtdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kLCAkbGlua2NvbG9yICl7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBhe1xuICAgICAgY29sb3I6JGxpbmtjb2xvcjsgXG4gICAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjokbGluay1ob3Zlci1jb2xvcjsgXG4gICAgICB9ICBcbiAgICB9ICAgICAgICAgXG59XG5cbkBtaXhpbiB3aWRnZXQtc3BlY2ljYWwtc3R5bGUoKXtcbiAgLndpZGdldC1oZWFkaW5ne1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBzcGFue1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBzcGFuLmRlc2NyaXB0aW9ue1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIH0gIFxuICAgfSBcbn0iLCIvLyBCb3ggU2l6ZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkBtaXhpbiBib3gtc2l6ZSgkYmFja2dyb3VuZCwgJHBhZGRpbmctdG9wLCRwYWRkaW5nLWJvdHRvbSl7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZy10b3A7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmctYm90dG9tO1xyXG59XHJcblxyXG4vLyBCdXR0b25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGJvcmRlciwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvci1ob3ZlciwgJGJvcmRlci1ob3ZlciwgJGJvcmRlci1yYWRpdXMpIHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGJvcmRlcjogJGJvcmRlcjtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMsXHJcbiAgICAmOmFjdGl2ZSxcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xyXG4gICAgICAgIGJvcmRlcjogJGJvcmRlci1ob3ZlcjtcclxuICAgIH1cclxuICAgIC5mYSwuaWNvbntcclxuICAgICAgICBmb250LXNpemU6ICRpY29uLWZvbnQtc2l6ZS1iYXNlO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQmxvY2tcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gYmxvY2stdmFyaWFudCgkYm9yZGVyLCAkaGVhZGluZy10ZXh0LWNvbG9yLCAkaGVhZGluZy1iZy1jb2xvciwgJGhlYWRpbmctYm9yZGVyKSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiAkaGVhZGluZy1iZy1jb2xvcjtcclxuICAgICYgLiN7JGJsb2NrLWhlYWRpbmctc2VsZWN0b3J9IHtcclxuICAgICAgICAmIHNwYW46YmVmb3JlLCAmIHNwYW46YWZ0ZXJ7IGJhY2tncm91bmQ6JHdoaXRlOyB9XHJcbiAgICAgICAgY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctYmctY29sb3I7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ib3JkZXI7XHJcbiAgICAgICAgKyAuI3skYmxvY2stcHJlZml4fS1jb2xsYXBzZSAuI3skYmxvY2stY29udGVudC1zZWxlY3Rvcn0ge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYgPiAuI3skYmxvY2stcHJlZml4fS1mb290ZXIge1xyXG4gICAgICAgICsgLiN7JGJsb2NrLXByZWZpeH0tY29sbGFwc2UgLiN7JGJsb2NrLXByZWZpeH0tYm9keSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRib3JkZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYmxvY2stZWxlbWVudHMtc3R5bGVzKCRib3JkZXIsICRoZWFkaW5nLXRleHQtY29sb3IsICRoZWFkaW5nLWJnLWNvbG9yLCAkaGVhZGluZy1ib3JkZXIsICR0ZXh0LWNvbG9yLCAkdGV4dC1jb2xvci1wcmltYXJ5KXtcclxuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcclxuICAgIGJhY2tncm91bmQ6ICRoZWFkaW5nLWJnLWNvbG9yO1xyXG4gICAgJiAuI3skYmxvY2staGVhZGluZy1zZWxlY3Rvcn0ge1xyXG4gICAgICAgIGNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGhlYWRpbmctYm9yZGVyO1xyXG4gICAgICAgICsgLiN7JGJsb2NrLXByZWZpeH0tY29sbGFwc2UgLiN7JGJsb2NrLWNvbnRlbnQtc2VsZWN0b3J9IHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmID4gLiN7JGJsb2NrLXByZWZpeH0tZm9vdGVyIHtcclxuICAgICAgICArIC4jeyRibG9jay1wcmVmaXh9LWNvbGxhcHNlIC4jeyRibG9jay1wcmVmaXh9LWJvZHkge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyoqKiovXHJcbkBtaXhpbiBjb250YWluZXItbGF5b3V0LXZhcmlhbnQoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGxpbmtjb2xvciwgICR0b3BiYXItbGluay1jb2xvci1ob3ZlciApe1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgYXtcclxuICAgICAgICBjb2xvcjokbGlua2NvbG9yO1xyXG4gICAgfVxyXG4gICAgYTpob3ZlcntcclxuICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLz09IElubGluZSBibG9ja1xyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gaW5saW5lLWJsb2NrICgkaGFzbGF5b3V0IDogdHJ1ZSl7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgQGlmICRoYXNsYXlvdXQgPT0gdHJ1ZSB7XHJcbiAgICAgICAgLmx0LWllOCAmIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICB6b29tOiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy89PSB2ZXJ0aWNhbCBibG9ja1xyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gdmVydGljYWwtY2VudGVyKCAkd2lkdGg6IDEwMHB4LCAkaGVpZ2h0OiAxMDBweCkge1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIGhlaWdodDogJGhlaWdodDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG5cclxuLy89PSBUcmFuc2xhdGUgWCAtIFkgLSBaXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiB0cmFuc2xhdGVYKCR4KSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkeCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR4KTsgLy8gSUU5IG9ubHlcclxuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkeCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHgpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNsYXRlWSgkeSkge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHkpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgkeSk7IC8vIElFOSBvbmx5XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHkpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR5KTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zbGF0ZVooJHopIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKCR6KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVooJHopOyAvLyBJRTkgb25seVxyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVaKCR6KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigkeik7XHJcbn1cclxuXHJcbi8vPT0gVHJhbnNmb3JtXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiB0cmFuc2Zvcm0oJGFyZ3VtZW50KXtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiAoJGFyZ3VtZW50KTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiAoJGFyZ3VtZW50KTtcclxuICAgIC1tcy10cmFuc2Zvcm06ICgkYXJndW1lbnQpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiAoJGFyZ3VtZW50KTtcclxuICAgIHRyYW5zZm9ybTogKCRhcmd1bWVudCk7XHJcbn1cclxuXHJcbi8vPT0gVHJhbnNmb3JtXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0aW1lMSwkdGltZTIpe1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAoJHRpbWUxLCR0aW1lMik7XHJcbiAgICAtbW96LXRyYW5zaXRpb24tZGVsYXk6ICgkdGltZTEsJHRpbWUyKTtcclxuICAgIC1tcy10cmFuc2l0aW9uLWRlbGF5OiAoJHRpbWUxLCR0aW1lMik7XHJcbiAgICAtby10cmFuc2l0aW9uLWRlbGF5OiAoJHRpbWUxLCR0aW1lMik7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAoJHRpbWUxLCR0aW1lMik7XHJcbn1cclxuXHJcbi8vPT0gQmFja2dyb3VuZCBTaXplXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiBiYWNrZ3JvdW5kLXNpemUoJHNpemUxLCRzaXplMikge1xyXG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6ICgkc2l6ZTEsJHNpemUyKTtcclxuICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiAoJHNpemUxLCRzaXplMik7XHJcbiAgICAtbXMtYmFja2dyb3VuZC1zaXplOiAoJHNpemUxLCRzaXplMik7XHJcbiAgICAtby1iYWNrZ3JvdW5kLXNpemU6ICgkc2l6ZTEsJHNpemUyKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogKCRzaXplMSwkc2l6ZTIpO1xyXG59XHJcblxyXG4vLz09IEJhY2tncm91bmQgb3JpZ2luXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiBiYWNrZ3JvdW5kLW9yaWdpbigkdmFsdWUxLCR2YWx1ZTIpe1xyXG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLW9yaWdpbjogKCR2YWx1ZTEsJHZhbHVlMik7XHJcbiAgICAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAoJHZhbHVlMSwkdmFsdWUyKTtcclxuICAgIC1tcy1iYWNrZ3JvdW5kLW9yaWdpbjogKCR2YWx1ZTEsJHZhbHVlMik7XHJcbiAgICAtby1iYWNrZ3JvdW5kLW9yaWdpbjogKCR2YWx1ZTEsJHZhbHVlMik7XHJcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogKCR2YWx1ZTEsJHZhbHVlMik7XHJcbn1cclxuXHJcbi8vPT0gQm9yZGVyIHJhZGl1c1xyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzKSB7XHJcbiAgICBib3JkZXItcmFkaXVzICAgICAgICAgOiAkcmFkaXVzO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzIDogJHJhZGl1cztcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cyAgICA6ICRyYWRpdXM7XHJcbiAgICAtbXMtYm9yZGVyLXJhZGl1cyAgICAgOiAkcmFkaXVzO1xyXG4gICAgLW8tYm9yZGVyLXJhZGl1cyAgICAgIDogJHJhZGl1cztcclxufVxyXG5cclxuLy89PSBUZXh0IFNoYWRvd1xyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gdGV4dC1zaGFkb3coJHNoYWRvdykge1xyXG4gICAgdGV4dC1zaGFkb3cgICAgICAgICA6ICRzaGFkb3c7XHJcbiAgICAtd2Via2l0LXRleHQtc2hhZG93IDogJHNoYWRvdztcclxuICAgIC1tb3otdGV4dC1zaGFkb3cgICAgOiAkc2hhZG93O1xyXG4gICAgLW1zLXRleHQtc2hhZG93ICAgICA6ICRzaGFkb3c7XHJcbiAgICAtby10ZXh0LXNoYWRvdyAgICAgIDogJHNoYWRvdztcclxufVxyXG5cclxuLy89PSBUcmFuc2Zvcm0gT3JpZ2luXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW5YLCRvcmlnaW5ZKSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW4gOiAkb3JpZ2luWCAkb3JpZ2luWTtcclxuICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbiAgICA6ICRvcmlnaW5YICRvcmlnaW5ZO1xyXG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW4gICAgIDogJG9yaWdpblggJG9yaWdpblk7IC8vIElFOSBvbmx5XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luICAgICAgICAgOiAkb3JpZ2luWCAkb3JpZ2luWTtcclxufVxyXG5cclxuLy89PSBhcHBlYXJhbmNlXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiBhcHBlYXJhbmNlKCkge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlIDogbm9uZTtcclxuICAgIC1tb3otYXBwZWFyYW5jZSAgICA6IG5vbmU7XHJcbiAgICAtby1hcHBlYXJhbmNlICAgICAgOiBub25lO1xyXG4gICAgLW1zLWFwcGVhcmFuY2UgICAgIDogbm9uZTtcclxuICAgIGFwcGVhcmFuY2UgICAgICAgICA6IG5vbmU7XHJcbn1cclxuXHJcbi8vPT0gc2VsZWN0aW9uXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiRwcmVmaXhlczogKFwiLW1vei1cIiwgXCJcIik7XHJcbkBtaXhpbiBzZWxlY3Rpb24oJGNvbG9yLCAkYmFja2dyb3VuZCkge1xyXG4gICAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xyXG4gICAgICAgIDo6I3skcHJlZml4fXNlbGVjdGlvbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy89PSBhbmltYXRpb24gZmlsbCBtb2RlXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRmaWxsKSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsO1xyXG4gICAgLW1vei1hbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbDtcclxuICAgIC1vLWFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsO1xyXG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGw7XHJcbn1cclxuXHJcbi8vPT0gZmlsdGVyXHJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBtaXhpbiBmaWx0ZXIoJGFyZ3VtZW50KXtcclxuICAgIGZpbHRlciAgICAgICAgIDogJGFyZ3VtZW50O1xyXG4gICAgLXdlYmtpdC1maWx0ZXIgOiAkYXJndW1lbnQ7XHJcbiAgICAtbW96LWZpbHRlciAgICA6ICRhcmd1bWVudDtcclxuICAgIC1vLWZpbHRlciAgICAgIDogJGFyZ3VtZW50O1xyXG4gICAgLW1zLWZpbHRlciAgICAgOiAkYXJndW1lbnQ7XHJcbn1cclxuXHJcbi8vIENsZWFyIExpc3RzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQG1peGluIGNsZWFyLWxpc3QoKXtcclxuICAgIHBhZGRpbmcgICAgOiAwO1xyXG4gICAgbWFyZ2luICAgICA6IDA7XHJcbiAgICBsaXN0LXN0eWxlIDogbm9uZTtcclxufVxyXG5cclxuLy8gRm9ybWFydCBsaXN0cyB3aWRnZXRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gbGlzdHMtc3R5bGUoKSB7XHJcbiAgICB1bCxvbHtcclxuICAgICAgICBAaW5jbHVkZSBjbGVhci1saXN0KCk7XHJcbiAgICAgICAgbGl7XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY2hpbGRyZW57XHJcbiAgICAgICAgICAgICAgICA+IGxpe1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVse1xyXG4gICAgICAgICAgICBsaTpmaXJzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAyNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW1wb3J0IFwiZnVuY3Rpb25zXCI7IiwiLypcbiAqIEdsb2JhbCB2YXJpYWJsZXNcbiAqL1xuJGltYWdlLWZvbnRzLXBhdGggICAgICAgICAgICAgICAgOiAnLi4vZm9udHMvJyAhZGVmYXVsdDtcbiRpbWFnZS10aGVtZS1wYXRoICAgICAgICAgICAgICAgIDogJy4uL2ltYWdlcy8nICFkZWZhdWx0O1xuJGltYWdlLXRoZW1lLXNraW4gICAgICAgICAgICAgICAgOiAnLi4vaW1hZ2VzLycgIWRlZmF1bHQ7XG4vLyBzdGFuZGFyZCBjb2xvcnNcbiR3aGl0ZVx0XHQgICAgOiAjRkZGICFkZWZhdWx0O1xuJGJsYWNrXHRcdFx0OiAjMDAwICFkZWZhdWx0O1xuJG5vY29sb3JcdFx0OiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0dXJxdW9pc2U6ICAgIzQ3Mzk0MSAhZGVmYXVsdDtcblxuXG4vLyBjb2xvciBmb3IgZGVmYXVsdCB0aGVtZVxuJHRoZW1lLWNvbG9yICAgICAgICAgIDogIzAwYTg2YSAhZGVmYXVsdDsgLyogbWFpbiBjb2xvciB3aGljaCB3aWxsIGJlIHVzZWQgZm9yIGFsbCBtYWluIGJsb2NrIHN0eWxlcy4uLiAqL1xuJGJvcmRlci1jb2xvclx0ICAgICAgOiAjZThlOGU4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvci1iYXNlICAgIDojZWJlYmViICFkZWZhdWx0OyBcblxuJHRoZW1lLWNvbG9yLXNlY29uZCAgXHRcdFx0IDogI2U1NGI0YiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1kZWZhdWx0ICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWhvdmVyICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gVGhlbWUgTWFyZ2luLCBQYWRkaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kdGhlbWUtbWFyZ2luICAgIDogMzBweCAhZGVmYXVsdDtcbiR0aGVtZS1wYWRkaW5nICAgOiAzMHB4ICFkZWZhdWx0O1xuLy8gZm9udHNcbiRmb250LWZhbWlseS1zZWNvbmQgOiAgJ21hbmlmb2xkX2NmYm9sZCcgIWRlZmF1bHQ7IFxuJGZvbnQtZmFtaWx5LXRoaXJkIDogICdtYW5pZm9sZF9jZmxpZ2h0JyAhZGVmYXVsdDsgXG4kdGhlbWUtcGFkZGluZyA6IDMwcHggIWRlZmF1bHQ7XG5cbiRmb250LWljb246IFwiRm9udEF3ZXNvbWVcIjsgXG4vKipcbiAqIEltcG9ydCBjb21wb25lbnQgdmFyaWFibGVzXG4gKi9cbkBpbXBvcnQgXCJ2YXJzL2Zvcm1cIjtcbkBpbXBvcnQgXCJ2YXJzL25hdlwiO1xuQGltcG9ydCBcInZhcnMvbGF5b3V0XCI7XG5AaW1wb3J0IFwidmFycy9lbGVtZW50c1wiO1xuQGltcG9ydCBcInZhcnMvd2lkZ2V0XCI7XG4iLCIvLyBTZWxlY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRzZWxlY3Qtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDMycHggIWRlZmF1bHQ7XG4kc2VsZWN0LWJvcmRlci1jb2xvciAgICAgICAgICAgICAgICAgICAgOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHNlbGVjdC1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgIDogNHB4IDZweCAhZGVmYXVsdDtcblxuLy8gSW5wdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRpbnB1dC1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgICA6IDVweCA2cHggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9udC1zaXplLWJhc2UgLSAxO1xuXG4kaW5wdXQtZ3JvdXAtZm9ybS1iZyAgICAgICAgICAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1mb3JtLW1hcmdpbiAgICAgICAgICAgICAgICA6IDAgMCA1cHggMCFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgIDogNnB4IDExcHggIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtZm9udC1zaXplICAgICAgICAgICAgICAgICAgOiAxMnB4ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yICAgICAgICAgICAgICAgIDogI2ZmZiAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1oZWlnaHQgICAgICAgICAgICAgICAgICAgICA6IDQycHggIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb3JtLWJnICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRncmF5LWRhcmtlciAhZGVmYXVsdDtcblxuLy8gQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYnRuLXRyYW5zZm9ybSAgICAgICAgICAgICAgICAgICAgICAgICAgOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmctdmVydGljYWwgICAgICAgICAgICAgICAgICAgOiA1cHggIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmctaG9yaXpvbnRhbCAgICAgICAgICAgICAgICAgOiAyMHB4ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTJweCAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICA6IDMwcHggIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgICAgICAgICAgOiA0cHggIWRlZmF1bHQ7XG5cbiRidG4tbGctcGFkZGluZy12ZXJ0aWNhbCAgICAgICAgICAgICAgICA6IDE1cHggIWRlZmF1bHQ7XG4kYnRuLWxnLXBhZGRpbmctaG9yaXpvbnRhbCAgICAgICAgICAgICAgOiAzMHB4ICFkZWZhdWx0O1xuJGJ0bi1sZy1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgIDogMThweCAhZGVmYXVsdDtcbiRidG4tbGctbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgICAgICA6ICRsaW5lLWhlaWdodC1sYXJnZSAhZGVmYXVsdDtcbiRidG4tbGctYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICAgICAgICA6IDVweCAhZGVmYXVsdDtcblxuJGJ0bi1zbS1wYWRkaW5nLXZlcnRpY2FsICAgICAgICAgICAgICAgIDogN3B4ICFkZWZhdWx0O1xuJGJ0bi1zbS1wYWRkaW5nLWhvcml6b250YWwgICAgICAgICAgICAgIDogMTJweCAhZGVmYXVsdDtcbiRidG4tc20tZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICA6IDEwcHggIWRlZmF1bHQ7XG4kYnRuLXNtLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICAgOiAkbGluZS1oZWlnaHQtc21hbGwgIWRlZmF1bHQ7XG4kYnRuLXNtLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgICAgICAgOiAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuJGJ0bi14cy1wYWRkaW5nLXZlcnRpY2FsICAgICAgICAgICAgICAgIDogNHB4ICFkZWZhdWx0O1xuJGJ0bi14cy1wYWRkaW5nLWhvcml6b250YWwgICAgICAgICAgICAgIDogMTBweCAhZGVmYXVsdDtcbiRidG4teHMtZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICA6IDEwcHggIWRlZmF1bHQ7XG4kYnRuLXhzLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICAgOiAkbGluZS1oZWlnaHQtc21hbGwgIWRlZmF1bHQ7XG4kYnRuLXhzLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgICAgICAgOiAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuJGJ0bi1vdXRsaW5lLWNvbG9yICAgICAgICAgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWhvdmVyLWNvbG9yICAgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWhlaWdodCAgICAgICAgICAgICAgICAgICAgIDogMzZweCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1wYWRkaW5nIFx0XHRcdDogM3B4IDE1cHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtYmcgICAgICAgICAgICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaG92ZXItYmcgICAgICAgICAgICAgICAgICAgOiR0aGVtZS1jb2xvci1zZWNvbmQgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtYm9yZGVyICAgICAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWJvcmRlci1ob3ZlciAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1mb250LXNpemUgICAgICAgICAgICAgICAgICA6IDEycHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtbGluZS1oZWlnaHQgICAgICAgICAgICAgICAgOiAyOHB4ICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcblxuJGJ0bi1vdXRsaW5lLXNtLXBhZGRpbmctdmVydGljYWwgICAgICAgIDogOHB4ICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLXNtLXBhZGRpbmctaG9yaXpvbnRhbCAgICAgIDogMThweCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1zbS1mb250LXNpemUgICAgICAgICAgICAgICA6IDExcHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtc20tbGluZS1oZWlnaHQgICAgICAgICAgICAgOiAxLjMgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtc20tYm9yZGVyLXJhZGl1cyAgICAgICAgICAgOiAzcHggIWRlZmF1bHQ7XG5cbiRidG4tb3V0bGluZS14cy1wYWRkaW5nLXZlcnRpY2FsICAgICAgICA6IDVweCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS14cy1wYWRkaW5nLWhvcml6b250YWwgICAgICA6IDE1cHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUteHMtZm9udC1zaXplICAgICAgICAgICAgICAgOiAxMXB4ICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLXhzLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgIDogMS4yICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLXhzLWJvcmRlci1yYWRpdXMgICAgICAgICAgIDogM3B4ICFkZWZhdWx0O1xuXG4kYnRuLW91dGxpbmUtbGctcGFkZGluZy12ZXJ0aWNhbCAgICAgICAgOiAyMXB4ICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWxnLXBhZGRpbmctaG9yaXpvbnRhbCAgICAgIDogNDhweCAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1sZy1mb250LXNpemUgICAgICAgICAgICAgICA6IDE0cHggIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtbGctbGluZS1oZWlnaHQgICAgICAgICAgICAgOiAzICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWxnLWJvcmRlci1yYWRpdXMgICAgICAgICAgIDogNHB4ICFkZWZhdWx0O1xuXG4kYnRuLWludmVyc2UtY29sb3IgICAgICAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtaG92ZXItY29sb3IgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtYmcgICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtaG92ZXItYmcgICAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtYm9yZGVyLWNvbG9yICAgICAgICAgICAgICAgOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGJ0bi1pbnZlcnNlLWJvcmRlci1ob3Zlci1jb2xvciAgICAgICAgIDogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRidG4taW52ZXJzZS1mb250LXNpemUgICAgICAgICAgICAgICAgICA6IDEycHggIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtcGFkZGluZyAgICAgICAgICAgICAgICAgICAgOiAxMHB4IDE1cHggIWRlZmF1bHQ7XG5cbiRidG4tb3V0bGluZS1pbnZlcnNlLWNvbG9yICAgICAgICAgICAgICA6ICR0aGVtZS1jb2xvci1zZWNvbmQgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaW52ZXJzZS1iZyAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaW52ZXJzZS1ib3JkZXItY29sb3IgICAgICAgOiAxcHggc29saWQgJGJ0bi1vdXRsaW5lLWludmVyc2UtYmcgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaW52ZXJzZS1ob3Zlci1iZyAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaW52ZXJzZS1ob3Zlci1jb2xvciAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaW52ZXJzZS1ib3JkZXItaG92ZXItY29sb3IgOiAxcHggc29saWQgJHRoZW1lLWNvbG9yLXNlY29uZCAhZGVmYXVsdDtcblxuLy8gU2VhcmNoXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kc2VhcmNoLWJnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc2VhcmNoLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgOiAxMnB4ICFkZWZhdWx0O1xuJHNlYXJjaC1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgIDogMTVweCAhZGVmYXVsdDtcbiRzZWFyY2gtd2lkdGggICAgICAgICAgICAgICAgICAgICAgICAgICA6IGF1dG8gIWRlZmF1bHQ7XG4kc2VhcmNoLWJ1dHRvbi1iZyAgICAgICAgICAgICAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbWFpbi1idXR0b24tYmcgICAgICAgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzZWFyY2gtbWFpbi1idXR0b24tYm9yZGVyICAgICAgICAgICAgICA6ICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLW1haW4tYnV0dG9uLWNvbG9yICAgICAgICAgICAgICAgOiAkZ3JheS1kYXJrZXIgIWRlZmF1bHQ7XG4kc2VhcmNoLWJ1dHRvbi1ib3JkZXIgICAgICAgICAgICAgICAgICAgOiAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWJ1dHRvbi1ob3Zlci1iZyAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc2VhcmNoLWJ1dHRvbi1jb2xvciAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc2VhcmNoLWJ1dHRvbi1zaXplICAgICAgICAgICAgICAgICAgICAgOiAzNnB4ICFkZWZhdWx0O1xuJHNlYXJjaC1idXR0b24taG92ZXItY29sb3IgICAgICAgICAgICAgIDogJGdyYXktZGFya2VyICFkZWZhdWx0O1xuJHNlYXJjaC1yYWRpdXMgICAgICAgICAgICAgICAgICAgICAgICAgIDogM3B4ICFkZWZhdWx0O1xuJHNlYXJjaC1oZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgIDogNTBweCAhZGVmYXVsdDtcbiRzZWFyY2gtYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1ob3Zlci1ib3JkZXIgICAgICAgICAgICAgICAgICAgIDogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICAgICAgICA6IDRweCAhZGVmYXVsdDtcbiRzZWFyY2gtY2F0ZWdvcmllcy1ib3JkZXItcmFkaXVzICAgICAgICA6IDRweCAhaW1wb3J0YW50O1xuIiwiLy8gTWFpbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbWVnYW1lbnUtYmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLW1lZ2EtYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItbWVnYS1saW5lLWhlaWdodCAgICAgICAgICAgICAgICAgICA6IDc1cHggIWRlZmF1bHQ7XG5cbiRuYXZiYXItbWVnYS1za2luMi1iZyAgICAgICAgICAgICAgICAgICAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1tZWdhLXNraW4yLWJvcmRlciAgICAgICAgICAgICAgICAgIDogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbWVnYS1za2luMi1saW5lLWhlaWdodCAgICAgICAgICAgICA6IDMwcHggIWRlZmF1bHQ7IFxuXG4kbmF2YmFyLXRleHQtdHJhbnNmb3JtICAgICAgICAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuXG4kbmF2YmFyLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxOHB4ICFkZWZhdWx0O1xuJG5hdmJhci1mb250LXdlaWdodCAgICAgICAgICAgICAgICAgICAgICAgIDogYm9sZCAhZGVmYXVsdDtcbiRuYXZiYXItZm9udC1mYW1pbHkgICAgICAgICAgICAgICAgICAgICAgICA6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kbmF2YmFyLWxpbmstbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuJG5hdmJhci1saW5rLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgIDogMCAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1saW5rLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgIDogIzAwMCAhZGVmYXVsdDtcbiRuYXZiYXItbGluay1ob3Zlci1jb2xvciAgICAgICAgICAgICAgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGluay1ob3Zlci1iZyAgICAgICAgICAgICAgICAgICAgICA6ICRub2NvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saW5rLWFjdGl2ZS1jb2xvciAgICAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saW5rLWFjdGl2ZS1iZyAgICAgICAgICAgICAgICAgICAgIDogJG5vY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXZiYXItd2lkZ2V0LXRpdGxlLWNvbG9yICAgICAgICAgICAgICAgICA6ICRibGFjayAhZGVmYXVsdDtcbiRuYXZiYXItd2lkZ2V0LXRpdGxlLW1hcmdpbiAgICAgICAgICAgICAgICA6IDAgMCAxMHB4IDAgIWRlZmF1bHQ7XG4kbmF2YmFyLXdpZGdldC10aXRsZS1mb250LXNpemUgICAgICAgICAgICAgOiAxNHB4ICFkZWZhdWx0O1xuJG5hdmJhci13aWRnZXQtdGl0bGUtZm9udC13ZWlnaHRcdFx0ICAgICAgIDogOTAwICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgOiAxMHB4IDIwcHggMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tYmcgICAgICAgICAgICAgICAgICAgICAgICA6ICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXNpemUgICAgICAgICAgICAgICAgICAgICAgOiAyNTBweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbGluay1jb2xvciAgICAgICAgICAgICAgICA6ICMwMDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3IgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWxpbmstaG92ZXItYmcgICAgICAgICAgICAgOiAkbm9jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbGluay10cmFuc2Zvcm0gICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWxpbmstZm9udC1zaXplICAgICAgICAgICAgOiAxNnB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1saW5rLWZvbnQtd2VpZ2h0ICAgICAgICAgIDogNDAwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1saW5rLWJvcmRlci1jb2xvciAgICAgICAgIDogJG5vY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGluay1zbWFsbC1wYWRkaW5nICAgICAgICAgICAgICAgICA6IDE4cHggMCAhZGVmYXVsdDtcbiRuYXZiYXItbGluay1sYXJnZS1wYWRkaW5nICAgICAgICAgICAgICAgICA6IDQ2cHggMCA0NnB4ICFkZWZhdWx0OyAgXG5cbi8vIFZlcnRpY2FsIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRuYXZiYXItdmVydGljYWxtZW51LWNvbG9yOiAgICAgICAgICAgICAgIFx0IzAwMCAhZGVmYXVsdDtcbiRuYXZiYXItdmVydGljYWxtZW51LWJvcmRlci1yYWRpdXM6XHRcdFx0MCAwIDIwcHggMjBweCAhZGVmYXVsdDtcbiRuYXZiYXItdmVydGljYWxtZW51LWxpbmstZm9udC1zaXplOlx0XHQxNHB4ICFkZWZhdWx0O1xuJG5hdmJhci12ZXJ0aWNhbG1lbnUtbGluay1saW5lLWhlaWdodDpcdFx0MjJweCAhZGVmYXVsdDtcbiRuYXZiYXItdmVydGljYWxtZW51LWxpbmstcGFkZGluZzogXHRcdFx0OHB4IDMwcHghZGVmYXVsdDtcbiRuYXZiYXItdmVydGljYWxtZW51LWJvcmRlci1jb2xvcjogICAgICAgICAgI2VlZWVlZSAhZGVmYXVsdDtcbiRuYXZiYXItdmVydGljYWxtZW51LWJhY2tncm91bmQtY29sb3ItaG92ZXI6I2Y4ZjhmOCAhZGVmYXVsdDtcbi8vIFRvcCBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbmF2YmFyLW1lbnV0b3AtZm9udC13ZWlnaHRcdFx0XHRcdCAgICA6IDgwMCAhZGVmYXVsdDtcbiRuYXZiYXItbWVudXRvcC1mb250LXNpemVcdFx0XHRcdCAgICAgICA6IDEycHggIWRlZmF1bHQ7XG4kbmF2YmFyLW1lbnV0b3AtcGFkZGluZy10b3BcdFx0XHRcdCAgICA6IDIycHggIWRlZmF1bHQ7XG4kbmF2YmFyLW1lbnV0b3AtcGFkZGluZy1ib3R0b21cdFx0XHQgICAgOiAxOHB4ICFkZWZhdWx0O1xuJG5hdmJhci1tZW51dG9wLWNvbG9yXHRcdFx0XHRcdCAgICAgICA6ICM4MjgyODIgIWRlZmF1bHQ7XG4kbmF2YmFyLW1lbnV0b3AtbWFyZ2luXHRcdFx0XHRcdCAgICAgICA6IDAgMTBweCAhZGVmYXVsdDtcblxuLy8gT2ZmLUNhbnZhcyBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbmF2YmFyLW9mZmNhbnZhcy13aWR0aCAgICAgICAgICAgICAgICAgICAgOiA2OSUgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1iZy1jbG9zZSAgICAgICAgICAgICAgICAgOiAkbm9jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWNvbG9yICAgICAgICAgICAgICAgICAgICA6ICRibGFjayAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWJnICAgICAgICAgICAgICAgICAgICAgICA6ICNmNWY1ZjUgICFkZWZhdWx0O1xuJG5hdmJhci1vZmZjYW52YXMtYm9yZGVyICAgICAgICAgICAgICAgICAgIDogcmdiYSgwLCAwLCAwLCAwLjEpICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgbGlua3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRuYXZiYXItb2ZmY2FudmFzLWxpbmstY29sb3IgICAgICAgICAgICAgICA6ICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1vZmZjYW52YXMtbGluay1ob3Zlci1jb2xvciAgICAgICAgIDogIzAyODFBQiAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWxpbmstaG92ZXItYmcgICAgICAgICAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1vZmZjYW52YXMtbGluay1hY3RpdmUtY29sb3IgICAgICAgIDogJG5hdmJhci1vZmZjYW52YXMtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWxpbmstYWN0aXZlLWJnICAgICAgICAgICA6IGRhcmtlbigkbmF2YmFyLW9mZmNhbnZhcy1iZywgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWxpbmstZGlzYWJsZWQtY29sb3IgICAgICA6ICM0NDQgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1saW5rLWRpc2FibGVkLWJnICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWxpbmstZm9udC1zaXplICAgICAgICAgICA6IDE0cHggIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciBicmFuZCBsYWJlbFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJG5hdmJhci1vZmZjYW52YXMtYnJhbmQtY29sb3IgICAgICAgICAgICAgIDogJG5hdmJhci1vZmZjYW52YXMtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWJyYW5kLWhvdmVyLWNvbG9yICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLWJyYW5kLWhvdmVyLWJnICAgICAgICAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgc2VhcmNoXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbmF2YmFyLW9mZmNhbnZhcy1zZWFyY2gtYmcgICAgICAgICAgICAgICAgOiBsaWdodGVuKCRuYXZiYXItb2ZmY2FudmFzLWJnLCAyNSUpICFkZWZhdWx0O1xuJG5hdmJhci1vZmZjYW52YXMtc2VhcmNoLWJnLWZvY3VzICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1vZmZjYW52YXMtc2VhcmNoLWJvcmRlciAgICAgICAgICAgIDogJG5hdmJhci1vZmZjYW52YXMtYmcgIWRlZmF1bHQ7XG4kbmF2YmFyLW9mZmNhbnZhcy1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3IgOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLXNlYXJjaC1pbnB1dC1iZyAgICAgICAgICA6IHRyYW5zcGFyZW50aXplKCRibGFjaywgLjEwKSAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIHRvZ2dsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJG5hdmJhci1vZmZjYW52YXMtdG9nZ2xlLWhvdmVyLWJnICAgICAgICAgIDogJGdyYXktZGFyayAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLXRvZ2dsZS1pY29uLWJhci1iZyAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItb2ZmY2FudmFzLXRvZ2dsZS1ib3JkZXItY29sb3IgICAgICA6ICRncmF5LWRhcmsgIWRlZmF1bHQ7XG5cbiRuYXZiYXItb2ZmY2FudmFzLWJ1dHRvbi1wb3NpdGlvbiAgICAgICAgICA6IC0xNzJweCAhZGVmYXVsdDsiLCJcbi8vIFRvcGJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHRvcGJhci1iZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAjZmZmICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1ob3Zlci1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJHRvcGJhci1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcbiR0b3BiYXItYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcbiR0b3BiYXItZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTNweCAhZGVmYXVsdDtcbiR0b3BiYXItaWNvbi1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kdG9wYmFyLWljb24tZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICAgICA6IDEwcHggIWRlZmF1bHQ7XG4kdG9wYmFyLXRleHQtdHJhbnNmb3JtICAgICAgICAgICAgICAgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kdG9wYmFyLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHRcdDogMTJweCAwICFkZWZhdWx0O1xuXG4vLy8vIEhlYWRlclxuXG4kaGVhZGVyLW1haW4tcGFkZGluZyA6IDE1cHggMCAhZGVmYXVsdDsgXG5cblxuXG4kbWFzc2JvdHRvbS1oZWFkLWJnXHRcdCA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRtYXNzYm90dG9tLWhlYWQtcGFkZGluZyA6IDZweCA5cHggIWRlZmF1bHQ7XG4kbWFzc2JvdHRvbS1oZWFkLWNvbG9yICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kbWFzc2JvdHRvbS1oZWFkLWJvcmRlci1jb2xvcjogZGFya2VuKCRtYXNzYm90dG9tLWhlYWQtYmcsNCUpIWRlZmF1bHQ7IFxuXG4vKipcbiAqXG4gKi9cblxuICRtYWlubWVudS1iZzogIzIyMjIyMiAhZGVmYXVsdDtcblxuXG5cblxuLy8gRm9vdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICBcbiRmb290ZXItYmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogI2ZmZiAhZGVmYXVsdDtcbiRmb290ZXItY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIzg2OTM5ZSAhZGVmYXVsdDtcbiRmb290ZXItdHJhbnNmb3JtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcbiRmb290ZXItZm9udC1zaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTRweCAhZGVmYXVsdDsgXG4kZm9vdGVyLWJvcmRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kZm9vdGVyLXBhZGRpbmctdG9wICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDUwcHggIWRlZmF1bHQ7XG4kZm9vdGVyLXBhZGRpbmctYm90dG9tICAgICAgICAgICAgICAgICAgICAgICAgICA6IDUwcHggIWRlZmF1bHQ7XG4kZm9vdGVyLXRleHQtaGlnaHRsaWdodCAgICAgICAgICAgICAgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRmb290ZXItbGluay1mb250LXNpemVcdFx0XHRcdFx0XHRcdDogMTRweCAhZGVmYXVsdDtcbiRmb290ZXItY29sdW1uLW1hcmdpbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMCAwIDI1cHggMCAhZGVmYXVsdDtcbiRmb290ZXItbGluay1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIzg2OTM5ZSAhZGVmYXVsdDtcbiRmb290ZXItbGluay1ob3Zlci1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJGZvb3Rlci1pY29uLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBkYXJrZW4oJHdoaXRlLCAyMCUpICFkZWZhdWx0O1xuJGZvb3Rlci1pY29uLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxM3B4ICFkZWZhdWx0O1xuJGZvb3Rlci1oZWFkaW5nLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgOiAxOHB4ICFkZWZhdWx0O1xuJGZvb3Rlci1oZWFkaW5nLWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kZm9vdGVyLWhlYWRpbmctbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgICA6IDAgMCAyNXB4ICFkZWZhdWx0O1xuJGZvb3Rlci1oZWFkaW5nLXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgOiAwIDAgMjBweCAhZGVmYXVsdDtcbiRmb290ZXItaGVhZGluZy1kaXNwbGF5ICAgICAgICAgICAgICAgICAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcbiRmb290ZXItaGVhZGluZy10cmFuc2Zvcm0gICAgICAgICAgICAgICAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcbiRmb290ZXItbGlzdC10cmFuc2Zvcm0gICAgICAgICAgICAgICAgICAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcbiRmb290ZXItbGlzdC1mb250LXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTRweCAhZGVmYXVsdDsgXG4kZm9vdGVyLWxpc3QtbWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDAgMCAxMHB4ICFkZWZhdWx0O1xuJGZvb3Rlci1saXN0LWxpZ2h0LWhlaWdodCAgICAgICAgICAgICAgICAgICAgICAgOiAyLjUgIWRlZmF1bHQ7ICBcbiRmb290ZXItaGVhZGluZy1md2VpZ2h0ICAgICAgICAgICAgICAgICAgICAgICAgIDogNDAwICFkZWZhdWx0O1xuJGZvb3Rlci1oZWFkaW5nLWZmYW1pbHkgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZm9udC1mYW1pbHktc2Vjb25kICFkZWZhdWx0O1xuXG4kZm9vdGVyLW5ld3NsZXR0ZXItcGFkZGluZyAgICAgICAgICAgICAgICAgICAgICA6IDI1cHggIWRlZmF1bHQ7XG4kZm9vdGVyLW5ld3NsZXR0ZXItYmcgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiRmb290ZXItbmV3c2xldHRlci1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgIDogIzQ4NDg0OCAhZGVmYXVsdDtcbiRmb290ZXItbmV3c2xldHRlci1oZWFkaW5nLWZvbnQtc2l6ZSAgICAgICAgICAgIDogMThweCAhZGVmYXVsdDtcblxuJGZvb3Rlci10b3AtYmcgXHRcdFx0XHRcdFx0XHRcdFx0OiAkd2hpdGUgIWRlZmF1bHQ7XG4kZm9vdGVyLXRvcC1jb2xvciAgXHRcdFx0XHRcdFx0XHRcdDogIzk5OTk5OSAhZGVmYXVsdDtcbiRmb290ZXItdG9wLXBhZGRpbmctdG9wXHRcdFx0XHRcdFx0XHQ6IDEycHggIWRlZmF1bHQ7IFxuJGZvb3Rlci10b3AtcGFkZGluZy1ib3R0b21cdFx0XHRcdFx0XHQ6IDEycHggIWRlZmF1bHQ7XG4kZm9vdGVyLXRvcC1mb250LXNpemVcdFx0XHRcdFx0XHRcdDogMTJweCAhZGVmYXVsdDtcbiRmb290ZXItdG9wLWxldHRlci1zcGFjaW5nXHRcdFx0XHRcdFx0OiAycHggIWRlZmF1bHQ7XG4kZm9vdGVyLXRvcC1ib3JkZXItY29sb3IgXHRcdFx0XHRcdFx0OiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4vLyBDb3B5cmlnaHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuIC8vIENvcHlyaWdodFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGNvcHlyaWdodC1iZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRjb3B5cmlnaHQtY29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIzk5OSAhZGVmYXVsdDtcbiRjb3B5cmlnaHQtbGluay1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIzk5OSAhZGVmYXVsdDtcbiRjb3B5cmlnaHQtcGFkZGluZy10b3AgICAgICAgICAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcbiRjb3B5cmlnaHQtcGFkZGluZy1ib3R0b20gICAgICAgICAgICAgICAgICAgICAgIDogMCAhZGVmYXVsdDtcbiRjb3B5cmlnaHQtZm9udC1zaXplXHRcdFx0XHRcdFx0XHQgICAgICAgICA6IDE2cHggIWRlZmF1bHQ7IFxuJGNvcHlyaWdodC1mb250LXdlaWdodFx0XHRcdFx0XHRcdFx0ICAgICAgOiA0MDAgIWRlZmF1bHQ7XG5cbiRkZWwtZm9udC1zaXplXHRcdFx0XHRcdFx0XHRcdFx0ICAgICAgICAgOiAxMnB4ICFkZWZhdWx0O1xuJGRlbC1jb2xvclx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgICAgICAgOiAjOTk5OTk5OyIsIiIsIi8qKlxuICogICBCbG9ja3MgTGF5b3V0IFNlbGVjdG9yc1xuICovXG4kYmxvY2stcHJlZml4ICAgICAgICAgICAgICAgICAgICA6ICd3aWRnZXQnICFkZWZhdWx0O1xuJGJsb2NrLXNlbGVjdG9yICAgICAgICAgICAgICAgICAgOiAnd2lkZ2V0ICcgIWRlZmF1bHQ7XG4kYmxvY2staGVhZGluZy1zZWxlY3RvciAgICAgICAgICA6ICd3aWRnZXQtdGl0bGUsIC53aWRnZXR0aXRsZScgIWRlZmF1bHQ7XG4kYmxvY2stY29udGVudC1zZWxlY3RvciAgICAgICAgICA6ICd3aWRnZXQtY29udGVudCcgIWRlZmF1bHQ7XG4kYmxvY2staGVhZGluZy1yZXZlcnNlZC1zZWxlY3RvciA6ICd3aWRnZXQtdGl0bGUtcmV2ZXJzZWQnICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wcmVmaXggICAgICAgICAgICAgICAgOiAnd3BiLWNvbnRhaW5lcicgIWRlZmF1bHQ7XG5cblxuXG4vLyBCb3ggTW9kdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGJsb2NrLW1vZHVsZS1tYXJnaW4tYm90dG9tICAgICAgICAgICAgICAgICAgICAgOiAzMHB4ICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwcHggIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWJvcmRlci1jb2xvciAgICAgICAgICAgICAgICAgICAgICA6ICRib3JkZXItY29sb3ItYmFzZSAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtYmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogI2ZmZiAhZGVmYXVsdDtcblxuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLWNvbG9yXHRcdFx0XHRcdFx0OiAjMDAwMDAwICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLWJvcmRlciAgICAgICAgICAgICAgICAgICAgOiAwcHggIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhlYWRpbmctdHJhbnNmb3JtICAgICAgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhlYWRpbmctbGluZS1oZWlnaHQgICAgICAgICAgICAgICA6IG5vcm1hbCAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtaGVhZGluZy1iZyAgICAgICAgICAgICAgICAgICAgICAgIDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhlYWRpbmctcGFkZGluZyAgICAgICAgICAgICAgICAgICA6IDIwcHggIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhlYWRpbmctbWFyZ2luICAgICAgICAgICAgICAgICAgICA6IDAgMCAxMHB4ICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgOiAxNnB4ICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLWZvbnQtd2VpZ2h0ICAgICAgICAgICAgICAgOiA3MDAgIWRlZmF1bHQ7XG4kYmxvY2stbW9kdWxlLWhlYWRpbmctZm9udC1mYW1pbHkgICAgICAgICAgICAgICA6ICRmb250LWZhbWlseS1iYXNlICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLXNob3ctc2VwYXJhdG9yICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oZWFkaW5nLWltYWdlLXBvc2l0aW9uICAgICAgICAgICAgOiAwIDAgIWRlZmF1bHQ7XG5cbiRibG9jay1tb2R1bGUtY29udGVudC1iZyAgICAgICAgICAgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1jb250ZW50LWJvcmRlciAgICAgICAgICAgICAgICAgICAgOiAxcHggc29saWQgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtY29udGVudC1wYWRkaW5nICAgICAgICAgICAgICAgICAgIDogMjBweCAhZGVmYXVsdDtcbiRibG9jay1tb2R1bGUtY29udGVudC1tYXJnaW4gICAgICAgICAgICAgICAgICAgIDogMXB4ICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1jb250ZW50LXJhZGl1cyAgICAgICAgICAgICAgICAgICAgOiAwcHggIWRlZmF1bHQ7XG5cbiRibG9jay1tb2R1bGUtaGlnaGxpZ2h0ZWQtYmcgICAgICAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJGJsb2NrLW1vZHVsZS1oaWdobGlnaHRlZC1ib3JkZXIgICAgICAgICAgICAgICAgOiBzb2xpZCAycHggJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuXG4kYmxvY2stbW9kdWxlLWZvb3Rlci1oZWFkaW5nLWNvbG9yICAgICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcblxuJGJsb2NrLXByb2R1Y3QtcGFkZGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuJGJsb2NrLWhlYWRpbmctbGV0dGVyLXNwYWNpbmcgICAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuXG4vLyBTaWRlYmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYmxvY2stc2lkZWJhci1tb2R1bGUtYm9yZGVyICAgICAgICAgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1ib3gtcGFkZGluZyAgICAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7IFxuJGJsb2NrLXNpZGViYXItYm94LW1hcmdpbiAgICAgICAgICAgICAgICAgICAgICAgOiAwIDAgMzBweCAhZGVmYXVsdDtcblxuJGJsb2NrLXNpZGViYXItbGlzdC1wYWRkaW5nLXZlcnRpY2FsICAgICAgICAgICAgOiAxM3B4IDBweCAxM3B4IDEzcHggIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1saXN0LWJvcmRlci1jb2xvciAgICAgICAgICAgICAgICA6ICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRibG9jay1zaWRlYmFyLWhpZ2h0bGlnaHQtbWFyZ2luIFx0XHRcdFx0OiAwIDAgMjBweCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctbWFyZ2luICAgICAgICAgICAgXHRcdDogMCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctaGlnaHRsaWdodC1iZyAgICAgICAgICAgIDogJG5vY29sb3IgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLWhpZ2h0bGlnaHQtcGFkZGluZyAgICAgICA6IDAgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLWhpZ2h0bGlnaHQtbWFyZ2luICAgIFx0OiAwICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGVhZGluZy1oaWdodGxpZ2h0LWNvbG9yICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLWhpZ2h0bGlnaHQtbWFyZ2luLWJvdHRvbSA6IDBweCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctaGlnaHRsaWdodC1mb250LXNpemUgICAgIDogMTRweCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhlYWRpbmctaGlnaHRsaWdodC1mb250LXdlaWdodCAgIDogOTAwICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGlnaHRsaWdodC1jb250ZW50LWJnXHRcdFx0OiAkbm9jb2xvciAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhpZ2h0bGlnaHQtY29udGVudC1jb2xvclx0XHRcdDogIzY2NjY2NiAhZGVmYXVsdDsgXG4kYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LWNvbnRlbnQtcGFkZGluZ1x0XHQ6IDAgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LWJvcmRlciAgIFx0XHRcdFx0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItaGlnaHRsaWdodC1mb250LXNpemUgXHRcdFx0OiAxMnB4ICFkZWZhdWx0O1x0XG4kYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LXRyYW5zZm9ybSBcdFx0XHQ6IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWhpZ2h0bGlnaHQtZm9udC13ZWlnaHRcdFx0XHQ6IDQwMCAhZGVmYXVsdDtcdFx0XHRcdFx0XHRcbiRibG9jay1zaWRlYmFyLWxpbmstaGlnaHRsaWdodC1jb2xvciAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItbGluay1oaWdodGxpZ2h0LWhvdmVyLWNvbG9yICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1saXN0LWhpZ2h0bGlnaHQtYm9yZGVyLWNvbG9yICAgICA6ICMzOTM5MzkgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1saXN0LWhpZ2h0bGlnaHQtZm9udC1zaXplICAgICAgICA6IDEwcHggIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1saXN0LWhpZ2h0bGlnaHQtcGFkZGluZyAgICAgICAgICA6IDE3cHggMTVweCAhZGVmYXVsdDtcbiRibG9jay1zaWRlYmFyLWxpc3QtaGlnaHRsaWdodC1pbWFnZSAgICAgICAgICAgIDogdXJsKCcjeyRpbWFnZS10aGVtZS1wYXRofWRvdC5qcGcnKSAwIDIycHggbm8tcmVwZWF0ICFkZWZhdWx0O1xuJGJsb2NrLXNpZGViYXItbGlzdC1pbWFnZSAgICAgICAgICAgICAgICAgICAgICAgOiB1cmwoJyN7JGltYWdlLXRoZW1lLXBhdGh9ZG90LmpwZycpIDAgMjJweCBuby1yZXBlYXQgIWRlZmF1bHQ7XG5cbiRibG9jay1zaWRlYmFyLWhlYWRpbmctcGFkZGluZyAgICAgICAgICAgICAgICAgIDogMCAwIDMwcHggIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLW1hcmdpbiAgICAgICAgICAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICA6IDE0cHggIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLWNvbG9yICAgICAgICAgICAgICAgICAgICA6ICRibGFjayAhZGVmYXVsdDsgXG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLWxpbmUtaGVpZ2h0ICAgICAgICAgICAgICA6IDIwcHggIWRlZmF1bHQ7XG4kYmxvY2stc2lkZWJhci1oZWFkaW5nLWZvbnQtd2VpZ2h0XHRcdFx0XHQ6IDkwMCAhZGVmYXVsdDtcblxuJGJsb2NrLXNpZGViYXItd2lkZ2V0LWJvcmRlciAgICAgICAgICAgICAgICAgICAgOiAxcHggc29saWQgbGlnaHRlbigkYm9yZGVyLWNvbG9yLCAzJSkgIWRlZmF1bHQ7XG5cbi8qKioqKioqKiogTEFZT1VUICoqKioqKioqKioqKioqLyIsIi8vIFN0YXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGNvbXBhcmUtcG9zaXRpb24taW1hZ2VcdFx0XHRcdFx0OiBjZW50ZXIgLTQ3cHggIWRlZmF1bHQ7XG4kd2lzaGxpc3QtcG9zaXRpb24taW1hZ2VcdFx0XHRcdDogbGVmdCAtNDdweCAhZGVmYXVsdDtcbiRxdWlja3ZpZXctcG9zaXRpb24taW1hZ2VcdFx0XHRcdDogcmlnaHQgLTQ3cHggIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmctY29sb3IgICAgICAgICAgICAgICAgICAgICAgOiAjRkFDQzY4ICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nLWFjdGl2ZS1jb2xvciAgICAgICAgICAgICAgIDogI0ZBQ0M2OCAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZy1mb250LXNpemUgICAgICAgICAgICAgICAgICA6IDEwcHggIWRlZmF1bHQ7XG4vLyBTYWxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kc2FsZS1sYWJlbC1mb250LXNpemUgICAgICAgICAgICAgICAgICAgOiAxMHB4ICFkZWZhdWx0O1xuJHNhbGUtbGFiZWwtZm9udC13ZWlnaHQgICAgICAgICAgICAgICAgIDogNTAwICFkZWZhdWx0O1xuJHNhbGUtbGFiZWwtdHJhbnNmb3JtICAgICAgICAgICAgICAgICAgIDogbm9uZSAhZGVmYXVsdDtcbiRzYWxlLWxhYmVsLWJnICAgICAgICAgICAgICAgICAgICAgICAgICA6ICNmYjQ5NDkgIWRlZmF1bHQ7XG4kc2FsZS1sYWJlbC1jb2xvciAgICAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc2FsZS1sYWJlbC1hbGlnbiAgICAgICAgICAgICAgICAgICAgICAgOiBjZW50ZXIgIWRlZmF1bHQ7XG4kc2FsZS1sYWJlbC1wYWRkaW5nICAgICAgICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuLy8gTWluaSBjYXJ0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbWluaS1jYXJ0LWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgICAgOiAxMnB4ICFkZWZhdWx0O1xuJG1pbmktY2FydC1iZyAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJG1pbmktY2FydC1yb3VuZGVkICAgICAgICAgICAgICAgICAgICAgIDogJGJvcmRlci1yYWRpdXMtc21hbGwgIWRlZmF1bHQ7XG4kbWluaS1jYXJ0LXBhZGRpbmcgICAgICAgICAgICAgICAgICAgICAgOiA4cHggMTNweCAhZGVmYXVsdDtcbiRtaW5pLWNhcnQtaGVpZ2h0ICAgICAgICAgICAgICAgICAgICAgICA6IDM2cHggIWRlZmF1bHQ7XG4kbWluaS1jYXJ0LWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kbWluaS1jYXJ0LWRyb3Bkb3duLXNpemUgICAgICAgICAgICAgICAgOiAzMjBweCAhZGVmYXVsdDtcbiRtaW5pLWNhcnQtdHJhbnNmb3JtICAgICAgICAgICAgICAgICAgICA6IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuLy8gRmlsdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcHJvZHVjdHMtdG9wLXdyYXAtYmcgICAgICAgICAgICAgICA6ICR3aGl0ZSAgIWRlZmF1bHQ7XG4kcHJvZHVjdHMtdG9wLXdyYXAtY29sb3JcdFx0XHQ6ICNGRkYgIWRlZmF1bHQ7XG5cbiRwcm9kdWN0cy10b3Atd3JhcC1ib3JkZXItY29sb3JcdCAgICA6ICMwMDAwMDAgIWRlZmF1bHQ7XG5cbi8vIFByb2R1Y3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRwcm9kdWN0LWJnICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHByb2R1Y3QtYm9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgIDogMHB4IHNvbGlkICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC1tYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICAgOiAwIDAgNDBweCAwICFkZWZhdWx0O1xuJHByb2R1Y3QtYWxpZ25tZW50ICAgICAgICAgICAgICAgICAgICAgIDogY2VudGVyICFkZWZhdWx0O1xuJHByb2R1Y3QtbmFtZS1mb250LXNpemUgICAgICAgICAgICAgICAgIDogMjRweCAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hbWUtZm9udC13ZWlnaHQgICAgICAgICAgICAgICA6IG5vcm1hbCAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hbWUtbGluZS1oZWlnaHQgICAgICAgICAgICAgICA6IDIycHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1uYW1lLWNvbG9yICAgICAgICAgICAgICAgICAgICAgOiAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hbWUtbWFyZ2luICAgICAgICAgICAgICAgICAgICA6IDBweCAhZGVmYXVsdDtcbiRwcm9kdWN0LW5hbWUtcGFkZGluZyAgICAgICAgICAgICAgICAgICA6IDIwcHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1uYW1lLWhlaWdodCAgICAgICAgICAgICAgICAgICAgOiAzNnB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtbmFtZS1ob3Zlci1jb2xvciAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktY29sb3IgICAgICAgICAgICAgICAgIDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS1ob3Zlci1jb2xvciAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS1mb250LXNpemUgICAgICAgICAgICAgOiAxMnB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktYmcgICAgICAgICAgICAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktcGFkZGluZyAgICAgICAgICAgICAgIDogMThweCAxMHB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktYm9yZGVyLWNvbG9yICAgICAgICAgIDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS1ib3JkZXItaG92ZXItY29sb3IgICAgOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktZm9udC13ZWlnaHQgICAgICAgICAgIDogMzAwICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktZm9udC1zdHlsZSAgICAgICAgICAgIDogaXRhbGljICFkZWZhdWx0O1xuJHByb2R1Y3QtY2F0ZWdvcnktbWFyZ2luICAgICAgICAgICAgICAgIDogMHB4IDAgOHB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtcHJpY2UtY29sb3IgICAgICAgICAgICAgICAgICAgIDogJGdyYXktZGFya2VyICFkZWZhdWx0O1xuJHByb2R1Y3QtcHJpY2Utb2xkLWNvbG9yICAgICAgICAgICAgICAgIDogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kcHJvZHVjdC1wcmljZS1mb250LXNpemUgICAgICAgICAgICAgICAgOiAyNHB4ICFkZWZhdWx0O1xuJHByb2R1Y3QtcHJpY2UtZm9udC13ZWlnaHRcdFx0ICAgICAgICA6IG5vcm1hbCAhZGVmYXVsdDtcbiRwcm9kdWN0LWJ1dHRvbi1mb250LXNpemUgICAgICAgICAgICAgICA6IDEwcHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1idXR0b24tYm9yZGVyICAgICAgICAgICAgICAgICAgOiAycHggc29saWQgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LWJ1dHRvbi1iZyAgICAgICAgICAgICAgICAgICAgICA6ICNmMWJhMjcgIWRlZmF1bHQ7XG4kcHJvZHVjdC1idXR0b24tcGFkZGluZyAgICAgICAgICAgICAgICAgOiAxNXB4IDMwcHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1idXR0b24taG92ZXItY29sb3IgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZHVjdC1idXR0b24taG92ZXItYm9yZGVyICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC1idXR0b24taG92ZXItYmcgICAgICAgICAgICAgICAgOiAkdGhlbWUtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC1saW5rLWNvbG9yICAgICAgICAgICAgICAgICAgICAgOiAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHByb2R1Y3QtbGluay1ob3Zlci1jb2xvciAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtaWNvbi13aWR0aCAgICAgICAgICAgICAgICAgICAgIDogNjlweCAhZGVmYXVsdDtcbiRwcm9kdWN0LWljb24taGVpZ2h0ICAgICAgICAgICAgICAgICAgICA6IDQwcHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1pY29uLWJnICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZHVjdC1pY29uLWNvbG9yICAgICAgICAgICAgICAgICAgICAgOiAkdGV4dC1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LWljb24tZm9udC1zaXplICAgICAgICAgICAgICAgICA6IDE0cHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1idXR0b24td2lkdGggICAgICAgICAgICAgICAgICAgOiAxMDNweCAhZGVmYXVsdDtcbiRwcm9kdWN0LXJhdGluZy1tYXJnaW4gICAgICAgICAgICAgICAgICA6IDAgMCAkdGhlbWUtbWFyZ2luIDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aHVtYm5haWwtZ2FsbGVyeS1zaXplICAgICAgICAgOiAxMTVweCAhaW1wb3J0YW50O1xuXG4vLyBTaW5nbGUgUHJvZHVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHNpbmdsZS1wcmljZS1mb250LXdlaWdodCAgICAgICAgICAgICAgIDogOTAwICFkZWZhdWx0O1xuJHNpbmdsZS1uZXctcHJpY2UtY29sb3IgICAgICAgICAgICAgICAgIDogJHRoZW1lLWNvbG9yICFkZWZhdWx0O1xuJHNpbmdsZS1uZXctcHJpY2UtZm9udC1zaXplICAgICAgICAgICAgIDogMzBweCAhZGVmYXVsdDtcbiRzaW5nbGUtbmV3LXByaWNlLWZvbnQtd2VpZ2h0ICAgICAgICAgICA6IDkwMCAhZGVmYXVsdDtcbiRzaW5nbGUtbmV3LXByaWNlLWxpbmUtaGVpZ2h0ICAgICAgICAgICA6IDEuNCAhZGVmYXVsdDtcbiRzaW5nbGUtcHJvZHVjdC10aXRsZS1saW5lLWhlaWdodCAgICAgICA6IDEuMTExMTEgIWRlZmF1bHQ7XG4kc2luZ2xlLXByb2R1Y3QtdGl0bGUtZm9udC1zaXplICAgICAgICAgOiAyNHB4ICFkZWZhdWx0O1xuJHNpbmdsZS1wcm9kdWN0LXRpdGxlLWZvbnQtd2VpZ2h0ICAgICAgIDogNzAwICFkZWZhdWx0O1xuJHNpbmdsZS1wcm9kdWN0LXRpdGxlLW1hcmdpbiAgICAgICAgICAgIDogMCAwIDEwcHggMCAhZGVmYXVsdDtcbiRzaW5nbGUtcHJvZHVjdC10aXRsZS10cmFuc2Zvcm0gICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG5cbiRzaW5nbGUtcHJvZHVjdC1zdW1tYXJ5LWZvbnQtc2l6ZSAgICAgICAgOiAxNHB4ICFkZWZhdWx0O1xuLy8gd29vY29tbWVyY2UgdGFic1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHdvb2NvbW1lcmNlLXRhYnMtcGFkZGluZyAgICAgICAgICAgICAgIDogMTBweCAwIDMwcHggMCAhZGVmYXVsdDtcbiR3b29jb21tZXJjZS10YWJzLWJvcmRlciAgICAgICAgICAgICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kd29vY29tbWVyY2UtdGFicy1tYXJnaW4gICAgICAgICAgICAgICAgOiAwICFkZWZhdWx0O1xuXG4vLyBRdWlja3ZpZXcgUHJvZHVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHF1aWNrdmlldy1wcm9kdWN0LXRpdGxlLWZvbnQtc2l6ZSAgICAgIDogMzBweCAhZGVmYXVsdDtcbiRxdWlja3ZpZXctcHJvZHVjdC10aXRsZS10cmFuc2Zvcm0gICAgICA6IG5vbmUgIWRlZmF1bHQ7XG4kcXVpY2t2aWV3LXByb2R1Y3QtY29udGVudC1tYXJnaW4gICAgICAgOiAyMHB4ICFkZWZhdWx0O1xuXG4vLyBXaWRnZXQgUHJvZHVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHdpZGdldC1wcm9kdWN0LWxpc3Qtc2l6ZSAgICAgICAgICAgICAgIDogNzBweCAhZGVmYXVsdDtcbiR3aWRnZXQtcHJvZHVjdC1saXN0LXBhZGRpbmcgICAgICAgICAgICA6IDE1cHggIWRlZmF1bHQ7XG4kd2lkZ2V0LXByb2R1Y3QtbGlzdC1tYXJnaW4gICAgICAgICAgICAgOiAwcHggIWRlZmF1bHQ7XG4kd2lkZ2V0LXByb2R1Y3QtbGlzdC1ib3JkZXIgICAgICAgICAgICAgOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHdpZGdldC1wcm9kdWN0LWxpc3QtZm9udC1zaXplICAgICAgICAgIDogJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJHdpZGdldC1wcm9kdWN0LWxpc3QtZm9udC1mYXJtaWx5ICAgICAgIDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcbiR3aWRnZXQtcHJvZHVjdC1saXN0LWNvbG9yXHRcdFx0XHQ6ICR0aGVtZS1jb2xvciAhZGVmYXVsdDtcbiR3aWRnZXQtcHJvZHVjdC1saXN0LWZvbnQtd2VpZ2h0XHRcdDogbm9ybWFsICFkZWZhdWx0O1xuJHdpZGdldC1wcm9kdWN0LWxpc3QtdGV4dC10cmFuc2Zvcm1cdFx0OiB1cHBlcmNhc2UgIWRlZmF1bHQ7O1xuJHdpZGdldC1wcm9kdWN0LWxpc3QtcHJpY2Utb2xkLWNvbG9yXHQ6ICM2NjY2NjYgIWRlZmF1bHQ7XG5cbiR3aWRnZXQtcHJvZHVjdC1zcGVjaWFsLW1hcmdpblx0XHRcdDogMCAhZGVmYXVsdDtcbiR3aWRnZXQtcHJvZHVjdC1zcGVjaWFsLXBhZGRpbmdcdFx0XHQ6IDAgMTBweCAxMHB4IDQwcHggIWRlZmF1bHQ7XG4kd2lkZ2V0LXByb2R1Y3Qtc3BlY2lhbC1mb250LXNpemVcdFx0OiAxNHB4ICFkZWZhdWx0O1xuXG4vLyBTaWRlYmFyIFdpZGdldCBQcm9kdWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYmxvY2stc2lkZWJhci13aWRnZXQtcHJvZHVjdC1saXN0LXNpemUgOiA4MHB4ICFkZWZhdWx0O1xuXG4vLyBQcm9kdWN0IENhdGVnb3J5IGFuZCBTdWJjYXRlZ29yeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHByb2R1Y3QtY2F0ZWdvcnktY29udGVudC1tYXJnaW4gICAgICAgIDogMCAwICRncmlkLWd1dHRlci13aWR0aCAwO1xuJHByb2R1Y3QtY2F0ZWdvcnktY29udGVudC1oZWlnaHQgICAgICAgIDogNDVweCAhZGVmYXVsdDtcbiRwcm9kdWN0LWNhdGVnb3J5LXRpdGxlLWNvbG9yICAgICAgICAgICA6ICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9kdWN0LWNhdGVnb3J5LXRpdGxlLW1hcmdpbiAgICAgICAgICA6IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS10aXRsZS1wYWRkaW5nICAgICAgICAgOiAxNXB4IDEwcHggIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS10aXRsZS1iZyAgICAgICAgICAgICAgOiAkYmxhY2sgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS10aXRsZS1mb250LXNpemUgICAgICAgOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC1jYXRlZ29yeS10aXRsZS1mb250LXdlaWdodCAgICAgOiAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuXG4vLyBXaWRnZXQgZGVhbHMgcHJvZHVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGRlYWxzLXRpbWVzLXBhZGRpbmc6XHRcdFx0XHRcdCAgNXB4IDAgIWRlZmF1bHQ7XG4kZGVhbHMtdGltZXMtYmc6XHRcdFx0XHRcdFx0ICByZWQgIWRlZmF1bHQ7IFxuJGRlYWxzLXRpbWVzLWNvbG9yOlx0XHRcdFx0XHRcdCAgI2ZmZiAhZGVmYXVsdDsgICBcbiRkZWFscy10aW1lcy1mb250LWZhbWlseTpcdFx0XHRcdCAgJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDsgIFxuJGRlYWxzLXRpbWVzLWZvbnQtc2l6ZTpcdFx0XHRcdFx0ICAxMHB4ICFkZWZhdWx0O1xuIiwiLndpZGdldF9uYXZfbWVudSB1bHtcbiAgICBsaSB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICBXaWRnZXQgUHJpY2UgRmlsdGVyXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLndpZGdldF9wcmljZV9maWx0ZXIge1xuICAgIC5wcmljZV9zbGlkZXJfd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoM3B4KTtcbiAgICB9XG4gICAgLnVpLXNsaWRlciAudWktc2xpZGVyLWhhbmRsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6JGJyYW5kLXByaW1hcnkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnByaWNlX3NsaWRlcl93cmFwcGVyIC51aS13aWRnZXQtY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6JGJvcmRlci1jb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAucHJpY2Vfc2xpZGVyX2Ftb3VudCB7XG4gICAgICAgIC5idXR0b257XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICAgICAgfVxuICAgICAgICAucHJpY2VfbGFiZWx7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogICRmb250LWZhbWlseS1zZWNvbmQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICBQcm9kdWN0IExpc3QgV2lkZ2V0XG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLndvb2NvbW1lcmNle1xuICAgIHVsLnByb2R1Y3RfbGlzdF93aWRnZXR7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGxpe1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwOyAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIGRlbHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICR3aWRnZXQtcHJvZHVjdC1saXN0LWZvbnQtc2l6ZSArIDE7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aWRnZXQtcHJvZHVjdC1saXN0LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5ze1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JheS1kYXJrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHdpZGdldC1wcm9kdWN0LWxpc3QtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC53b29jb21tZXJjZS1QcmljZS1hbW91bnQge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICB3aWR0aDogJHdpZGdldC1wcm9kdWN0LWxpc3Qtc2l6ZTtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLWd1dHRlci13aWR0aCAvIDI7ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN0YXItcmF0aW5ne1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgc3BhbntcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZC13YXJuaW5nO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnByb2R1Y3QtdGl0bGV7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICAucHJvZHVjdC10aXRsZXtcblxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4ud2lkZ2V0e1xuICAgICYudXAtc2VsbHMsJi5yZWxhdGVkLXByb2R1Y3Rze1xuICAgICAgICBib3JkZXItYm90dG9tOjA7XG4gICAgICAgIC53aWRnZXQtdGl0bGV7XG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuLyoqXG4gKiBTdHlsaW5nIHNwZWNpYWwgcHJvZHVjdCBibG9jay5cbiAqL1xuLnByb2R1Y3RzLnJlbGF0ZWR7XG4gICAgcGFkZGluZzogJGJsb2NrLW1vZHVsZS1wYWRkaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgLm93bC1jb250cm9sc3tcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi5wcm9kdWN0cy5yZWxhdGVkIGgyLCAucHJvZHVjdCA+ICNyZXZpZXdzID4gaDN7XG4gICAgY29sb3I6ICRibG9jay1tb2R1bGUtaGVhZGluZy1jb2xvcjtcbiAgICBwYWRkaW5nOiAkYmxvY2stbW9kdWxlLWhlYWRpbmctcGFkZGluZyAwO1xuICAgIG1hcmdpbjogJGJsb2NrLW1vZHVsZS1oZWFkaW5nLW1hcmdpbjtcbiAgICBmb250LXNpemU6ICRibG9jay1tb2R1bGUtaGVhZGluZy1mb250LXNpemU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxldHRlci1zcGFjaW5nOjJweDtcbiAgICB6LWluZGV4OiAxMDsgXG59XG4ucHJvZHVjdCA+ICNyZXZpZXdzIHtcblx0Ym9yZGVyOnNvbGlkIDFweCAkYm9yZGVyLWNvbG9yO1xuXHRtYXJnaW4tYm90dG9tOiAgJGJsb2NrLW1vZHVsZS1tYXJnaW4tYm90dG9tIDtcbn1cblxuLyoqXG4gKiBEZWFsIE1vZHVsZXNcbiAqL1xuXG4ud29vLWRlYWxze1xuICAgIC5vd2wtY2Fyb3VzZWwtcGxheXtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAub3dsLWl0ZW17XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9kdWN0LWJsb2Nre1xuICAgICAgICAudGltZXtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLm5hbWV7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIC5zdGFyLXJhdGluZyBzcGFuOmJlZm9yZXtcbiAgICAgICAgICAgIGNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jb3VudGRvd24tdGltZXN7XG4gICAgICAgIG1hcmdpbjogMCAxMCU7XG4gICAgICAgID4gZGl2e1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyBcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgXG4gICAgICAgICAgICB3aWR0aDogMjUlOyAgICAgIFxuICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgICAgICByaWdodDogLTJweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDokYm9yZGVyLWNvbG9yO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA+IGJ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6bm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBXaWRnZXQgUHJvZHVjdHMgQ2F0ZWdvcmllcyBNZW51IFxuICovXG5cbi53aWRnZXRfbmF2X21lbnV7XG4gICAgLm1lbnUtbWFpbm1lbnUtY29udGFpbmVye1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDNweCk7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIHVsLm1lbnUge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKlxuKiogIG9wYWwgY2F0ZWdvcnkgbGlzdFxuKi9cbi5vcGFsLWNhdGVnb3J5LWxpc3R7XG4gICAgI29wYWwtYWNjb3JkaW9uLWNhdGVnb3JpZXN7XG4gICAgICAgIC5jYXRlZ29yeS10aXRsZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LWJvcmRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRibG9jay1zaWRlYmFyLWxpc3QtaGlnaHRsaWdodC1wYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCN7JGltYWdlLXRoZW1lLXNraW59bGlzdC1zdHlsZS5wbmcpIG5vLXJlcGVhdCAxNXB4IDI1cHggJG5vY29sb3I7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LXRyYW5zZm9ybTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRibG9jay1zaWRlYmFyLWhpZ2h0bGlnaHQtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYS5kcm9wZG93bntcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudG90YWwtcHJvZHVjdHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnBhbmVsLWNvbGxhcHNle1xuICAgICAgICAgICAgLmNhdGVnb3J5LXRpdGxle1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMnB4IDEycHg7XG4gICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYmxvY2stc2lkZWJhci1oaWdodGxpZ2h0LWZvbnQtc2l6ZSAtIDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAgICBcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICBDYXJ0XG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmNhcnRfbGlzdHtcbiAgICA+IGRpdntcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICB9XG4gICAubmFtZXtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgICBcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgIH1cblxuICAgIC5pbWFnZXtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSg4MnB4LDgycHgpO1xuICAgIH1cbiAgICAuY2FydC1pdGVte1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgICAgICAuYW1vdW50e1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgICAgICAgICBjb2xvcjogJHdpZGdldC1wcm9kdWN0LWxpc3QtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNhcnQtbWFpbi1jb250ZW50e1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5yZW1vdmV7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShmb250LXNpemUsMjVweCk7XG4gICAgICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgY29sb3I6ICRncmF5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICsgLnRvdGFse1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICAuYW1vdW50e1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKyAxIDsgICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vL1dpZGdldCBTaG9wcGluZyBDYXJ0XG4ud2lkZ2V0X3Nob3BwaW5nX2NhcnRfY29udGVudHtcbiAgICAuY2FydF9saXN0e1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiAgMzUwcHg7XG4gICAgfVxuICAgIC5idXR0b25ze1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206MTBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLndjLWZvcndhcmR7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgICAgICBib3JkZXI6MnB4IHNvbGlkICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDBhODZhO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogLTZweDtcbiAgICAgICAgICAgICAgICBib3R0b206IC02cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC40cyBlYXNlLW91dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmNoZWNrb3V0e1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6JHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2Utb3V0KTtcbiAgICAgICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoLTZweCwtNnB4KTtcbiAgICAgICAgICAgICAgICB9ICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRvdGFse1xuICAgICAgICBwYWRkaW5nLXRvcDogMTVweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItdG9wOiAgMXB4IHNvbGlkICRib3JkZXItY29sb3IhaW1wb3J0YW50O1xuICAgICAgICAud29vY29tbWVyY2UtUHJpY2UtYW1vdW50e1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jYXJ0X2xpc3QgbGkge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDAgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnF1YW50aXR5e1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSArIDI7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucmVtb3Zle1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB6LWluZGV4OiA5O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICBmb250LXNpemU6ICAyOHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogICovXG4ud2lkZ2V0X3Nob3BwaW5nX2NhcnRfY29udGVudCxcbi53aWRnZXQge1xuICAgIHVsLmNhcnRfbGlzdCxcbiAgICB1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICAgICAgPiAqe1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucHJvZHVjdC10aXRsZXtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGluc3tcbiAgICAgICAgICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFtb3VudHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZDtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlbHtcbiAgICAgICAgICAgICAgICAuYW1vdW50e1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLyogIHdpZGdldF9yZWNlbnRfcmV2aWV3cyAqL1xuLndpZGdldF9yZWNlbnRfcmV2aWV3c3sgXG4gICAgLnByb2R1Y3RfbGlzdF93aWRnZXQge1xuICAgICAgICAud3AtcG9zdC1pbWFnZXtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vd29vY29tbWVyY2UtcHJvZHVjdC1zZWFyY2hcbi53aWRnZXRfcHJvZHVjdF9zZWFyY2h7XG4gICAgLndvb2NvbW1lcmNlLXByb2R1Y3Qtc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLnNlYXJjaC1maWVsZHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyMjI7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXXtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzIyMjtcbiAgICAgICAgfVxuICAgIH0gICBcbn1cblxuLy8ud2lkZ2V0X3Nob3BwaW5nX2NhclxuIC53aWRnZXRfc2hvcHBpbmdfY2FydHtcbiAgICAgLndpZGdldF9zaG9wcGluZ19jYXJ0X2NvbnRlbnR7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoM3B4KTtcbiAgICAgICAgcGFkZGluZzogMzBweDtcblxuICAgIH1cbn1cbi8vcHJvZHVjdHMtY2Fyb3VzZWxcbi5wcm9kdWN0cy1jb2xsZWN0aW9ue1xuICAgIC5vd2wtaXRlbXtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIFxuICAgIH1cbiAgICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbXtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6MCAxNnB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICYubm9tYXJnaW57XG4gICAgICAgIG1hcmdpbi1sZWZ0Oi0xNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgIH1cbn1cblxuLy93aWRnZXRfcHJvZHVjdF9jYXRlZ29yaWVzIFxuLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAucHJvZHVjdC1jYXRlZ29yaWVzIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAub3BlbmVkLFxuICAgICAgICAuY2xvc2Vke1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxNHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH0gICAgXG4gICAgfVxuICAgICAmID4gZGl2ID4gdWwsICA+IHVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAmIGxpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgMHM7XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYgPiB1bCwgJiA+IG9sIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLThweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHghaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgICYgPiBkaXYgPiB1bCA+IGxpOmZpcnN0LWNoaWxkLCAmID4gdWwgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgICB9XG59XG4vKiBwcm9kdWN0cy1jYXJvdXNlICovXG4ucHJvZHVjdHMtY2Fyb3VzZWwge1xuICAgIC53aWRnZXR0aXRsZXtcbiAgICAgICAgZm9udC1zaXplOiAgMzBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgfVxuICAgICYubGlzdF9ncmlke1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAuY2Fyb3VzZWwtY29udHJvbHN7XG4gICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIC5jYXJvdXNlbC1jb250cm9se1xuICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgzMHB4LDMwcHgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGNvbG9yOiAjZGZlNGU4O1xuICAgICAgICBib3gtc2hhZG93OjAgMCAwIDJweCAjZGZlNGU4IGluc2V0O1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjVzIGVhc2UtaW4tb3V0IDBzKTtcbiAgICAgICAgJi5sZWZ0e1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICAmLnJpZ2h0e1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjpob3ZlcntcbiAgICAgICAgLmNhcm91c2VsLWNvbnRyb2x7XG4gICAgICAgICAgICBib3gtc2hhZG93OjAgMCAwIDMwcHggJHRoZW1lLWNvbG9yIGluc2V0O1xuICAgICAgICAgICAgJi5sZWZ0e1xuICAgICAgICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnJpZ2h0e1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxufVxuXG4vKiAgb3BhbC1jYXRlZ29yeS1zdWJzICovXG4ub3BhbC1jYXRlZ29yeS1zdWJzeyAgXG4gICAgLmNhdGVnb3J5LWZpbHRlci1saW5re1xuICAgICAgICBhe1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBjb2xvcjokdGhlbWUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaXtcbiAgICAgICAgICAgIHBhZGRpbmc6MCA1cHg7XG4gICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yLXNlY29uZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6bm9ybWFsO1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcblxuICAgICAgICBhe1xuICAgICAgICAgICAgY29sb3I6ICRncmF5LWRhcmtlcjtcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2F0ZWdvcnktZmlsdGVyLWRlZmF1bHR7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2UtaW47XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZS1pbi1vdXQpO1xuICAgICAgICAuY2F0ZWdvcnktZmlsdGVyLWxpbmt7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5jYXRlZ29yeS1maWx0ZXItaW1hZ2V7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZS1pbjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgLmNhdGVnb3J5LWZpbHRlci1pbWFnZXtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMC45NykpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSkpO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2F0ZWdvcnktZmlsdGVyLXYxe1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyBlYXNlLWluLW91dCk7XG4gICAgICAgIGg0e1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjIwcHg7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY2F0ZWdvcnktY2FwdGlvbntcbiAgICAgICAgfVxuICAgICAgICAuY2F0ZWdvcnktZmlsdGVyLWltYWdle1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZS1pbjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmOmhvdmVye1xuICAgICAgICAuY2F0ZWdvcnktZmlsdGVyLWltYWdle1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDAuOTcpKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgaW1ne1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjEpKTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBwcm9kdWN0cy1zcGVjaWFsICovXG4ucHJvZHVjdHMtc3BlY2lhbHtcbiAgICAud2lkZ2V0LXRpdGxle1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgfVxuICAgIC5wcm9kdWN0cy1jb2xsZWN0aW9ue1xuICAgICAgICBwYWRkaW5nOiAgMzBweDtcbiAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICB9XG4gICAgLm1haW4tcHJvZHVjdHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIC5wcm9kdWN0LWJsb2Nre1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2Vjb25kLXByb2R1Y3R7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgICAubGlzdC1wcm9kdWN0e1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIC5wcm9kdWN0LWJsb2Nre1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgcGFkZGluZzogMTVweCAxMHB4O1xuICAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnByaWNlID4gKiB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubmFtZXtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaW1hZ2V7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfSBcbiAgICB9XG59XG5cbi8qIHdpZGdldC1wcm9kdWN0cy1saXN0ICovXG4ud2lkZ2V0LXByb2R1Y3RzLWxpc3R7IFxuICAgIC53aWRnZXQtdGl0bGV7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICB9XG4gICAgLmxpc3QtcHJvZHVjdHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAucHJvZHVjdC1ibG9ja3tcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgIHBhZGRpbmc6IDE3cHggMDtcbiAgICAgICAgICAgICAmOmxhc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wcmljZSA+ICoge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm5hbWV7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucmF0aW5ne1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmltYWdle1xuICAgICAgICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH0gXG4gICAgfVxufVxuXG4vKiB3aWRnZXQtY2F0ZWdvcmllc3RhYnMgKi9cbi53aWRnZXQtY2F0ZWdvcmllc3RhYnN7XG4gICAgLndpZGdldC10aXRsZXtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgIH1cbiAgICAuYmxvY2stdG9wIC5uYXYtdGFic3tcbiAgICAgICAgYXtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDsgXG4gICAgICAgIH1cbiAgICB9XG4gICAgLnByb2R1Y3RzLWNvbGxlY3Rpb257XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudGFiLWNvbnRlbnR7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5vd2wtY2Fyb3VzZWwtcGxheXtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCA0cHg7XG4gICAgICAgIC5vd2wtY2Fyb3VzZWwge1xuICAgICAgICAgICAgLm93bC1pdGVte1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAub3dsLWNvbnRyb2xze1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdWwgbGkgLm5hbWUgYXtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgfVxuICAgICAgICAuZXhjZXJwdHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtYmxvY2t7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgXG4gICAgfVxuICAgIC5iYW5uZXItY2F0ZWdvcnkge1xuICAgICAgICAmLmltYWdlLWxlZnR7XG4gICAgICAgICAgICBtYXJnaW46IC0ycHggMCAtMnB4IC0ycHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5pbWFnZS10b3B7XG4gICAgICAgICAgICBtYXJnaW46IC0ycHggLTVweCAwIDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmV4Y2VycHR7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAubGlzdC1wcm9kdWN0e1xuICAgICAgICAuaW1hZ2V7XG4gICAgICAgICAgICB3aWR0aDogNDMlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICAubmFtZXtcbiAgICAgICAgICAgIGhlaWdodDogNDNweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciAubWV0YSAucmF0aW5nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkgKDEpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubGlzdC1wcm9kdWN0LWdyb3Vwe1xuICAgICAgICAudGFiLWNvbnRlbnR7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5saXN0LXJvd3tcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICA+IGRpdntcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdC1ibG9ja3tcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAubGlzdC1wcm9kdWN0e1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxcHgsIDEwMSUpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZDpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoMCwgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLyogV09PRl9XaWRnZXQgICovXG4uV09PRl9XaWRnZXR7XG4gICAgJi53aWRnZXR7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206MDtcbiAgICB9XG59XG4ud29vZl9jb250YWluZXJ7XG4gICAgdWx7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuLndvb2ZfbGlzdF9sYWJlbCBsaSAud29vZl9sYWJlbF90ZXJtOmhvdmVyLCAud29vZl9saXN0X2xhYmVsIGxpIC53b29mX2xhYmVsX3Rlcm0uY2hlY2tlZHtcbiAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xufVxuLndpZGdldC13b29me1xuICAgICYud2lkZ2V0IHtcbiAgICAgICAgYm9yZGVyOiBub25lIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC53b29mX2NvbnRhaW5lcntcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgICAud29vZl9ibG9ja19odG1sX2l0ZW1ze1xuICAgICAgICAgICAgbGl7XG4gICAgICAgICAgICAgICAgbGFiZWx7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOjA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGg0e1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLndvb2Zfc3VibWl0X3NlYXJjaF9mb3JtX2NvbnRhaW5lcntcbiAgICAgICAgYnV0dG9ue1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbToycHggc29saWQgJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czowICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLndvb2ZfY29udGFpbmVyX3Byb2R1Y3RfY2F0e1xuICAgICAgICAud29vZl9saXN0X2NoZWNrYm94LC53b29mX2xpc3RfcmFkaW97XG4gICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgaW5wdXR7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgI2RjZGNkYztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjojZGNkY2RjO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogN3B4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNtcyBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLndvb2ZfY2hlY2tib3hfdGVybXtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IFxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICYuY2hlY2tlZHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IFxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbiAgICAud29vZl9jb250YWluZXJfaW5uZXJfcHJvZHVjdGNvbG9ye1xuICAgICAgICBzcGFue1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czoxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLndvb2ZfbGlzdF9sYWJlbCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICAud29vZl9sYWJlbF9jb3VudHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAud29vZl9sYWJlbF90ZXJte1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDQwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzcHgpO1xuICAgICAgICAgICAgJi5jaGVja2Vke1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLndvb2ZfdGV4dF9zZWFyY2hfY29udGFpbmVyLFxuICAgIC53b29mX3NrdV9zZWFyY2hfY29udGFpbmVyIHtcbiAgICAgICAgaW5wdXRbdHlwZT0nc2VhcmNoJ117XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCA4cHghaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC53b29mX3ByaWNlM19zZWFyY2hfY29udGFpbmVye1xuICAgICAgICBpbnB1dHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC53b29mX2NvbnRhaW5lcl9wcm9kdWN0X3RhZ3tcbiAgICAgICAgLndvb2ZfbGlzdF9jaGVja2JveCxcbiAgICAgICAgLndvb2ZfbGlzdF9yYWRpb3tcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBsYWJlbHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6MTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi53b29mIHtcbiAgICAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWZpZWxkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgbWluLWhlaWdodDogNDVweCAhaW1wb3J0YW50O1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDNweCk7XG4gICAgfVxuICAgIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZXsgXG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgc3BhbntcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICB9XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgIE1pbmkgQ2FydFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm9wYWwtdG9wY2FydHtcbiAgICAuZHJvcGRvd257XG4gICAgICAgICYub3BlbntcbiAgICAgICAgICAgIC5taW5pLWNhcnR7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlLCAyMDBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSAgXG4gICAgLmRyb3Bkb3duLW1lbnV7XG4gICAgICAgIHBhZGRpbmc6ICR0aGVtZS1wYWRkaW5nO1xuICAgICAgICBtaW4td2lkdGg6ICRtaW5pLWNhcnQtZHJvcGRvd24tc2l6ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gICAgICAgIEBpbmNsdWRlIHNjYWxlKDApO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMDBtcyBjdWJpYy1iZXppZXIoMC4zNCwgMS42MSwgMC43LCAxKSk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHRoZW1lLWNvbG9yO1xuICAgICAgICAucXVhbnRpdHl7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubWVkaWF7XG4gICAgICAgIGJvcmRlci1ib3R0b206c29saWQgMXB4ICRib3JkZXItY29sb3I7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICAubmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgYXtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2shaW1wb3J0YW50O1xuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAgICBcbiAgICB9XG4gICAgLm9wZW57XG4gICAgICAgIC5kcm9wZG93bi1tZW51e1xuICAgICAgICAgICAgQGluY2x1ZGUgc2NhbGUoMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigyOXB4LCAtNTBweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWx0ZXIobm9uZSk7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgei1pbmRleDogOTk5OTk7XG4gICAgICAgIH1cbiAgICB9IFxuXG4gICAgLnRvdGFse1xuICAgICAgICBwYWRkaW5nLXRvcDoyMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbToxMHB4O1xuICAgIH1cbiAgICAuYnV0dG9uc3tcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzoxNXB4IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7ICAgICAgICBcbiAgICB9XG59XG5cbi5vcGFsLXRvcGNhcnR7XG4gICAgLnRpdGxlLWNhcnR7XG4gICAgICAgIGNvbG9yOiAkZ3JheS1saWdodDtcbiAgICB9XG4gICAgLm1pbmktY2FydC1pdGVtc3tcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LWZhbWlseTokZm9udC1mYW1pbHktc2Vjb25kO1xuICAgICAgICBwYWRkaW5nOiAwIDZweDtcbiAgICB9XG59XG4jY2FydHtcbiAgICBjbGVhcjpib3RoO1xuICAgIC5ib3gtaWNvbntcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgICBib3JkZXI6MnB4IHNvbGlkICR0aGVtZS1jb2xvcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGJhY2tncm91bmQ6d2hpdGU7XG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgICAgIGJvcmRlcjoycHggc29saWQgJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IC02cHg7XG4gICAgICAgICAgICBib3R0b206LTZweDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6d2hpdGU7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuNHMgZWFzZS1vdXQpO1xuICAgICAgICB9XG4gICAgICAgIGl7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAubWluaS1jYXJ0eyAgICBcbiAgICAgICAgLmFtb3VudHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDpub3JtYWw7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgICAgICB9XG4gICAgICAgIC5taW5pLWNhcnQtdG90YWx7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICB9ICAgICAgICBcbiAgICB9XG4gICAgJjpob3ZlcntcbiAgICAgICAgLmJveC1pY29ue1xuICAgICAgICAgICAgYmFja2dyb3VuZDokdGhlbWUtY29sb3I7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuNHMgZWFzZS1vdXQpO1xuICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgtNHB4LC00cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8vLyBFbGVtZW50cyBTdHlsZXMgLy8vLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vLyAvLy8vLy8vLy8vLy8vL1xuLypcbiAqIFByb2R1Y3QgRGV0YWlsIFBhZ2VcbiAqL1xuLnByb2R1Y3QtaW5mb3tcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIC5wcm9kdWN0X3RpdGxle1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAucHJvZHVjdC10b3BpbmZveyAgICAgICAgICBcbiAgICAgICAgLnByb2R1Y3QtbmF2e1xuICAgICAgICAgICAgcHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjI1LDIyNSwyMjUsMC43KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaXplKDMwcHgsMzBweCk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIC5mYXtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zNXMgZWFzZSAwcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wcm9kdWN0X3RpdGxle1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgZGl2LnJvd3tcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIH1cbiAgICAuaW1hZ2Vze1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOjEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnByaWNleyAgICAgICAgXG4gICAgICAgID4gKnsgICAgICAgICAgIFxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9IFxuICAgICAgICBkZWx7XG4gICAgICAgICAgICBzcGFue1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTk5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDsgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAjaW1hZ2UtYWRkaXRpb25hbC1jYXJvdXNlbCB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5jYXJvdXNlbC1jb250cm9scy12M3tcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLnRodW1ibmFpbC1yaWdodCxcbiAgICAudGh1bWJuYWlsLWxlZnQge1xuICAgICAgICAub3dsLWNvbnRyb2xze1xuICAgICAgICAgICAgICAgIC5vd2wtYnV0dG9uc3tcbiAgICAgICAgICAgICAgICB0b3A6IDAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtNTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgIC5vd2wtcHJldntcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm93bC1uZXh0e1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmhpdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgICAgICAgaW1ne1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAudGh1bWJuYWlsLWJvdHRvbSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgLmltYWdlLWFkZGl0aW9uYWx7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIC5vd2wtY29udHJvbHN7XG4gICAgICAgICAgICAgICAgLm93bC1idXR0b25ze1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDQwJSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgLm93bC1wcmV2e1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTMwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLm93bC1uZXh0e1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0zMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm93bC1pdGVte1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5oaXRlbSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzcHgpO1xuICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9ICAgICAgIFxuICAgIH1cbiAgICBzcGFuLm9uc2FsZXtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yOyAgICAgICBcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICBwYWRkaW5nOiAycHggNXB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNDBweDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwcHgpO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgaGVpZ2h0OiA5MnB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czowO1xuICAgICAgICAgICAgd2lkdGg6MjBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbGVmdDo1MHB4O1xuICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAzcHg7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgbGVmdDogNnB4O1xuICAgICAgICAgICAgICAgIHRvcDogLTZweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNlNTRiNGI7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAgICAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgICAgICAgICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiBcbi5wcm9kdWN0aW5mby1zaG93LWRpc2NvdW50cyB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgLSAyO1xuICAgIHBhZGRpbmctbGVmdDogNzVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICM2NjY7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogIHVybCgnI3skaW1hZ2UtdGhlbWUtcGF0aH1pY29uLXNob3ctZGlzY291bnRzLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICRicmFuZC1zdWNjZXNzO1xuICAgICAgICBAaW5jbHVkZSBzaXplICgzNnB4LDM2cHgpO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cbiAgICAgIHBhZGRpbmc6MDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRhbGVydC1ib3JkZXItcmFkaXVzO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LXN1Y2Nlc3MtYmcsICRhbGVydC1zdWNjZXNzLWJvcmRlciwgJGFsZXJ0LXN1Y2Nlc3MtdGV4dCk7XG4gXG4gICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmc6MTVweCAzMHB4O1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICAgcGFkZGluZzogIDNweCAwO1xuICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYxNGFcIjtcbiAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcbiAgICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZC1zdWNjZXNzO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9yZXZpZXdzXG4jcmV2aWV3c3tcbiAgICAucmV2aWV3cy1zdW1tYXJ5IHtcbiAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIGg1IHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgICAgIC5yZXZpZXctc3VtbWFyeS10b3RhbHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAucmV2aWV3LXN1bW1hcnktcmVzdWx0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaXplKDkwcHgsIDkwcHgpO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkYnJhbmQtd2FybmluZztcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kLXdhcm5pbmc7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnJldmlldy1zdW1tYXJ5LWRldGFsIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIC5yZXZpZXctbGFiZWx7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnByb2dyZXNzIHtcbiAgICAgICAgICAgICAgICAucHJvZ3Jlc3MtYmFyLXN1Y2Nlc3N7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbW1lbnRzLWlubmVye1xuICAgICAgICBAaW5jbHVkZSBmbGV4Ym94KCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuICAgIC5jb21tZW50cy1ncm91cCB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICAgIH1cbiAgICAucmV2aWV3cy1zdW1tYXJ5e1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgICAgICBhLmJ0bntcbiAgICAgICAgICAgIGJhY2tncm91bmQ6JHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgcGFkZGluZyA6IDEycHggNTBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czowO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgZm9udC1zaXplOjIwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyBlYXNlLW91dCk7XG4gICAgICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKC00cHgsLTRweCk7XG4gICAgICAgICAgICAgICAgfSAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC00cHg7XG4gICAgICAgICAgICAgICAgYm90dG9tOi00cHg7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOjJweCBzb2xpZCAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB6LWluZGV4Oi0xO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC40cyBlYXNlLW91dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAuY29tbWVudHMtY29udGVudCAuY29tbWVudHN7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBoNSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuICAgICAgICAuY29tbWVudGxpc3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICAgICAgICAuY29tbWVudCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNkMGQwZDA7IFxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAub3BhbC1hdmF0YSB7IFxuICAgICAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAub3BhbC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIC5hdmF0YXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5vcGFsLWF1dGhvciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29tbWVudC10ZXh0IHtcbiAgICAgICAgICAgICAgICAubWV0YSB7XG4gICAgICAgICAgICAgICAgICAgIHNwYW57XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5zdGFyLXJhdGluZyAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmY2EzYztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJvZ3Jlc3N7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gICAgICAgIC5wcm9ncmVzcy1iYXIge1xuICAgICAgICAgICAgY29sb3I6ICRncmF5LWRhcmtlcjtcbiAgICAgICAgICAgICYucHJvZ3Jlc3MtYmFyZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3JlcGx5LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgcGFkZGluZy10b3A6MzBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG59XG5cbi8vLy8vLy8vLy8gUGFnZXMgU3R5bGVzIC8vLy8vLy8vLy8vLy8vIC8vLy8vLy8vLy8vLy8vIC8vLy8vLy8vLy8vLy8vIC8vLy8vLy8vLy8vLy8vIC8vLy8vLy8vLy8vLy8vIC8vLy8vLy8vLy8vLy8vIC8vLy8vLy8vLy8vLy8vXG4vKipcbiAqIFByb2R1Y3QgU2luZ2xlIFBhZ2VcbiAqL1xuIFxuLnByb2R1Y3QtYmxvY2t7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAgICAgICAgXG4gICAgei1pbmRleDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIHNwYW57XG4gICAgICAgICYuc2FsZS1vZmYsJi5vbnNhbGV7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7ICAgICAgIFxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweCA1cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNDBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMHB4KTtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA5MnB4O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOjA7XG4gICAgICAgICAgICAgICAgd2lkdGg6MjBweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbGVmdDoyM3B4O1xuICAgICAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAgICAgICAgICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA2cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTZweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDojZTU0YjRiO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbiAgICAuaW1hZ2V7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206MzBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4O1xuICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgd2lkdGg6IDBweDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3R0b206LTFweDtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDokbGluay1jb2xvcjtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIH1cbiAgICAgICAgaW1ne1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7ICBcbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdC1pbWFnZXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICAuaW1hZ2UtZWZmZWN0e1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKC0xMDAlLCAwcHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyk7XG4gICAgICAgIH1cbiAgICAgICAgLmltYWdlLWhvdmVye1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyApO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAuaW1hZ2UtZWZmZWN0e1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgwcHgsMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbWFnZS1ob3ZlcntcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoMTAwJSwgMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gXG4gICAgLnByaWNleyAgICBcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgICAgID4gKntcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByb2R1Y3QtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgICBkZWx7XG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtcHJpY2Utb2xkLWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIHNwYW57IFxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1wcmljZS1vbGQtY29sb3I7ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCl7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGluc3sgICAgICAgICAgICBcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubmFtZXtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKGZvbnQtc2l6ZSwgJHByb2R1Y3QtbmFtZS1mb250LXNpemUpO1xuICAgICAgICBsaW5lLWhlaWdodDogJHByb2R1Y3QtbmFtZS1saW5lLWhlaWdodDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LW5hbWUtZm9udC13ZWlnaHQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGF7XG4gICAgICAgICAgICBjb2xvcjokcHJvZHVjdC1uYW1lLWNvbG9yIDtcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gIFxuICAgIC5jYXRlZ29yeXtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1jYXRlZ29yeS1mb250LXdlaWdodDtcbiAgICAgICAgZm9udC1zdHlsZTogJHByb2R1Y3QtY2F0ZWdvcnktZm9udC1zdHlsZTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKGZvbnQtc2l6ZSwgJHByb2R1Y3QtY2F0ZWdvcnktZm9udC1zaXplKTtcbiAgICAgICAgYXtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1jYXRlZ29yeS1jb2xvcjtcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LWNhdGVnb3J5LWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5zdGFyLXJhdGluZ3tcblxuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayFpbXBvcnRhbnQ7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBzdGFyO1xuICAgICAgICBoZWlnaHQ6IDEuMmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiA1LjRlbTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXDUzXFw1M1xcNTNcXDUzXFw1M1wiO1xuICAgICAgICAgICAgY29sb3I6ICNkY2RjZGM7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbntcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMS41ZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXDUzXFw1M1xcNTNcXDUzXFw1M1wiO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHAuc3RhcnMgYXtcbiAgICAgICAgY29sb3I6ICNmMGM3M2I7XG4gICAgfVxuICAgIC5zdGFyLXJhdGluZyBzcGFue1xuICAgICAgICBjb2xvcjogI2YwYzczYjtcbiAgICB9ICAgIFxuICAgIC5jbGVhciwuYWRkZWRfdG9fY2FydCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmFkZF90b19jYXJ0X2J1dHRvbntcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmLmJ1dHRvbi5sb2FkaW5ne1xuICAgICAgICAgICAgb3BhY2l0eTogMC43NTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAhaW1wb3J0YW50O1xuICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mYS1zaG9wcGluZy1iYXNrZXR7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMS41cyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBmYS1zcGluIDEuNXMgaW5maW5pdGUgbGluZWFyO1xuICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjFjZVwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuYWRkLWNhcnR7XG4gICAgICAgIC5hZGRfdG9fY2FydF9idXR0b24sXG4gICAgICAgIC5wcm9kdWN0X3R5cGVfc2ltcGxlLFxuICAgICAgICAucHJvZHVjdF90eXBlX2V4dGVybmFsLFxuICAgICAgICAucHJvZHVjdF90eXBlX2dyb3VwZWQsXG4gICAgICAgIC5wcm9kdWN0X3R5cGVfdmFyaWFibGUge1xuICAgICAgICAgICAgJi5hZGRlZHtcbiAgICAgICAgICAgICAgICBpe1xuICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudGl0bGUtY2FydHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjM1cyBlYXNlIDBzKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5ICgwKTtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsIDEpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA5O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjUlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMgKDJweCk7XG4gICAgICAgICAgICAgICAgdG9wOiAtMzBweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMjBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS10YWJsZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTUlO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHJnYmEoMCwwLDAsMC44KTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLW1vei1jYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtd2Via2l0LWNhbGMoNTAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAudGl0bGUtY2FydHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zNXMgZWFzZSAwcyk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkgKDEpO1xuICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgIHRvcDogLTQwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaSxlbXsgXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBpLGVte1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMzVzIGVhc2UgMHMpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9ICBcbiAgICAucXVpY2stdmlld3tcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiA1NXB4O1xuICAgICAgICB3aWR0aDogNTVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQ6I2JjYmNiYztcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjM1cyBlYXNlIDBzKTtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkgKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5ICgwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIH1cbiAgICAgICAgYXtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICBzcGFue1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjM1cyBlYXNlIDBzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkgKDApO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB6LWluZGV4OiA5O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzICgycHgpO1xuICAgICAgICAgICAgdG9wOiAtMzBweDtcbiAgICAgICAgICAgIGxlZnQ6IC1tb3otY2FsYygxMDAlIC0gNjBweCk7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IC13ZWJraXQtY2FsYygxMDAlIC0gNjBweCk7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAzNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMzVzIGVhc2UgMHMpO1xuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zNXMgZWFzZSAwcyk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSAoMSk7XG4gICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgIHRvcDogLTQwcHg7XG4gICAgICAgICAgICB9ICAgICAgICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2FwdGlvbntcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OjMwcHg7XG4gICAgICAgIC5uYW1le1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfSBcbiAgICAgICAgIC5yYXRpbmcge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9ICAgICAgICAgICAgIFxuICAgIH0gXG4gICAgLmJ1dHRvbi1hY3Rpb257XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKXsgXG4gICAgICAgICAgICByaWdodDogMzBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogNTBweDtcbiAgICAgICAgICAgIGhlaWdodDogMDsgICAgXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjM1cyBlYXNlIDBzKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkgKDApO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjM1cztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMsIHRyYW5zZm9ybSAwLjM1cztcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsMCwwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLDAsMCk7XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgIFxuICAgICAgICA+IGRpdnsgICAgIFxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmLnlpdGgtd2N3bC1hZGQtdG8td2lzaGxpc3QsICYuY29tcGFyZS1idXR0b24sICYuYWRkLWNhcnR7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDJweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOndoaXRlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhLmFkZF90b193aXNobGlzdCwgYS5jb21wYXJlLCBhLmFkZF90b19jYXJ0X2J1dHRvbiwgLnlpdGgtd2N3bC13aXNobGlzdGFkZGVkYnJvd3NlIGEsIC55aXRoLXdjd2wtd2lzaGxpc3RleGlzdHNicm93c2UgYXtcbiAgICAgICAgICAgICAgICAgICAgc3BhbntcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zNXMgZWFzZSAwcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5ICgwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyAoMnB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtbW96LWNhbGMoMTAwJSAtIDYwcHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtd2Via2l0LWNhbGMoMTAwJSAtIDYwcHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMzVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGksZW17XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDsgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGl7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjM1cyBlYXNlIDBzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjM1cyBlYXNlIDBzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkgKDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtNDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpLGVteyBcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMzVzIGVhc2UgMHMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgICAgJi5hZGQtY2FydHtcbiAgICAgICAgICAgICAgICBhLmFkZF90b19jYXJ0X2J1dHRvbntcbiAgICAgICAgICAgICAgICAgICAgaXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9ICAgXG4gICAgICAgICAgICBcbiAgICAgICAgICAgICYuY29tcGFyZS1idXR0b257XG4gICAgICAgICAgICAgICAgLmNvbXBhcmUuYWRkZWQge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNDBweCwgNDBweCk7XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwZWNcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaXplKDQwcHgsIDQwcHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IFxuICAgICAgICAgICAgLnRpdGxle1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYueWl0aC13Y3dsLWFkZC10by13aXNobGlzdHtcbiAgICAgICAgICAgICAgICAuYWpheC1sb2FkaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gXG4gICAgICAgICAgICAmLmNsZWFye1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjpob3ZlcnsgIFxuICAgICAgICAuaW1hZ2V7XG4gICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zNXMgZWFzZSAwcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gICAgICBcbiAgICAgICAgLnF1aWNrLXZpZXd7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjM1cyBlYXNlIDBzKTtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSAoMSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5ICgxKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5idXR0b24tYWN0aW9ueyBcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7ICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5ICgxKTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSAoMSk7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbmRpdltjbGFzcyo9XCJhZGQtdG8td2lzaGxpc3RcIl17XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICAuYWpheC1sb2FkaW5ne1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbn1cbmEuYWRkX3RvX3dpc2hsaXN0e1xuICAgIGRpc3BsYXk6IGJsb2NrOyAgICBcbn1cbi55aXRoLXdjd2wtYWRkLXRvLXdpc2hsaXN0e1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qKlxuICogUHJvZHVjdHMgTGlzdGluZyBJbiBHcmlkIFN0eWxlXG4gKi9cbi5wcm9kdWN0cy1ncmlke1xuICAgIG92ZXJmbG93OmhpZGRlbjsgICBcbiAgICAucm93LXByb2R1Y3Rze1xuICAgIH1cbiAgICBkaXYucHJvZHVjdHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAgICAgXG5cbiAgICB9XG4gICAgLmZpcnN0e1xuICAgICAgICBjbGVhcjpib3RoO1xuICAgIH1cbn1cbi5ncmlke1xuICAgIC5hZGRfdG9fd2lzaGxpc3QsLnF1aWNrdmlld3tcbiAgICAgICAgc3BhbntcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4ucHJvZHVjdHMtbGlzdCwubGlzdHsgICAgXG4gICAgLnJhdGluZ3tcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICAgICAgLnN0YXItcmF0aW5ne1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pe1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW57XG4gICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2xlYXJ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5wcm9kdWN0LWJsb2Nre1xuICAgICAgICBib3JkZXItdG9wOnNvbGlkIDFweCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIC5uYW1le1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pbWFnZXtcbiAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pe1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20pe1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnByb2R1Y3QtYXNzZXRzIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKXtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICBcbiAgICAgICAgICAgIC5wcmljZXsgXG4gICAgICAgICAgICAgICAgJiA+ICp7IFxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFkZC1jYXJ0e1xuICAgICAgICAgICAgaXtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIC5hZGQtY2FydHtcbiAgICAgICAgICAgIC5hZGRfdG9fY2FydF9idXR0b24sXG4gICAgICAgICAgICAucHJvZHVjdF90eXBlX3NpbXBsZSxcbiAgICAgICAgICAgIC5wcm9kdWN0X3R5cGVfZXh0ZXJuYWwsXG4gICAgICAgICAgICAucHJvZHVjdF90eXBlX2dyb3VwZWQsXG4gICAgICAgICAgICAucHJvZHVjdF90eXBlX3ZhcmlhYmxlIHtcbiAgICAgICAgICAgICAgICAmLmFkZGVke1xuICAgICAgICAgICAgICAgICAgICBpe1xuICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnRpdGxlLWNhcnR7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lOyBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpLGVteyBcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgLnRpdGxlLWNhcnR7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zbXMgZWFzZS1vdXQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGksZW17XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zbXMgZWFzZS1vdXQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH0gIFxuICAgICAgICAueWl0aC13Y3dsLXdpc2hsaXN0YWRkZWRicm93c2UsXG4gICAgICAgIC55aXRoLXdjd2wtYWRkLWJ1dHRvbixcbiAgICAgICAgLnlpdGgtd2N3bC13aXNobGlzdGV4aXN0c2Jyb3dzZSB7XG4gICAgICAgICAgICBhLFxuICAgICAgICAgICAgYS5hZGRfdG9fd2lzaGxpc3Qge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGEuY29tcGFyZXtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmFkZGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9ICBcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi14cykge1xuICAgICAgICAgICAgLmFkZC1idXR0b257XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0cy1jYXJvdXNlbCB7XG4gICAgLnByb2R1Y3QtYmxvY2stbGlzdCB7XG4gICAgICAgIC5yYXRpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAub3dsLWl0ZW0uYWN0aXZlICsgLm93bC1pdGVtLmFjdGl2ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBydGwtYm9yZGVyLWxlZnQoMXB4IHNvbGlkICRib3JkZXItY29sb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9kdWN0LWNhcm91c2VsLWl0ZW06bGFzdC1jaGlsZHtcbiAgICAgICAgLnByb2R1Y3QtYmxvY2t7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuLnByb2R1Y3QtYmxvY2stbGlzdCB7XG4gICAgLnByb2R1Y3QtYmxvY2t7XG4gICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICRib3JkZXItY29sb3ItYmFzZTsgIFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEpO1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJvdHRvbSB7XG4gICAgICAgICAgICBjbGVhcjogYm90aDsgICAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgc3Bhbi5vbnNhbGUge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgcnRsLXJpZ2h0KDE1cHgpO1xuICAgICAgICB9XG4gICAgfVxuICAgICsgLnByb2R1Y3QtYmxvY2stbGlzdDpsYXN0LWNoaWxkIHtcbiAgICAgICAgLnByb2R1Y3QtYmxvY2sge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5tZWRpYS1sZWZ0IHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmFkZC1jYXJ0LCAucmF0aW5nLCAub25zYWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmltYWdlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBydGwtbWFyZ2luLXJpZ2h0KDE1cHgpO1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgLmdyb3VwcyB7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC10ZXh0LWFsaWduLWxlZnQoKTsgICAgICAgIFxuICAgIH1cbn1cblxuLyoqXG4gKiBTaW5nbGUgcHJvZHVjdFxuICovXG5cbi5zaW5nbGVfdmFyaWF0aW9uX3dyYXAge1xuICAgIC5zaW5nbGVfdmFyaWF0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgICAgICAgcGFkZGluZzogMjBweCAzMHB4IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICBRdWFudGl0eSBpbnB1dHNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ucXVhbnRpdHkge1xuICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG4gICAgbWFyZ2luICAgOiAwIGF1dG87XG4gICAgb3ZlcmZsb3cgOiBoaWRkZW47XG4gICAgem9vbSAgICAgOiAxO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHNwYW57XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICsgMjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxuICAgIGlucHV0LnF0eSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7ICAgICAgXG4gICAgICAgIEBpbmNsdWRlIHNpemUoNDVweCwgNTRweCk7ICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wbHVzLCAubWludXMge1xuICAgICAgICBiYWNrZ3JvdW5kICAgICAgOiAkd2hpdGU7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgY2xlYXI6IHJpZ2h0O1xuICAgICAgICBkaXNwbGF5ICAgICAgICAgOiBibG9jaztcbiAgICAgICAgcGFkZGluZyAgICAgICAgIDogMDtcbiAgICAgICAgbWFyZ2luICAgICAgICAgIDogMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ24gIDogdGV4dC10b3A7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbiA6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93ICAgICAgICA6IHZpc2libGU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbiA6IG5vbmU7XG4gICAgICAgIGN1cnNvciAgICAgICAgICA6IHBvaW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0ICAgICA6IDEzcHg7XG4gICAgICAgIGZvbnQtc2l6ZSAgICAgICA6IDEycHg7XG4gICAgICAgIGNvbG9yICAgICAgICAgICA6ICR0ZXh0LWNvbG9yO1xuICAgICAgICBib3JkZXIgICAgICAgICAgOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDI1cHggLCAxOXB4KTtcbiAgICB9XG4gICAgLnBsdXMge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgIC5taW51cyB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICAgIH1cbn1cblxuXG4vKiBTaW5nbGUgPiBNZXRhICovXG4ucHJvZHVjdF9tZXRhe1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGJvcmRlci10b3A6MXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgcGFkZGluZzoyMHB4IDA7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBhe1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgPiBzcGFue1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xuXHR9XG4gICAgPiBkaXZ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICAkdGhlbWUtbWFyZ2luIC8gMjtcbiAgICB9XG4gICAgLnBvc3RlZF9pbiwudGFnZ2VkX2Fze1xuICAgICAgICBhe1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuICAgIH1cbn0gXG4uc2t1X3dyYXBwZXIgc3BhbiB7Y29sb3I6ICR0ZXh0LWNvbG9yOyB9XG5cbi8qIGNyb3NzLXNlbGxzICovXG4ud29vY29tbWVyY2V7XG4gICAgLmNyb3NzLXNlbGxzLC5jYXJ0X3RvdGFsc3tcbiAgICAgICAgcGFkZGluZzowIDIwcHg7XG4gICAgICAgIC5wcm9kdWN0c3tcbiAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzpub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuLy8tLS0tLS0tLS0tLS0tLS1cbi5zaW5nbGUtcHJvZHVjdHtcbiAgICAmLndvb2NvbW1lcmNlIHtcbiAgICAgICAgZGl2LnByb2R1Y3R7XG4gICAgICAgICAgICBwLnByaWNle1xuICAgICAgICAgICAgICAgIGNvbG9yOiRsaW5rLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTozNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICBpbnN7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3JtLmNhcnR7IFxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7ICBcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyAgICAgXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7ICAgICAgIFxuICAgICAgICAgICAgICAgIGRpdi5xdWFudGl0eXtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBpbnB1dC5xdHl7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmMGYwZjA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzcHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6JHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nIDogMTJweCAzNXB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOjA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToyMHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOi00cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6MnB4IHNvbGlkICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4Oi0xO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjRzIGVhc2Utb3V0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpe1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDokdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2Utb3V0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKC00cHgsLTRweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9ICAgXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnZhcmlhdGlvbnN7XG4gICAgICAgICAgICAgICAgICAgIC5sYWJlbHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDsgICAgICAgICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdHJ7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3JtLnZhcmlhdGlvbnNfZm9ybXtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAuY2FydHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZ3tcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIC5zdGFyLXJhdGluZ3tcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmMWNhMzE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFkZHRoaXN7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnF1YW50aXR5eyAgICAgICAgICAgIFxuICAgICAgICAgICAgLnF0eXtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAgICAgICAgXG4gICAgfSBcbiAgICAucHJvZHVjdC1pbmZve1xuICAgICAgICAuY2FydHtcbiAgICAgICAgICAgIC8qIGZsb2F0OiBsZWZ0OyAqL1xuICAgICAgICAgICAgLnZhcmlhdGlvbnN7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweCFpbXBvcnRhbnQ7IFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmdyb3VwX3RhYmxlIHtcbiAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBkZWwgc3BhbntcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubGFiZWx7IFxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAgaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5xdWFudGl0eSAucXR5e1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICA0NHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC55aXRoLXdjd2wtYWRkLXRvLXdpc2hsaXN0e1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29tcGFyZS1idXR0b24sXG4gICAgICAgICAgICAueWl0aC13Y3dsLWFkZC10by13aXNobGlzdHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIGksZW17XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweCAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDoxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIHNwYW57XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgLmNvbXBhcmUtYnV0dG9ue1xuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGl7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAueWl0aC13Y3dsLWFkZC10by13aXNobGlzdHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDM3cHg7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGksZW17XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICsgLnlpdGgtd2N3bC1hZGQtdG8td2lzaGxpc3R7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG4gICAgLnN1bW1hcnl7XG4gICAgICAgQGluY2x1ZGUgZm9udC1zaXplKGZvbnQtc2l6ZSwgJHNpbmdsZS1wcm9kdWN0LXN1bW1hcnktZm9udC1zaXplKTsgIFxuICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7ICAgICBcbiAgICAgICAgLnN0YXItcmF0aW5ne1xuICAgICAgICAgICAgZm9udC1zaXplOjEycHg7XG4gICAgICAgIH1cbiAgICAgICAgLnByb2R1Y3RfbWV0YXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjMwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9ICAgICAgICAgICAgXG4gICAgfVxuICAgIC5zaW5nbGUtbGF5b3V0NSxcbiAgICAuc2luZ2xlLWxheW91dDMsXG4gICAgLnNpbmdsZS1sYXlvdXQyIHtcbiAgICAgICAgLndpZGdldC1yZXZpZXdzIHtcbiAgICAgICAgICAgIC5jb21tZW50cy1pbm5lcntcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2shaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnJldmlld3Mtc3VtbWFyeSxcbiAgICAgICAgICAgIC5jb21tZW50cy1ncm91cCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucmV2aWV3cy1zdW1tYXJ5OmJlZm9yZXtcbiAgICAgICAgICAgICAgICB3aWR0aDogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3Qtc2luZ2xlLW5hdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgID4gLnBzbmF2IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDQwcHgpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4Ym94KCk7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9IFxuICAgID4gLnBzbmF2LnJpZ2h0IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfSBcbiAgICA+IGRpdiBpbWcge1xuICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgICAuc2luZ2xlX25hdiB7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgcGFkZGluZzogMThweCAyMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoOTBkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWF4LXdpZHRoOiAyMzBweDtcbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgKntcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLnByb2R1Y3Qtc2luZ2xlLW5hdiAucHNuYXYgLnNpbmdsZV9uYXYge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAwcztcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4ucHJvZHVjdC1zaW5nbGUtbmF2IC5wc25hdjpob3ZlciAuc2luZ2xlX25hdiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQ2F0ZWdvcnkgQW5kIExpc3RpbmcgUGFnZVxuICovXG5cbiAvLyBzdHlsaW5nIHNvcnRvcmRlciBhbmQgZGlzcGxheSBtb2RlXG4ucHJvZHVjdHMtdG9wLXdyYXB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgLndvb2NvbW1lcmNlLW9yZGVyaW5neyAgICAgICAgXG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgIHNlbGVjdHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgICAgICAgICAgIGhlaWdodDo0MnB4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgICB9XG4gICAgfVxuICAgIC5kaXNwbGF5LW1vZGV7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgICAgICBjb2xvcjogI2IxYjFiMTsgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgJi5hY3RpdmV7XG4gICAgICAgICAgICAgICAgY29sb3I6JGxpbmstY29sb3I7XG4gICAgICAgICAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmZvY3Vze1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gICAgICAgIFxuICAgICAgICBidXR0b246Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgfSBcbiAgICAgICAgYnV0dG9ue1xuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYXRlZ29yeS1iYW5uZXJ7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnByb2R1Y3RzLWJvdHRvbS13cmFwe1xuICAgIC53b29jb21tZXJjZS1wYWdpbmF0aW9ue1xuICAgICAgICBmbG9hdDogbGVmdDsgICAgICAgIFxuICAgIH1cbiAgICBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbntcbiAgICAgICAgdWwucGFnZS1udW1iZXJzIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAucGFnZS1udW1iZXJze1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSg0NHB4LCA0NHB4KTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxMDAlKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7ICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zNXMgZWFzZSAwcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzcGFuLmN1cnJlbnR7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zNXMgZWFzZSAwcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgfVxuICAgIC53b29jb21tZXJjZS1yZXN1bHQtY291bnR7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luOjhweCAwO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjODY5MzllO1xuICAgIH1cbiAgICBtYXJnaW46IDMwcHggMCA1MHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgIFF1aWNrdmlld1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiNvcGFsLXF1aWNrdmlldy1tb2RhbHtcbiAgICAubW9kYWwtZGlhbG9ne1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkZWx7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAuYW1vdW50e1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbntcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLm1vZGFsLWxnIHtcbiAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KXtcbiAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTVweCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9kdWN0LWluZm97XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAuc3Rhci1yYXRpbmd7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBzdGFyO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDUuNGVtO1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFw1M1xcNTNcXDUzXFw1M1xcNTNcIjtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2RjZGNkYztcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcGFue1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMS41ZW07XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFw1M1xcNTNcXDUzXFw1M1xcNTNcIjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zdW1tYXJ5e1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcXVpY2t2aWV3LXByb2R1Y3QtY29udGVudC1tYXJnaW47XG4gICAgICAgICAgICB3aWR0aDogOTUlO1xuICAgICAgICB9XG4gICAgICAgIC5wcm9kdWN0X3RpdGxle1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKGZvbnQtc2l6ZSwkcXVpY2t2aWV3LXByb2R1Y3QtdGl0bGUtZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdF9tZXRhe1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgICBwLnByaWNle1xuICAgICAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZToyNHB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgICAgICB9XG4gICAgICAgIGEuYWRkX3RvX2NhcnRfYnV0dG9ue1xuICAgICAgICAgICAgYmFja2dyb3VuZDokdGhlbWUtY29sb3I7XG4gICAgICAgICAgICBwYWRkaW5nIDogMTJweCAzNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOjA7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgZm9udC1zaXplOjIwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogLTRweDtcbiAgICAgICAgICAgICAgICBib3R0b206LTRweDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBib3JkZXI6MnB4IHNvbGlkICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6LTE7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjRzIGVhc2Utb3V0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGl7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDokdGhlbWUtY29sb3I7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZS1vdXQpO1xuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgtNHB4LC00cHgpO1xuICAgICAgICAgICAgICAgIH0gICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2xvc2V7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAuZmEsLmljb257XG4gICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICNxdWlja3ZpZXctY2Fyb3VzZWx7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAubGVmdHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnJpZ2h0e1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jYXJvdXNlbC1pbmRpY2F0b3Jze1xuICAgICAgICBsaXtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC5hY3RpdmV7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2Fyb3VzZWwtY29udHJvbHtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIG1hcmdpbjogNDUlIGF1dG87XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjQ1cyBlYXNlKTtcbiAgICAgICAgJi5sZWZ0e1xuICAgICAgICAgICAgbGVmdDogLTQ1cHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5yaWdodHtcbiAgICAgICAgICAgIHJpZ2h0OiAtNDVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvd3tcbiAgICBtYXJnaW46IDIycHggMCAxMXB4O1xuICAgIHBhZGRpbmc6IDA7XG59XG4ud29vY29tbWVyY2UtY2FydCB0YWJsZS5jYXJ0IC5wcm9kdWN0LXRodW1ibmFpbCBpbWd7XG4gICAgd2lkdGg6ICA2MHB4O1xufVxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAuZ3JvdXBfdGFibGUgdGQubGFiZWx7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnJ0bHtcbiAgICAmLndvb2NvbW1lcmNlICNjb250ZW50IGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMsIFxuICAgICYud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LmltYWdlcywgXG4gICAgJi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IGRpdi5wcm9kdWN0IGRpdi5pbWFnZXMsIFxuICAgICYud29vY29tbWVyY2UtcGFnZSBkaXYucHJvZHVjdCBkaXYuaW1hZ2VzIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbn1cbi5ydGx7XG4gICAgJi53b29jb21tZXJjZSAjY29udGVudCBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSwgXG4gICAgJi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSwgXG4gICAgJi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5LCBcbiAgICAmLndvb2NvbW1lcmNlLXBhZ2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG59XG5cbi8qICBcbiBMYXlvdXQgZm9yIHNpbmdsZSBwcm9kdWN0c1xuKi9cblxuLy8gYWNjb3JkaW9uIHRhYnNcbi5hY2NvcmRpb24tZ3JvdXB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHggIWltcG9ydGFudDtcbiAgICAucGFuZWx7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICAgICAgbWFyZ2luOiAwIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyAoMCk7XG4gICAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnRhYnMtdGl0bGV7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBpe1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnBhbmVsLWNvbGxhcHNle1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIHByb2R1Y3Qgd29vY29tbWVyY2UgdGFic1xuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzLmhvcml6b250YWwtdGFic3tcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIHVsLnRhYnN7XG4gICAgICAgIHBhZGRpbmc6MzBweCAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICAgIGxpe1xuICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czowO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgPiBhIHsgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNjNGNhY2Y7XG4gICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6JHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciwgJjpiZWZvcmUsICYuYWN0aXZlOmJlZm9yZSwgJi5hY3RpdmU6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgPiBhe1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOm5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFZlcnRpY2FsIFRhYnNcbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAudmVydGljYWwtdGFicyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICB1bC50YWJze1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDIwcHggMjBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAtMnB4IDAgMDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjUwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czowO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHggMTVweCAwO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJHRoZW1lLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0ycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6YWZ0ZXIsICY6YmVmb3JlLCAmLmFjdGl2ZTpiZWZvcmUsICYuYWN0aXZlOmFmdGVye1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZXtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOm5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnBhbmVsIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICB1bC50YWJze1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6MDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjYmRjNmNmO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6YWZ0ZXIsICY6YmVmb3JlLCAmLmFjdGl2ZTpiZWZvcmUsICYuYWN0aXZlOmFmdGVye1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZXtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICAucGFuZWwge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIH1cbiAgICAjcmV2aWV3c3tcbiAgICAgICAgLmNvbW1lbnRzLWlubmVye1xuICAgICAgICAgICAgZGlzcGxheTogIGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIC5jb21tZW50cy1ncm91cCwucmV2aWV3cy1zdW1tYXJ5e1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIGZ1bGwtdGV4dFxuLmZ1bGwtdGV4dCB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICBoMi50aXRsZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIH1cbiAgICAuZW50cnktY29udGVudHtcbiAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxufVxuLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlc3tcbiAgICB0ZCwgdGh7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgICBib3JkZXI6IG5vbmU7XG59XG4vKipcbiAqIENoZWNrb3V0IFBhZ2VcbiAqL1xuXG4ud29vY29tbWVyY2UgLmNhcnQgLmJ1dHRvbiwgLndvb2NvbW1lcmNlIC5jYXJ0IGlucHV0LmJ1dHRvbntcbiAgICBoZWlnaHQ6IDQ4cHg7XG59XG4ud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmRpc2FibGVkLCAud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0OmRpc2FibGVkLCAud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0OmRpc2FibGVkW2Rpc2FibGVkXSwgLndvb2NvbW1lcmNlIGEuYnV0dG9uLmRpc2FibGVkLCAud29vY29tbWVyY2UgYS5idXR0b246ZGlzYWJsZWQsIC53b29jb21tZXJjZSBhLmJ1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmRpc2FibGVkLCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbjpkaXNhYmxlZCwgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLCAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLmRpc2FibGVkLCAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uOmRpc2FibGVkLCAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXXtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG59XG5cbi8qKlxuICogVGhhbmtzIHlvdSBwYWdlXG4gKi9cbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKipcbiAqIEZvcm0gU3R5bGVzXG4gKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vLy8vIG5vcm1hbCBidXR0b25cbi53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLCAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9ue1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIDxzZWxlY3Q+cyBpbiBDU1MuXG4gICAgcGFkZGluZzogMTRweCAzNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6JHRoZW1lLWNvbG9yO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAmOmhvdmVye1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNtcyBlYXNlLWluLW91dCk7XG4gICAgICAgIGJhY2tncm91bmQ6ZGFya2VuKCR0aGVtZS1jb2xvciwgNSUpIDtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbn1cbi53b29jb21tZXJjZSAjcmVzcG9uZCBwLmZvcm0tc3VibWl0e1xuICAgIGJhY2tncm91bmQ6JHRoZW1lLWNvbG9yO1xuICAgIHBhZGRpbmcgOiAxMnB4IDUwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgYm9yZGVyLXJhZGl1czowO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtc2l6ZToyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgYm9yZGVyOm5vbmU7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgJjpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZDokdGhlbWUtY29sb3I7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyBlYXNlLW91dCk7XG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoLTRweCwtNHB4KTtcbiAgICAgICAgfSAgIFxuICAgIH1cbiAgICAmOmFmdGVye1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtNHB4O1xuICAgICAgICBib3R0b206LTRweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyOjJweCBzb2xpZCAkdGhlbWUtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICAgIHotaW5kZXg6LTE7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC40cyBlYXNlLW91dCk7XG4gICAgfVxufVxuLndvb2NvbW1lcmNlICNyZXNwb25kIHAuZm9ybS1zdWJtaXQgaW5wdXQjc3VibWl0e1xuICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6MDtcbn1cbi53b29jb21tZXJjZSBhLmJ1dHRvbiwgYS55aXRoLXdjd2wtYWRkLWJ1dHRvbntcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7ICAgXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgICAgPiAqIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICB9XG4gICAgJjpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDsgICAgICAgIFxuICAgICAgICBjb2xvcjogJHRoZW1lLWNvbG9yO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjM1cyBlYXNlIDBzKTtcbiAgICB9XG59XG4ud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLmlucHV0LWNoZWNrYm94e1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyAuaW5wdXQtdGV4dDpmb2N1cywgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybSAuZm9ybS1yb3cgLmlucHV0LXRleHQ6Zm9jdXMsXG4gLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHRleHRhcmVhOmZvY3VzLCAud29vY29tbWVyY2Ugc2VsZWN0OmZvY3VzLCAud29vY29tbWVyY2UtY2FydCB0YWJsZS5jYXJ0IGlucHV0LmlucHV0LXRleHQ6Zm9jdXMsXG4ud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLmlucHV0LXRleHQ6Zm9jdXMsIC53b29jb21tZXJjZS1wYWdlIGZvcm0gLmZvcm0tcm93IC5pbnB1dC10ZXh0OmZvY3VzLFxuLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHRleHRhcmVhOmZvY3VzLCAud29vY29tbWVyY2Ugc2VsZWN0OmZvY3VzLCAud29vY29tbWVyY2UtY2FydCB0YWJsZS5jYXJ0IGlucHV0LmlucHV0LXRleHQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvciFpbXBvcnRhbnQ7XG59XG4vLy8gc3VibWlzc2lvbiBidXR0b25zXG4ud29vY29tbWVyY2UgYS5idXR0b24uYWx0e1xuICAgIGJhY2tncm91bmQ6ICR0aGVtZS1jb2xvcjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMTRweCAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAmOmhvdmVye1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNtcyBlYXNlLWluLW91dCk7XG4gICAgICAgIGJhY2tncm91bmQ6ZGFya2VuKCR0aGVtZS1jb2xvciwgNSUpIDtcbiAgICB9XG59IFxuLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5hbHQsLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0LCAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLmFsdHtcbiAgICBiYWNrZ3JvdW5kOiR0aGVtZS1jb2xvcjtcbiAgICBwYWRkaW5nIDogMTJweCAzNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6MDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXNpemU6MjBweDtcbiAgICBmb250LXdlaWdodDpib2xkO1xuICAgIGJvcmRlcjpub25lO1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICY6aG92ZXJ7XG4gICAgICAgIGJhY2tncm91bmQ6JHRoZW1lLWNvbG9yO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZS1vdXQpO1xuICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlKC00cHgsLTRweCk7XG4gICAgICAgIH0gICBcbiAgICB9XG4gICAgJjphZnRlcntcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTRweDtcbiAgICAgICAgYm90dG9tOi00cHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlcjoycHggc29saWQgJHRoZW1lLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgICAgICB6LWluZGV4Oi0xO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuNHMgZWFzZS1vdXQpO1xuICAgIH1cbn1cbiBcbi8vLyBhZGQgdG8gY2FydCBidXR0b24gYW5kIGJ1eSBwcm9kdWN0IGJ1dHRvblxuIC53b29jb21tZXJjZSAgYS5hZGRfdG9fY2FydF9idXR0b24sIC53b29jb21tZXJjZSBhLnByb2R1Y3RfdHlwZV9leHRlcm5hbCwgI21haW4tY29udGFpbmVyIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLnNpbmdsZV9hZGRfdG9fY2FydF9idXR0b24ge1xuICAgIGl7XG4gICAgICAgIGNvbG9yOiAkZ3JheS1kYXJrO1xuICAgIH1cbiAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH0gXG59XG4ud29vY29tbWVyY2UgLndpc2hsaXN0X3RhYmxlIHRkLnByb2R1Y3QtYWRkLXRvLWNhcnQgYXtcbiAgICBiYWNrZ3JvdW5kOiAkdGhlbWUtY29sb3I7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgJjpob3ZlcntcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG4vLy8gXG5cblxuLyoqXG4gKiBJbnB1dCBGb3JtIFN0eWxlc1xuICovXG4vLy8vIGlucHV0IGFuZCB0ZXh0YXJlYS4gc3R5bGVzIGV4dGVuZGVkIGZyb20gYm9vdHN0cmFwIGZvcm1cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyAuaW5wdXQtdGV4dCwgLndvb2NvbW1lcmNlLXBhZ2UgZm9ybSAuZm9ybS1yb3cgLmlucHV0LXRleHQsIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyB0ZXh0YXJlYSwgXG4gLndvb2NvbW1lcmNlIHNlbGVjdCwgLndvb2NvbW1lcmNlLWNhcnQgdGFibGUuY2FydCBpbnB1dC5pbnB1dC10ZXh0IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlOyAvLyBNYWtlIGlucHV0cyBhdCBsZWFzdCB0aGUgaGVpZ2h0IG9mIHRoZWlyIGJ1dHRvbiBjb3VudGVycGFydCAoYmFzZSBsaW5lLWhlaWdodCArIHBhZGRpbmcgKyBib3JkZXIpXG5cdHBhZGRpbmc6ICRwYWRkaW5nLWJhc2UtdmVydGljYWwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuXHRmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcblx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuXHRjb2xvcjogJGlucHV0LWNvbG9yO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxuXHRib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuXHRib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1czsgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgPHNlbGVjdD5zIGluIENTUy5cblx0QGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwwKSk7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1cyk7XG5cblx0Ly8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuXHRAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXM7XG5cblx0Ly8gUGxhY2Vob2xkZXJcblx0QGluY2x1ZGUgcGxhY2Vob2xkZXI7XG5cblx0Ly8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcblx0Ly9cblx0Ly8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcblx0Ly8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2Vcblx0Ly8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuXHQmW2Rpc2FibGVkXSxcblx0JltyZWFkb25seV0sXG5cdGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctZGlzYWJsZWQ7XG5cdFx0b3BhY2l0eTogMTsgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NVxuXHR9XG5cblx0JltkaXNhYmxlZF0sXG5cdGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcblx0XHRjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG5cdH1cbn1cbi53b29jb21tZXJjZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmJ1dHRvbiwgLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCwgXG4ud29vY29tbWVyY2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIGlucHV0LCAud29vY29tbWVyY2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5idXR0b24sIFxuLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCwgLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyBpbnB1dCwgXG4ud29vY29tbWVyY2UtcGFnZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmJ1dHRvbiwgLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0LCBcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyBpbnB1dCwgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5idXR0b24sIFxuLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0LCAud29vY29tbWVyY2UtcGFnZSB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgaW5wdXR7XG4gICAgd2lkdGg6IGF1dG8haW1wb3J0YW50O1xufVxuLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHRleHRhcmVhe1xuICAgbWluLWhlaWdodDogMTAwcHg7ICAgXG59XG4ud29vY29tbWVyY2UtY2FydCB0YWJsZS5jYXJ0IGlucHV0e1xuICAgbGluZS1oZWlnaHQ6IDEuNjI4NTc7XG4gICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpe1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1waG9uZSl7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46MTBweCAwO1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCwgXG4ud29vY29tbWVyY2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0LFxuLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0LFxuLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0IHtcbiAgICB3aWR0aDogYXV0byFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogOXB4IDtcbn1cbi53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQuZGlzYWJsZWQsIC53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQ6ZGlzYWJsZWQsIFxuLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdFtkaXNhYmxlZF06ZGlzYWJsZWQsIC53b29jb21tZXJjZSBhLmJ1dHRvbi5kaXNhYmxlZCwgXG4ud29vY29tbWVyY2UgYS5idXR0b246ZGlzYWJsZWQsIC53b29jb21tZXJjZSBhLmJ1dHRvbltkaXNhYmxlZF06ZGlzYWJsZWQsIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmRpc2FibGVkLCBcbi53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOmRpc2FibGVkLCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbltkaXNhYmxlZF06ZGlzYWJsZWQsIFxuLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbi5kaXNhYmxlZCwgLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbjpkaXNhYmxlZCwgLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbltkaXNhYmxlZF06ZGlzYWJsZWR7XG4gICAgcGFkZGluZy10b3A6IDAgO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5hZGRlZDo6YWZ0ZXIsIC53b29jb21tZXJjZSBhLmJ1dHRvbi5hZGRlZDo6YWZ0ZXIsIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFkZGVkOjphZnRlciwgLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbi5hZGRlZDo6YWZ0ZXJ7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdG9wOiAxNXB4O1xuICAgIHJpZ2h0OiAtMTVweDtcbn1cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS12YWxpZGF0ZWQgLnNlbGVjdDItY29udGFpbmVyLCBcbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS12YWxpZGF0ZWQgaW5wdXQuaW5wdXQtdGV4dCwgXG4ud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cud29vY29tbWVyY2UtdmFsaWRhdGVkIHNlbGVjdCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdGhlbWUtY29sb3I7XG59XG4ud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3ctZmlyc3QsIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy1sYXN0LCBcbi53b29jb21tZXJjZS1wYWdlIGZvcm0gLmZvcm0tcm93LWZpcnN0LCAud29vY29tbWVyY2UtcGFnZSBmb3JtIC5mb3JtLXJvdy1sYXN0e1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWluKSB7XG4gICAgICAgIGZsb2F0OiBub25lIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGF1dG8haW1wb3J0YW50O1xuICAgIH1cbn1cbi8vIHRhYlxuLndvb2NvbW1lcmNlLXRhYnN7XG4gICAgLnBhbmVsIHtcbiAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgIG1hcmdpbjowICFpbXBvcnRhbnQ7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gICAgfVxuICAgIC5zaG9wX2F0dHJpYnV0ZXN7XG4gICAgICAgIGJvcmRlcjowICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UgLnF1YW50aXR5IC5xdHl7XG4gICAgIHdpZHRoOiA3MHB4O1xuICAgICBwYWRkaW5nLWxlZnQ6IDE1cHghaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweCFpbXBvcnRhbnQ7XG59XG4ud29vY29tbWVyY2UtY2FydCB0YWJsZS5jYXJ0IGlucHV0e1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgICBsaW5lLWhlaWdodDogIDQycHg7XG59XG4ud29vY29tbWVyY2UgLmNvbDItc2V0IC5jb2wtMiwgLndvb2NvbW1lcmNlLXBhZ2UgLmNvbDItc2V0IC5jb2wtMixcbi53b29jb21tZXJjZSAuY29sMi1zZXQgLmNvbC0xLCAud29vY29tbWVyY2UtcGFnZSAuY29sMi1zZXQgLmNvbC0xe1xuICAgIGZsb2F0OiBub25lO1xuICAgICB3aWR0aDogMTAwJTtcblxufVxuLndvb2NvbW1lcmNlLWNoZWNrb3V0e1xuICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG59XG4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItY2hvaWNle1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICBoZWlnaHQ6IDQycHg7XG4gICAgbGluZS1oZWlnaHQ6IDQycHg7XG59XG5cbi53b29jb21tZXJjZS1lcnJvciwgLndvb2NvbW1lcmNlLWluZm8sIC53b29jb21tZXJjZS1tZXNzYWdle1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgcGFkZGluZzogIDEwcHggMjVweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDNweCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgJjpiZWZvcmV7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICAgIGF7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi53b29jb21tZXJjZS1lcnJvcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRicmFuZC1kYW5nZXIsIDQwJSk7XG4gICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRicmFuZC1kYW5nZXIsIDIwJSk7XG59IFxuLndvb2NvbW1lcmNlLWluZm97XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYnJhbmQtaW5mbywgMzAlKTtcbiAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGJyYW5kLWluZm8sIDI1JSk7XG59IFxuLndvb2NvbW1lcmNlLW1lc3NhZ2V7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYnJhbmQtd2FybmluZywgMzAlKTtcbiAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGJyYW5kLXdhcm5pbmcsIDIwJSk7XG59XG4ud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxle1xuICAgIHRoe1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTVweCFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4IWltcG9ydGFudDtcbiAgICB9XG4gICAgdGR7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gICAgLm9yZGVyLXRvdGFsIC53b29jb21tZXJjZS1QcmljZS1hbW91bnR7XG4gICAgICAgIGNvbG9yOiAkdGhlbWUtY29sb3I7XG4gICAgfVxufSBcblxuLndvb2NvbW1lcmNlLWNoZWNrb3V0IGlucHV0LmJ1dHRvbntcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGVfcmVzcG9uc2l2ZSB0ciB0ZCwgXG4ud29vY29tbWVyY2UtcGFnZSB0YWJsZS5zaG9wX3RhYmxlX3Jlc3BvbnNpdmUgdHIgdGR7XG4gICAg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 */
