@charset "UTF-8";
/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
.container, .content, .contact-form {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px; }
  .container:before, .content:before, .contact-form:before, .container:after, .content:after, .contact-form:after {
    content: " ";
    display: table; }
  .container:after, .content:after, .contact-form:after {
    clear: both; }
  @media (min-width: 768px) {
    .container, .content, .contact-form {
      width: 750px; } }
  @media (min-width: 992px) {
    .container, .content, .contact-form {
      width: 970px; } }
  @media (min-width: 1200px) {
    .container, .content, .contact-form {
      width: 1170px; } }

.container-fluid, .content-full {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px; }
  .container-fluid:before, .content-full:before, .container-fluid:after, .content-full:after {
    content: " ";
    display: table; }
  .container-fluid:after, .content-full:after {
    clear: both; }

.row {
  margin-left: -15px;
  margin-right: -15px; }
  .row:before, .row:after {
    content: " ";
    display: table; }
  .row:after {
    clear: both; }

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .registration-holder .col2, .choose-address-holder .col2, .shipping-holder .col2, .profile-acc-holder .col2, .col-md-2, .cart-wrap .row-holder .article-price, .cart-wrap .row-holder .article-quantity, .cart-wrap .row-holder .article-sum, .registration-holder .col2, .choose-address-holder .col2, .shipping-holder .col2, .profile-acc-holder .col2, .order-detail-holder .product-details .row-holder .article-price, .order-detail-holder .product-details .row-holder .article-quantity, .order-detail-holder .product-details .row-holder .article-sum, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .inner-page-wrap .shoes-list-holder .single-shoe-holder, .col-xs-4, .col-sm-4, .registration-holder .col4, .choose-address-holder .col4, .shipping-holder .col4, .profile-acc-holder .col4, .col-md-4, footer .footer-part-holder, .inner-page-wrap .shoes-list-holder .single-shoe-holder, .registration-holder .col4, .choose-address-holder .col4, .shipping-holder .col4, .profile-acc-holder .col4, .shoe-wrap .left-content, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .inner-page-wrap .shoes-list-holder .single-shoe-holder, .col-sm-6, .registration-holder .col6, .choose-address-holder .col6, .shipping-holder .col6, .profile-acc-holder .col6, .col-md-6, .cart-wrap .row-holder .article-pic, .registration-holder .col6, .choose-address-holder .col6, .shipping-holder .col6, .profile-acc-holder .col6, .order-detail-holder .product-details .row-holder .article-pic, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .shoe-wrap .right-content, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px; }

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .inner-page-wrap .shoes-list-holder .single-shoe-holder, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left; }

.col-xs-1 {
  width: 8.33333%; }

.col-xs-2 {
  width: 16.66667%; }

.col-xs-3 {
  width: 25%; }

.col-xs-4 {
  width: 33.33333%; }

.col-xs-5 {
  width: 41.66667%; }

.col-xs-6, .inner-page-wrap .shoes-list-holder .single-shoe-holder {
  width: 50%; }

.col-xs-7 {
  width: 58.33333%; }

.col-xs-8 {
  width: 66.66667%; }

.col-xs-9 {
  width: 75%; }

.col-xs-10 {
  width: 83.33333%; }

.col-xs-11 {
  width: 91.66667%; }

.col-xs-12 {
  width: 100%; }

.col-xs-pull-0 {
  right: auto; }

.col-xs-pull-1 {
  right: 8.33333%; }

.col-xs-pull-2 {
  right: 16.66667%; }

.col-xs-pull-3 {
  right: 25%; }

.col-xs-pull-4 {
  right: 33.33333%; }

.col-xs-pull-5 {
  right: 41.66667%; }

.col-xs-pull-6 {
  right: 50%; }

.col-xs-pull-7 {
  right: 58.33333%; }

.col-xs-pull-8 {
  right: 66.66667%; }

.col-xs-pull-9 {
  right: 75%; }

.col-xs-pull-10 {
  right: 83.33333%; }

.col-xs-pull-11 {
  right: 91.66667%; }

.col-xs-pull-12 {
  right: 100%; }

.col-xs-push-0 {
  left: auto; }

.col-xs-push-1 {
  left: 8.33333%; }

.col-xs-push-2 {
  left: 16.66667%; }

.col-xs-push-3 {
  left: 25%; }

.col-xs-push-4 {
  left: 33.33333%; }

.col-xs-push-5 {
  left: 41.66667%; }

.col-xs-push-6 {
  left: 50%; }

.col-xs-push-7 {
  left: 58.33333%; }

.col-xs-push-8 {
  left: 66.66667%; }

.col-xs-push-9 {
  left: 75%; }

.col-xs-push-10 {
  left: 83.33333%; }

.col-xs-push-11 {
  left: 91.66667%; }

.col-xs-push-12 {
  left: 100%; }

.col-xs-offset-0 {
  margin-left: 0%; }

.col-xs-offset-1 {
  margin-left: 8.33333%; }

.col-xs-offset-2 {
  margin-left: 16.66667%; }

.col-xs-offset-3 {
  margin-left: 25%; }

.col-xs-offset-4 {
  margin-left: 33.33333%; }

.col-xs-offset-5 {
  margin-left: 41.66667%; }

.col-xs-offset-6 {
  margin-left: 50%; }

.col-xs-offset-7 {
  margin-left: 58.33333%; }

.col-xs-offset-8 {
  margin-left: 66.66667%; }

.col-xs-offset-9 {
  margin-left: 75%; }

.col-xs-offset-10 {
  margin-left: 83.33333%; }

.col-xs-offset-11 {
  margin-left: 91.66667%; }

.col-xs-offset-12 {
  margin-left: 100%; }

@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .registration-holder .col2, .choose-address-holder .col2, .shipping-holder .col2, .profile-acc-holder .col2, .col-sm-3, .col-sm-4, .registration-holder .col4, .choose-address-holder .col4, .shipping-holder .col4, .profile-acc-holder .col4, .col-sm-5, .col-sm-6, .registration-holder .col6, .choose-address-holder .col6, .shipping-holder .col6, .profile-acc-holder .col6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left; }
  .col-sm-1 {
    width: 8.33333%; }
  .col-sm-2, .registration-holder .col2, .choose-address-holder .col2, .shipping-holder .col2, .profile-acc-holder .col2 {
    width: 16.66667%; }
  .col-sm-3 {
    width: 25%; }
  .col-sm-4, .registration-holder .col4, .choose-address-holder .col4, .shipping-holder .col4, .profile-acc-holder .col4 {
    width: 33.33333%; }
  .col-sm-5 {
    width: 41.66667%; }
  .col-sm-6, .registration-holder .col6, .choose-address-holder .col6, .shipping-holder .col6, .profile-acc-holder .col6 {
    width: 50%; }
  .col-sm-7 {
    width: 58.33333%; }
  .col-sm-8 {
    width: 66.66667%; }
  .col-sm-9 {
    width: 75%; }
  .col-sm-10 {
    width: 83.33333%; }
  .col-sm-11 {
    width: 91.66667%; }
  .col-sm-12 {
    width: 100%; }
  .col-sm-pull-0 {
    right: auto; }
  .col-sm-pull-1 {
    right: 8.33333%; }
  .col-sm-pull-2 {
    right: 16.66667%; }
  .col-sm-pull-3 {
    right: 25%; }
  .col-sm-pull-4 {
    right: 33.33333%; }
  .col-sm-pull-5 {
    right: 41.66667%; }
  .col-sm-pull-6 {
    right: 50%; }
  .col-sm-pull-7 {
    right: 58.33333%; }
  .col-sm-pull-8 {
    right: 66.66667%; }
  .col-sm-pull-9 {
    right: 75%; }
  .col-sm-pull-10 {
    right: 83.33333%; }
  .col-sm-pull-11 {
    right: 91.66667%; }
  .col-sm-pull-12 {
    right: 100%; }
  .col-sm-push-0 {
    left: auto; }
  .col-sm-push-1 {
    left: 8.33333%; }
  .col-sm-push-2 {
    left: 16.66667%; }
  .col-sm-push-3 {
    left: 25%; }
  .col-sm-push-4 {
    left: 33.33333%; }
  .col-sm-push-5 {
    left: 41.66667%; }
  .col-sm-push-6 {
    left: 50%; }
  .col-sm-push-7 {
    left: 58.33333%; }
  .col-sm-push-8 {
    left: 66.66667%; }
  .col-sm-push-9 {
    left: 75%; }
  .col-sm-push-10 {
    left: 83.33333%; }
  .col-sm-push-11 {
    left: 91.66667%; }
  .col-sm-push-12 {
    left: 100%; }
  .col-sm-offset-0 {
    margin-left: 0%; }
  .col-sm-offset-1 {
    margin-left: 8.33333%; }
  .col-sm-offset-2 {
    margin-left: 16.66667%; }
  .col-sm-offset-3 {
    margin-left: 25%; }
  .col-sm-offset-4 {
    margin-left: 33.33333%; }
  .col-sm-offset-5 {
    margin-left: 41.66667%; }
  .col-sm-offset-6 {
    margin-left: 50%; }
  .col-sm-offset-7 {
    margin-left: 58.33333%; }
  .col-sm-offset-8 {
    margin-left: 66.66667%; }
  .col-sm-offset-9 {
    margin-left: 75%; }
  .col-sm-offset-10 {
    margin-left: 83.33333%; }
  .col-sm-offset-11 {
    margin-left: 91.66667%; }
  .col-sm-offset-12 {
    margin-left: 100%; } }

@media (min-width: 992px) {
  .col-md-1, .col-md-2, .cart-wrap .row-holder .article-price, .cart-wrap .row-holder .article-quantity, .cart-wrap .row-holder .article-sum, .registration-holder .col2, .choose-address-holder .col2, .shipping-holder .col2, .profile-acc-holder .col2, .order-detail-holder .product-details .row-holder .article-price, .order-detail-holder .product-details .row-holder .article-quantity, .order-detail-holder .product-details .row-holder .article-sum, .col-md-3, .col-md-4, footer .footer-part-holder, .inner-page-wrap .shoes-list-holder .single-shoe-holder, .registration-holder .col4, .choose-address-holder .col4, .shipping-holder .col4, .profile-acc-holder .col4, .shoe-wrap .left-content, .col-md-5, .col-md-6, .cart-wrap .row-holder .article-pic, .registration-holder .col6, .choose-address-holder .col6, .shipping-holder .col6, .profile-acc-holder .col6, .order-detail-holder .product-details .row-holder .article-pic, .col-md-7, .col-md-8, .shoe-wrap .right-content, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left; }
  .col-md-1 {
    width: 8.33333%; }
  .col-md-2, .cart-wrap .row-holder .article-price, .cart-wrap .row-holder .article-quantity, .cart-wrap .row-holder .article-sum, .registration-holder .col2, .choose-address-holder .col2, .shipping-holder .col2, .profile-acc-holder .col2, .order-detail-holder .product-details .row-holder .article-price, .order-detail-holder .product-details .row-holder .article-quantity, .order-detail-holder .product-details .row-holder .article-sum {
    width: 16.66667%; }
  .col-md-3 {
    width: 25%; }
  .col-md-4, footer .footer-part-holder, .inner-page-wrap .shoes-list-holder .single-shoe-holder, .registration-holder .col4, .choose-address-holder .col4, .shipping-holder .col4, .profile-acc-holder .col4, .shoe-wrap .left-content {
    width: 33.33333%; }
  .col-md-5 {
    width: 41.66667%; }
  .col-md-6, .cart-wrap .row-holder .article-pic, .registration-holder .col6, .choose-address-holder .col6, .shipping-holder .col6, .profile-acc-holder .col6, .order-detail-holder .product-details .row-holder .article-pic {
    width: 50%; }
  .col-md-7 {
    width: 58.33333%; }
  .col-md-8, .shoe-wrap .right-content {
    width: 66.66667%; }
  .col-md-9 {
    width: 75%; }
  .col-md-10 {
    width: 83.33333%; }
  .col-md-11 {
    width: 91.66667%; }
  .col-md-12 {
    width: 100%; }
  .col-md-pull-0 {
    right: auto; }
  .col-md-pull-1 {
    right: 8.33333%; }
  .col-md-pull-2 {
    right: 16.66667%; }
  .col-md-pull-3 {
    right: 25%; }
  .col-md-pull-4 {
    right: 33.33333%; }
  .col-md-pull-5 {
    right: 41.66667%; }
  .col-md-pull-6 {
    right: 50%; }
  .col-md-pull-7 {
    right: 58.33333%; }
  .col-md-pull-8 {
    right: 66.66667%; }
  .col-md-pull-9 {
    right: 75%; }
  .col-md-pull-10 {
    right: 83.33333%; }
  .col-md-pull-11 {
    right: 91.66667%; }
  .col-md-pull-12 {
    right: 100%; }
  .col-md-push-0 {
    left: auto; }
  .col-md-push-1 {
    left: 8.33333%; }
  .col-md-push-2 {
    left: 16.66667%; }
  .col-md-push-3 {
    left: 25%; }
  .col-md-push-4 {
    left: 33.33333%; }
  .col-md-push-5 {
    left: 41.66667%; }
  .col-md-push-6 {
    left: 50%; }
  .col-md-push-7 {
    left: 58.33333%; }
  .col-md-push-8 {
    left: 66.66667%; }
  .col-md-push-9 {
    left: 75%; }
  .col-md-push-10 {
    left: 83.33333%; }
  .col-md-push-11 {
    left: 91.66667%; }
  .col-md-push-12 {
    left: 100%; }
  .col-md-offset-0 {
    margin-left: 0%; }
  .col-md-offset-1 {
    margin-left: 8.33333%; }
  .col-md-offset-2 {
    margin-left: 16.66667%; }
  .col-md-offset-3 {
    margin-left: 25%; }
  .col-md-offset-4 {
    margin-left: 33.33333%; }
  .col-md-offset-5 {
    margin-left: 41.66667%; }
  .col-md-offset-6 {
    margin-left: 50%; }
  .col-md-offset-7 {
    margin-left: 58.33333%; }
  .col-md-offset-8 {
    margin-left: 66.66667%; }
  .col-md-offset-9 {
    margin-left: 75%; }
  .col-md-offset-10 {
    margin-left: 83.33333%; }
  .col-md-offset-11 {
    margin-left: 91.66667%; }
  .col-md-offset-12 {
    margin-left: 100%; } }

@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .inner-page-wrap .shoes-list-holder .single-shoe-holder, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left; }
  .col-lg-1 {
    width: 8.33333%; }
  .col-lg-2 {
    width: 16.66667%; }
  .col-lg-3, .inner-page-wrap .shoes-list-holder .single-shoe-holder {
    width: 25%; }
  .col-lg-4 {
    width: 33.33333%; }
  .col-lg-5 {
    width: 41.66667%; }
  .col-lg-6 {
    width: 50%; }
  .col-lg-7 {
    width: 58.33333%; }
  .col-lg-8 {
    width: 66.66667%; }
  .col-lg-9 {
    width: 75%; }
  .col-lg-10 {
    width: 83.33333%; }
  .col-lg-11 {
    width: 91.66667%; }
  .col-lg-12 {
    width: 100%; }
  .col-lg-pull-0 {
    right: auto; }
  .col-lg-pull-1 {
    right: 8.33333%; }
  .col-lg-pull-2 {
    right: 16.66667%; }
  .col-lg-pull-3 {
    right: 25%; }
  .col-lg-pull-4 {
    right: 33.33333%; }
  .col-lg-pull-5 {
    right: 41.66667%; }
  .col-lg-pull-6 {
    right: 50%; }
  .col-lg-pull-7 {
    right: 58.33333%; }
  .col-lg-pull-8 {
    right: 66.66667%; }
  .col-lg-pull-9 {
    right: 75%; }
  .col-lg-pull-10 {
    right: 83.33333%; }
  .col-lg-pull-11 {
    right: 91.66667%; }
  .col-lg-pull-12 {
    right: 100%; }
  .col-lg-push-0 {
    left: auto; }
  .col-lg-push-1 {
    left: 8.33333%; }
  .col-lg-push-2 {
    left: 16.66667%; }
  .col-lg-push-3 {
    left: 25%; }
  .col-lg-push-4 {
    left: 33.33333%; }
  .col-lg-push-5 {
    left: 41.66667%; }
  .col-lg-push-6 {
    left: 50%; }
  .col-lg-push-7 {
    left: 58.33333%; }
  .col-lg-push-8 {
    left: 66.66667%; }
  .col-lg-push-9 {
    left: 75%; }
  .col-lg-push-10 {
    left: 83.33333%; }
  .col-lg-push-11 {
    left: 91.66667%; }
  .col-lg-push-12 {
    left: 100%; }
  .col-lg-offset-0 {
    margin-left: 0%; }
  .col-lg-offset-1 {
    margin-left: 8.33333%; }
  .col-lg-offset-2 {
    margin-left: 16.66667%; }
  .col-lg-offset-3 {
    margin-left: 25%; }
  .col-lg-offset-4 {
    margin-left: 33.33333%; }
  .col-lg-offset-5 {
    margin-left: 41.66667%; }
  .col-lg-offset-6 {
    margin-left: 50%; }
  .col-lg-offset-7 {
    margin-left: 58.33333%; }
  .col-lg-offset-8 {
    margin-left: 66.66667%; }
  .col-lg-offset-9 {
    margin-left: 75%; }
  .col-lg-offset-10 {
    margin-left: 83.33333%; }
  .col-lg-offset-11 {
    margin-left: 91.66667%; }
  .col-lg-offset-12 {
    margin-left: 100%; } }

.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden; }
  .embed-responsive .embed-responsive-item,
  .embed-responsive iframe,
  .embed-responsive embed,
  .embed-responsive object,
  .embed-responsive video {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    border: 0; }

.embed-responsive-16by9 {
  padding-bottom: 56.25%; }

.embed-responsive-4by3 {
  padding-bottom: 75%; }

.clearfix:before, .clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.pull-right {
  float: right !important; }

.pull-left {
  float: left !important; }

.hide {
  display: none !important; }

.show {
  display: block !important; }

.invisible {
  visibility: hidden; }

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0; }

.hidden {
  display: none !important; }

.affix {
  position: fixed; }

@-ms-viewport {
  width: device-width; }

.visible-xs {
  display: none !important; }

.visible-sm {
  display: none !important; }

.visible-md {
  display: none !important; }

.visible-lg {
  display: none !important; }

.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important; }

@media (max-width: 767px) {
  .visible-xs {
    display: block !important; }
  table.visible-xs {
    display: table !important; }
  tr.visible-xs {
    display: table-row !important; }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important; } }

@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important; } }

@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important; } }

@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important; }
  table.visible-sm {
    display: table !important; }
  tr.visible-sm {
    display: table-row !important; }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important; }
  table.visible-md {
    display: table !important; }
  tr.visible-md {
    display: table-row !important; }
  th.visible-md,
  td.visible-md {
    display: table-cell !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important; } }

@media (min-width: 1200px) {
  .visible-lg {
    display: block !important; }
  table.visible-lg {
    display: table !important; }
  tr.visible-lg {
    display: table-row !important; }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important; } }

@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important; } }

@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important; } }

@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important; } }

@media (max-width: 767px) {
  .hidden-xs {
    display: none !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important; } }

@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important; } }

.visible-print {
  display: none !important; }

@media print {
  .visible-print {
    display: block !important; }
  table.visible-print {
    display: table !important; }
  tr.visible-print {
    display: table-row !important; }
  th.visible-print,
  td.visible-print {
    display: table-cell !important; } }

.visible-print-block {
  display: none !important; }
  @media print {
    .visible-print-block {
      display: block !important; } }

.visible-print-inline {
  display: none !important; }
  @media print {
    .visible-print-inline {
      display: inline !important; } }

.visible-print-inline-block {
  display: none !important; }
  @media print {
    .visible-print-inline-block {
      display: inline-block !important; } }

@media print {
  .hidden-print {
    display: none !important; } }

.select2-container {
  box-sizing: border-box;
  display: inline-block;
  margin: 0;
  position: relative;
  vertical-align: middle; }
  .select2-container .select2-selection--single {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    height: 28px;
    user-select: none;
    -webkit-user-select: none; }
    .select2-container .select2-selection--single .select2-selection__rendered {
      display: block;
      padding-left: 8px;
      padding-right: 20px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap; }
    .select2-container .select2-selection--single .select2-selection__clear {
      position: relative; }
  .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
    padding-right: 8px;
    padding-left: 20px; }
  .select2-container .select2-selection--multiple {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    min-height: 32px;
    user-select: none;
    -webkit-user-select: none; }
    .select2-container .select2-selection--multiple .select2-selection__rendered {
      display: inline-block;
      overflow: hidden;
      padding-left: 8px;
      text-overflow: ellipsis;
      white-space: nowrap; }
  .select2-container .select2-search--inline {
    float: left; }
    .select2-container .select2-search--inline .select2-search__field {
      box-sizing: border-box;
      border: none;
      font-size: 100%;
      margin-top: 5px;
      padding: 0; }
      .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
        -webkit-appearance: none; }

.select2-dropdown {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  box-sizing: border-box;
  display: block;
  position: absolute;
  left: -100000px;
  width: 100%;
  z-index: 1051; }

.select2-results {
  display: block; }

.select2-results__options {
  list-style: none;
  margin: 0;
  padding: 0; }

.select2-results__option {
  padding: 6px;
  user-select: none;
  -webkit-user-select: none; }
  .select2-results__option[aria-selected] {
    cursor: pointer; }

.select2-container--open .select2-dropdown {
  left: 0; }

.select2-container--open .select2-dropdown--above {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--open .select2-dropdown--below {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-search--dropdown {
  display: block;
  padding: 4px; }
  .select2-search--dropdown .select2-search__field {
    padding: 4px;
    width: 100%;
    box-sizing: border-box; }
    .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
      -webkit-appearance: none; }
  .select2-search--dropdown.select2-search--hide {
    display: none; }

.select2-close-mask {
  border: 0;
  margin: 0;
  padding: 0;
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: auto;
  opacity: 0;
  z-index: 99;
  background-color: #fff;
  filter: alpha(opacity=0); }

.select2-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important; }

.select2-container--default .select2-selection--single {
  background-color: #fff;
  border: 1px solid #aaa;
  border-radius: 4px; }
  .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 28px; }
  .select2-container--default .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold; }
  .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #999; }
  .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px; }
    .select2-container--default .select2-selection--single .select2-selection__arrow b {
      border-color: #888 transparent transparent transparent;
      border-style: solid;
      border-width: 5px 4px 0 4px;
      height: 0;
      left: 50%;
      margin-left: -4px;
      margin-top: -2px;
      position: absolute;
      top: 50%;
      width: 0; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  left: 1px;
  right: auto; }

.select2-container--default.select2-container--disabled .select2-selection--single {
  background-color: #eee;
  cursor: default; }
  .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
    display: none; }

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px; }

.select2-container--default .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text; }
  .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    box-sizing: border-box;
    list-style: none;
    margin: 0;
    padding: 0 5px;
    width: 100%; }
    .select2-container--default .select2-selection--multiple .select2-selection__rendered li {
      list-style: none; }
  .select2-container--default .select2-selection--multiple .select2-selection__placeholder {
    color: #999;
    margin-top: 5px;
    float: left; }
  .select2-container--default .select2-selection--multiple .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold;
    margin-top: 5px;
    margin-right: 10px; }
  .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px; }
  .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #999;
    cursor: pointer;
    display: inline-block;
    font-weight: bold;
    margin-right: 2px; }
    .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
      color: #333; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
  float: right; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto; }

.select2-container--default.select2-container--focus .select2-selection--multiple {
  border: solid black 1px;
  outline: 0; }

.select2-container--default.select2-container--disabled .select2-selection--multiple {
  background-color: #eee;
  cursor: default; }

.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
  display: none; }

.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa; }

.select2-container--default .select2-search--inline .select2-search__field {
  background: transparent;
  border: none;
  outline: 0;
  box-shadow: none;
  -webkit-appearance: textfield; }

.select2-container--default .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--default .select2-results__option[role=group] {
  padding: 0; }

.select2-container--default .select2-results__option[aria-disabled=true] {
  color: #999; }

.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: #ddd; }

.select2-container--default .select2-results__option .select2-results__option {
  padding-left: 1em; }
  .select2-container--default .select2-results__option .select2-results__option .select2-results__group {
    padding-left: 0; }
  .select2-container--default .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -1em;
    padding-left: 2em; }
    .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
      margin-left: -2em;
      padding-left: 3em; }
      .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
        margin-left: -3em;
        padding-left: 4em; }
        .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
          margin-left: -4em;
          padding-left: 5em; }
          .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
            margin-left: -5em;
            padding-left: 6em; }

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #5897fb;
  color: white; }

.select2-container--default .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic .select2-selection--single {
  background-color: #f7f7f7;
  border: 1px solid #aaa;
  border-radius: 4px;
  outline: 0;
  background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
  background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
  background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
  .select2-container--classic .select2-selection--single:focus {
    border: 1px solid #5897fb; }
  .select2-container--classic .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 28px; }
  .select2-container--classic .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold;
    margin-right: 10px; }
  .select2-container--classic .select2-selection--single .select2-selection__placeholder {
    color: #999; }
  .select2-container--classic .select2-selection--single .select2-selection__arrow {
    background-color: #ddd;
    border: none;
    border-left: 1px solid #aaa;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px;
    background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
    background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
    background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }
    .select2-container--classic .select2-selection--single .select2-selection__arrow b {
      border-color: #888 transparent transparent transparent;
      border-style: solid;
      border-width: 5px 4px 0 4px;
      height: 0;
      left: 50%;
      margin-left: -4px;
      margin-top: -2px;
      position: absolute;
      top: 50%;
      width: 0; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  border: none;
  border-right: 1px solid #aaa;
  border-radius: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  left: 1px;
  right: auto; }

.select2-container--classic.select2-container--open .select2-selection--single {
  border: 1px solid #5897fb; }
  .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
    background: transparent;
    border: none; }
    .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
      border-color: transparent transparent #888 transparent;
      border-width: 0 4px 5px 4px; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
  background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
  background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
  background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
  background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }

.select2-container--classic .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text;
  outline: 0; }
  .select2-container--classic .select2-selection--multiple:focus {
    border: 1px solid #5897fb; }
  .select2-container--classic .select2-selection--multiple .select2-selection__rendered {
    list-style: none;
    margin: 0;
    padding: 0 5px; }
  .select2-container--classic .select2-selection--multiple .select2-selection__clear {
    display: none; }
  .select2-container--classic .select2-selection--multiple .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px; }
  .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
    color: #888;
    cursor: pointer;
    display: inline-block;
    font-weight: bold;
    margin-right: 2px; }
    .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
      color: #555; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  float: right; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto; }

.select2-container--classic.select2-container--open .select2-selection--multiple {
  border: 1px solid #5897fb; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--classic .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
  outline: 0; }

.select2-container--classic .select2-search--inline .select2-search__field {
  outline: 0;
  box-shadow: none; }

.select2-container--classic .select2-dropdown {
  background-color: white;
  border: 1px solid transparent; }

.select2-container--classic .select2-dropdown--above {
  border-bottom: none; }

.select2-container--classic .select2-dropdown--below {
  border-top: none; }

.select2-container--classic .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--classic .select2-results__option[role=group] {
  padding: 0; }

.select2-container--classic .select2-results__option[aria-disabled=true] {
  color: grey; }

.select2-container--classic .select2-results__option--highlighted[aria-selected] {
  background-color: #3875d7;
  color: white; }

.select2-container--classic .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic.select2-container--open .select2-dropdown {
  border-color: #5897fb; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 15px 15px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
  .hamburger:hover {
    opacity: 0.7; }

.hamburger-box {
  width: 40px;
  height: 24px;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 40px;
    height: 4px;
    background-color: #000;
    border-radius: 4px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -10px; }
  .hamburger-inner::after {
    bottom: -10px; }

/*
   * 3DX
   */
.hamburger--3dx .hamburger-box {
  perspective: 80px; }

.hamburger--3dx .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dx .hamburger-inner::before, .hamburger--3dx .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dx.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateY(180deg); }
  .hamburger--3dx.is-active .hamburger-inner::before {
    transform: translate3d(0, 10px, 0) rotate(45deg); }
  .hamburger--3dx.is-active .hamburger-inner::after {
    transform: translate3d(0, -10px, 0) rotate(-45deg); }

/*
   * 3DX Reverse
   */
.hamburger--3dx-r .hamburger-box {
  perspective: 80px; }

.hamburger--3dx-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dx-r .hamburger-inner::before, .hamburger--3dx-r .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dx-r.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateY(-180deg); }
  .hamburger--3dx-r.is-active .hamburger-inner::before {
    transform: translate3d(0, 10px, 0) rotate(45deg); }
  .hamburger--3dx-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -10px, 0) rotate(-45deg); }

/*
   * 3DY
   */
.hamburger--3dy .hamburger-box {
  perspective: 80px; }

.hamburger--3dy .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dy .hamburger-inner::before, .hamburger--3dy .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dy.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateX(-180deg); }
  .hamburger--3dy.is-active .hamburger-inner::before {
    transform: translate3d(0, 10px, 0) rotate(45deg); }
  .hamburger--3dy.is-active .hamburger-inner::after {
    transform: translate3d(0, -10px, 0) rotate(-45deg); }

/*
   * 3DY Reverse
   */
.hamburger--3dy-r .hamburger-box {
  perspective: 80px; }

.hamburger--3dy-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dy-r .hamburger-inner::before, .hamburger--3dy-r .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dy-r.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateX(180deg); }
  .hamburger--3dy-r.is-active .hamburger-inner::before {
    transform: translate3d(0, 10px, 0) rotate(45deg); }
  .hamburger--3dy-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -10px, 0) rotate(-45deg); }

/*
   * Arrow
   */
.hamburger--arrow.is-active .hamburger-inner::before {
  transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1); }

.hamburger--arrow.is-active .hamburger-inner::after {
  transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1); }

/*
   * Arrow Right
   */
.hamburger--arrow-r.is-active .hamburger-inner::before {
  transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1); }

.hamburger--arrow-r.is-active .hamburger-inner::after {
  transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1); }

/*
   * Arrow Alt
   */
.hamburger--arrowalt .hamburger-inner::before {
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt.is-active .hamburger-inner::before {
  top: 0;
  transform: translate3d(-8px, -10px, 0) rotate(-45deg) scale(0.7, 1);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

.hamburger--arrowalt.is-active .hamburger-inner::after {
  bottom: 0;
  transform: translate3d(-8px, 10px, 0) rotate(45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

/*
   * Arrow Alt Right
   */
.hamburger--arrowalt-r .hamburger-inner::before {
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt-r .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt-r.is-active .hamburger-inner::before {
  top: 0;
  transform: translate3d(8px, -10px, 0) rotate(45deg) scale(0.7, 1);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

.hamburger--arrowalt-r.is-active .hamburger-inner::after {
  bottom: 0;
  transform: translate3d(8px, 10px, 0) rotate(-45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

/*
   * Boring
   */
.hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::before, .hamburger--boring .hamburger-inner::after {
  transition-property: none; }

.hamburger--boring.is-active .hamburger-inner {
  transform: rotate(45deg); }
  .hamburger--boring.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--boring.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg); }

/*
   * Collapse
   */
.hamburger--collapse .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--collapse .hamburger-inner::after {
    top: -20px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }
  .hamburger--collapse .hamburger-inner::before {
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--collapse.is-active .hamburger-inner {
  transform: translate3d(0, -10px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--collapse.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }
  .hamburger--collapse.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(-90deg);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Collapse Reverse
   */
.hamburger--collapse-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--collapse-r .hamburger-inner::after {
    top: -20px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }
  .hamburger--collapse-r .hamburger-inner::before {
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--collapse-r.is-active .hamburger-inner {
  transform: translate3d(0, -10px, 0) rotate(45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--collapse-r.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }
  .hamburger--collapse-r.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(90deg);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Elastic
   */
.hamburger--elastic .hamburger-inner {
  top: 2px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  .hamburger--elastic .hamburger-inner::before {
    top: 10px;
    transition: opacity 0.125s 0.275s ease; }
  .hamburger--elastic .hamburger-inner::after {
    top: 20px;
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }

.hamburger--elastic.is-active .hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(135deg);
  transition-delay: 0.075s; }
  .hamburger--elastic.is-active .hamburger-inner::before {
    transition-delay: 0s;
    opacity: 0; }
  .hamburger--elastic.is-active .hamburger-inner::after {
    transform: translate3d(0, -20px, 0) rotate(-270deg);
    transition-delay: 0.075s; }

/*
   * Elastic Reverse
   */
.hamburger--elastic-r .hamburger-inner {
  top: 2px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  .hamburger--elastic-r .hamburger-inner::before {
    top: 10px;
    transition: opacity 0.125s 0.275s ease; }
  .hamburger--elastic-r .hamburger-inner::after {
    top: 20px;
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }

.hamburger--elastic-r.is-active .hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(-135deg);
  transition-delay: 0.075s; }
  .hamburger--elastic-r.is-active .hamburger-inner::before {
    transition-delay: 0s;
    opacity: 0; }
  .hamburger--elastic-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -20px, 0) rotate(270deg);
    transition-delay: 0.075s; }

/*
   * Emphatic
   */
.hamburger--emphatic {
  overflow: hidden; }
  .hamburger--emphatic .hamburger-inner {
    transition: background-color 0.125s 0.175s ease-in; }
    .hamburger--emphatic .hamburger-inner::before {
      left: 0;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; }
    .hamburger--emphatic .hamburger-inner::after {
      top: 10px;
      right: 0;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; }
  .hamburger--emphatic.is-active .hamburger-inner {
    transition-delay: 0s;
    transition-timing-function: ease-out;
    background-color: transparent; }
    .hamburger--emphatic.is-active .hamburger-inner::before {
      left: -80px;
      top: -80px;
      transform: translate3d(80px, 80px, 0) rotate(45deg);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
    .hamburger--emphatic.is-active .hamburger-inner::after {
      right: -80px;
      top: -80px;
      transform: translate3d(-80px, 80px, 0) rotate(-45deg);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }

/*
   * Emphatic Reverse
   */
.hamburger--emphatic-r {
  overflow: hidden; }
  .hamburger--emphatic-r .hamburger-inner {
    transition: background-color 0.125s 0.175s ease-in; }
    .hamburger--emphatic-r .hamburger-inner::before {
      left: 0;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; }
    .hamburger--emphatic-r .hamburger-inner::after {
      top: 10px;
      right: 0;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; }
  .hamburger--emphatic-r.is-active .hamburger-inner {
    transition-delay: 0s;
    transition-timing-function: ease-out;
    background-color: transparent; }
    .hamburger--emphatic-r.is-active .hamburger-inner::before {
      left: -80px;
      top: 80px;
      transform: translate3d(80px, -80px, 0) rotate(-45deg);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
    .hamburger--emphatic-r.is-active .hamburger-inner::after {
      right: -80px;
      top: 80px;
      transform: translate3d(-80px, -80px, 0) rotate(45deg);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }

/*
   * Slider
   */
.hamburger--slider .hamburger-inner {
  top: 2px; }
  .hamburger--slider .hamburger-inner::before {
    top: 10px;
    transition-property: transform, opacity;
    transition-timing-function: ease;
    transition-duration: 0.15s; }
  .hamburger--slider .hamburger-inner::after {
    top: 20px; }

.hamburger--slider.is-active .hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(45deg); }
  .hamburger--slider.is-active .hamburger-inner::before {
    transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
    opacity: 0; }
  .hamburger--slider.is-active .hamburger-inner::after {
    transform: translate3d(0, -20px, 0) rotate(-90deg); }

/*
   * Slider Reverse
   */
.hamburger--slider-r .hamburger-inner {
  top: 2px; }
  .hamburger--slider-r .hamburger-inner::before {
    top: 10px;
    transition-property: transform, opacity;
    transition-timing-function: ease;
    transition-duration: 0.15s; }
  .hamburger--slider-r .hamburger-inner::after {
    top: 20px; }

.hamburger--slider-r.is-active .hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(-45deg); }
  .hamburger--slider-r.is-active .hamburger-inner::before {
    transform: rotate(45deg) translate3d(5.71429px, -6px, 0);
    opacity: 0; }
  .hamburger--slider-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -20px, 0) rotate(90deg); }

/*
   * Spring
   */
.hamburger--spring .hamburger-inner {
  top: 2px;
  transition: background-color 0s 0.13s linear; }
  .hamburger--spring .hamburger-inner::before {
    top: 10px;
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spring .hamburger-inner::after {
    top: 20px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spring.is-active .hamburger-inner {
  transition-delay: 0.22s;
  background-color: transparent; }
  .hamburger--spring.is-active .hamburger-inner::before {
    top: 0;
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 10px, 0) rotate(45deg); }
  .hamburger--spring.is-active .hamburger-inner::after {
    top: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 10px, 0) rotate(-45deg); }

/*
   * Spring Reverse
   */
.hamburger--spring-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spring-r .hamburger-inner::after {
    top: -20px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear; }
  .hamburger--spring-r .hamburger-inner::before {
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spring-r.is-active .hamburger-inner {
  transform: translate3d(0, -10px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spring-r.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear; }
  .hamburger--spring-r.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(90deg);
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Stand
   */
.hamburger--stand .hamburger-inner {
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; }
  .hamburger--stand .hamburger-inner::before {
    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--stand .hamburger-inner::after {
    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand.is-active .hamburger-inner {
  transform: rotate(90deg);
  background-color: transparent;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; }
  .hamburger--stand.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(-45deg);
    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--stand.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(45deg);
    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Stand Reverse
   */
.hamburger--stand-r .hamburger-inner {
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; }
  .hamburger--stand-r .hamburger-inner::before {
    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--stand-r .hamburger-inner::after {
    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand-r.is-active .hamburger-inner {
  transform: rotate(-90deg);
  background-color: transparent;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; }
  .hamburger--stand-r.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(-45deg);
    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--stand-r.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(45deg);
    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Spin
   */
.hamburger--spin .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spin .hamburger-inner::before {
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
  .hamburger--spin .hamburger-inner::after {
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin.is-active .hamburger-inner {
  transform: rotate(225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spin.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
  .hamburger--spin.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Spin Reverse
   */
.hamburger--spin-r .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spin-r .hamburger-inner::before {
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
  .hamburger--spin-r .hamburger-inner::after {
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin-r.is-active .hamburger-inner {
  transform: rotate(-225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spin-r.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
  .hamburger--spin-r.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(90deg);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Squeeze
   */
.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--squeeze .hamburger-inner::before {
    transition: top 0.075s 0.12s ease, opacity 0.075s ease; }
  .hamburger--squeeze .hamburger-inner::after {
    transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--squeeze.is-active .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--squeeze.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.075s ease, opacity 0.075s 0.12s ease; }
  .hamburger--squeeze.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Vortex
   */
.hamburger--vortex .hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after {
    transition-duration: 0s;
    transition-delay: 0.1s;
    transition-timing-function: linear; }
  .hamburger--vortex .hamburger-inner::before {
    transition-property: top, opacity; }
  .hamburger--vortex .hamburger-inner::after {
    transition-property: bottom, transform; }

.hamburger--vortex.is-active .hamburger-inner {
  transform: rotate(765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after {
    transition-delay: 0s; }
  .hamburger--vortex.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--vortex.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(90deg); }

/*
   * Vortex Reverse
   */
.hamburger--vortex-r .hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after {
    transition-duration: 0s;
    transition-delay: 0.1s;
    transition-timing-function: linear; }
  .hamburger--vortex-r .hamburger-inner::before {
    transition-property: top, opacity; }
  .hamburger--vortex-r .hamburger-inner::after {
    transition-property: bottom, transform; }

.hamburger--vortex-r.is-active .hamburger-inner {
  transform: rotate(-765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after {
    transition-delay: 0s; }
  .hamburger--vortex-r.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--vortex-r.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg); }

/* RESET CSS */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p,
blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins,
kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul,
li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption, footer, header, menu, nav, output, ruby, section,
summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after {
  content: '';
  content: none; }

q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  outline: none; }

a {
  text-decoration: none;
  color: inherit; }

img {
  display: block; }

@font-face {
  font-family: 'BrandonGrotesque-Regular';
  src: url("fonts/brandonGrotesque/Brandon Grotesque Regular.otf"); }

@font-face {
  font-family: 'BrandonGrotesque-Medium';
  src: url("fonts/brandonGrotesque/Brandon Grotesque Medium.otf"); }

@font-face {
  font-family: 'BrandonGrotesque-Black';
  src: url("fonts/brandonGrotesque/Brandon Grotesque Black.otf"); }

@font-face {
  font-family: 'BrandonGrotesque-Bold';
  src: url("fonts/brandonGrotesque/Brandon Grotesque Bold.otf"); }

@font-face {
  font-family: 'BrandonGrotesque-Light';
  src: url("fonts/brandonGrotesque/Brandon Grotesque Light.otf"); }

@font-face {
  font-family: 'Helvetica-Thin';
  src: url("fonts/Helvetica Neue/HelveticaNeueLTPro-Th.otf"); }

@font-face {
  font-family: 'Helvetica-Medium';
  src: url("fonts/Helvetica Neue/HelveticaNeueLTPro-Md.otf"); }

@font-face {
  font-family: 'Helvetica-Light';
  src: url("fonts/Helvetica Neue/HelveticaNeueLTPro-Lt.otf"); }

@font-face {
  font-family: 'Futura-StdBook';
  src: url("fonts/Futura/FuturaStd-Book.otf"); }

body {
  font-family: "BrandonGrotesque-Regular", sans-serif;
  color: #000;
  background: #fff; }

.slick-slider {
  background: url(plugins/slick/ajax-loader.gif); }
  .slick-slider .slick-list {
    opacity: 0;
    position: absolute; }
  .slick-slider.slick-initialized {
    background: none; }
    .slick-slider.slick-initialized .slick-list {
      opacity: 1;
      position: relative;
      transition: opacity 0.2s ease-in; }

.home-slides {
  visibility: hidden; }

.slick-initialized {
  visibility: visible; }

.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  background-color: #fff; }

.hamburger:hover {
  opacity: 1; }

.hamburger {
  display: block;
  margin: 0 auto;
  padding-top: 10px;
  position: relative;
  z-index: 99; }
  @media only screen and (max-width: 992px) {
    .hamburger {
      position: absolute;
      right: 15px;
      top: 10px; } }

.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden; }
  .video-container iframe, .video-container object, .video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

@font-face {
  font-family: 'icomoon';
  src: url("fonts/icomoon/icomoon.eot?95lnsn");
  src: url("fonts//icomoon/icomoon.eot?95lnsn#iefix") format("embedded-opentype"), url("fonts/icomoon/icomoon.ttf?95lnsn") format("truetype"), url("fonts/icomoon/icomoon.woff?95lnsn") format("woff"), url("fonts/icomoon/icomoon.svg?95lnsn#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-avatar_full:before {
  content: "\e901"; }

.icon-home_full:before {
  content: "\e902"; }

.icon-shopping-cart:before {
  content: "\e903"; }

.icon-logo_josh:before {
  content: "\e900"; }

.icon-avatar:before {
  content: "\e904"; }

.icon-checked:before {
  content: "\e905"; }

.icon-coins .path1:before {
  content: "\e906";
  color: #f1cd71; }

.icon-coins .path2:before {
  content: "\e907";
  margin-left: -1em;
  color: #efc75e; }

.icon-coins .path3:before {
  content: "\e908";
  margin-left: -1em;
  color: #cba950; }

.icon-coins .path4:before {
  content: "\e909";
  margin-left: -1em;
  color: #cba950; }

.icon-coins .path5:before {
  content: "\e90a";
  margin-left: -1em;
  color: #cba950; }

.icon-coins .path6:before {
  content: "\e90b";
  margin-left: -1em;
  color: #cba950; }

.icon-coins .path7:before {
  content: "\e90c";
  margin-left: -1em;
  color: #cba950; }

.icon-coins .path8:before {
  content: "\e90d";
  margin-left: -1em;
  color: #cba950; }

.icon-coins .path9:before {
  content: "\e90e";
  margin-left: -1em;
  color: #cba950; }

.icon-coins .path10:before {
  content: "\e90f";
  margin-left: -1em;
  color: #cba950; }

.icon-coins .path11:before {
  content: "\e910";
  margin-left: -1em;
  color: #cba950; }

.icon-coins .path12:before {
  content: "\e911";
  margin-left: -1em;
  color: #cba950; }

.icon-coins .path13:before {
  content: "\e912";
  margin-left: -1em;
  color: #cba950; }

.icon-coins .path14:before {
  content: "\e913";
  margin-left: -1em;
  color: #cba950; }

.icon-coins .path15:before {
  content: "\e914";
  margin-left: -1em;
  color: #cba950; }

.icon-coins .path16:before {
  content: "\e915";
  margin-left: -1em;
  color: #cba950; }

.icon-coins .path17:before {
  content: "\e916";
  margin-left: -1em;
  color: #cba950; }

.icon-coins .path18:before {
  content: "\e917";
  margin-left: -1em;
  color: #cba950; }

.icon-coins .path19:before {
  content: "\e918";
  margin-left: -1em;
  color: #cba950; }

.icon-coins .path20:before {
  content: "\e919";
  margin-left: -1em;
  color: #cba950; }

.icon-coins .path21:before {
  content: "\e91a";
  margin-left: -1em;
  color: #cba950; }

.icon-coins .path22:before {
  content: "\e91b";
  margin-left: -1em;
  color: #cba950; }

.icon-coins .path23:before {
  content: "\e91c";
  margin-left: -1em;
  color: #cba950; }

.icon-dashboard:before {
  content: "\e91d"; }

.icon-edit:before {
  content: "\e91e"; }

.icon-home:before {
  content: "\e91f"; }

.icon-home2:before {
  content: "\e920"; }

.icon-mastercard .path1:before {
  content: "\e921";
  color: #e2574c; }

.icon-mastercard .path2:before {
  content: "\e922";
  margin-left: -1em;
  color: #f4b459; }

.icon-newsletter:before {
  content: "\e923"; }

.icon-paypal .path1:before {
  content: "\e924";
  color: #26a6d1; }

.icon-paypal .path2:before {
  content: "\e925";
  margin-left: -1em;
  color: #324d5b; }

.icon-paypal .path3:before {
  content: "\e926";
  margin-left: -1em;
  color: #324d5b; }

.icon-shop:before {
  content: "\e927"; }

.icon-trash:before {
  content: "\e928"; }

.icon-visa .path1:before {
  content: "\e929";
  color: #2394bc; }

.icon-visa .path2:before {
  content: "\e92a";
  margin-left: -1em;
  color: #efc75e; }

/* Overlay style */
.overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.93);
  z-index: -1; }
  .overlay .overlay-close {
    width: 40px;
    height: 40px;
    position: absolute;
    right: 40px;
    top: 100px;
    overflow: hidden;
    border: none;
    background: url(images/cross.png) no-repeat center center;
    background-size: 60%;
    text-indent: 200%;
    color: transparent;
    outline: none;
    z-index: 100;
    cursor: pointer; }
  .overlay nav {
    text-align: center;
    position: relative;
    top: 175px;
    height: 60%;
    font-size: 35px; }
    @media only screen and (max-width: 992px) {
      .overlay nav {
        top: 85px;
        font-size: 28px; } }
  .overlay ul {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    display: inline-block;
    height: 100%;
    position: relative; }
    .overlay ul li {
      display: block;
      height: 60px;
      min-height: 54px; }
      .overlay ul li.locale-flag {
        height: auto !important; }
      @media only screen and (max-width: 992px) {
        .overlay ul li {
          height: 40px;
          min-height: 40px; } }
      .overlay ul li a {
        font-weight: 300;
        display: block;
        color: #fff;
        -webkit-transition: color 0.2s;
        transition: color 0.2s; }
        .overlay ul li a:hover, .overlay ul li a:focus {
          color: #BCBCBC; }
      .overlay ul li form {
        display: block;
        color: #fff;
        -webkit-transition: color 0.2s;
        transition: color 0.2s; }
        .overlay ul li form:hover, .overlay ul li form:focus {
          color: #BCBCBC; }
      .overlay ul li .submit-flag {
        width: 32px;
        height: 32px;
        position: relative;
        border: 0;
        cursor: pointer;
        white-space: nowrap;
        overflow: hidden;
        text-indent: -9999px; }
        .overlay ul li .submit-flag.flag-de {
          background: url(/assets/images/flag_de.png) no-repeat center center;
          background-size: contain; }
        .overlay ul li .submit-flag.flag-en {
          background: url(/assets/images/flag_en.png) no-repeat center center;
          background-size: contain; }
        .overlay ul li .submit-flag.flag-fr {
          background: url(/assets/images/flag_fr.png) no-repeat center center;
          background-size: contain; }
        .overlay ul li .submit-flag.flag-it {
          background: url(/assets/images/flag_it.png) no-repeat center center;
          background-size: contain; }

/* Overlay closing cross */
/* Menu style */
/* Effects */
.overlay-hugeinc {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.5s, visibility 0s 0.5s;
  transition: opacity 0.5s, visibility 0s 0.5s; }
  .overlay-hugeinc.open {
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s; }
  .overlay-hugeinc nav {
    -webkit-perspective: 1200px;
    perspective: 1200px; }
    .overlay-hugeinc nav ul {
      opacity: 0.4;
      -webkit-transform: translateY(-25%) rotateX(35deg);
      transform: translateY(-25%) rotateX(35deg);
      -webkit-transition: -webkit-transform 0.5s, opacity 0.5s;
      transition: transform 0.5s, opacity 0.5s; }
  .overlay-hugeinc.open nav ul {
    opacity: 1;
    -webkit-transform: rotateX(0deg);
    transform: rotateX(0deg); }
  .overlay-hugeinc.close nav ul {
    -webkit-transform: translateY(25%) rotateX(-35deg);
    transform: translateY(25%) rotateX(-35deg); }

header {
  position: relative;
  z-index: 999;
  height: 60px;
  background: #252525;
  color: #fff; }
  @media only screen and (max-width: 992px) {
    header {
      height: 65px; } }
  header .content-full {
    position: relative;
    background: #252525;
    padding: 0; }
    header .content-full:before, header .content-full:after {
      content: " ";
      display: table; }
    header .content-full:after {
      clear: both; }
  header .home-button {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    float: left;
    width: 220px;
    border-right: 1px solid #fff;
    height: 60px; }
    @media only screen and (max-width: 1200px) {
      header .home-button {
        width: 100px; } }
    @media only screen and (max-width: 992px) {
      header .home-button {
        padding-top: 8px;
        border-right: 0;
        z-index: 11; } }
    header .home-button span {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      font-size: 30px; }
  header .top-buttons {
    position: absolute;
    top: 0;
    right: 0;
    float: right;
    width: 320px;
    border-left: 1px solid #fff;
    height: 60px; }
    header .top-buttons:before, header .top-buttons:after {
      content: " ";
      display: table; }
    header .top-buttons:after {
      clear: both; }
    @media only screen and (max-width: 1200px) {
      header .top-buttons {
        width: 150px; } }
    @media only screen and (max-width: 992px) {
      header .top-buttons {
        display: none; } }
    header .top-buttons .locale-flag {
      float: left;
      position: relative;
      height: 60px;
      width: 33%; }
      header .top-buttons .locale-flag form {
        display: block;
        width: 100%;
        height: 100%;
        position: relative;
        cursor: pointer; }
        header .top-buttons .locale-flag form .submit-flag {
          width: 30px;
          height: 30px;
          border: 0;
          cursor: pointer;
          white-space: nowrap;
          overflow: hidden;
          text-indent: -9999px;
          margin: 15px auto;
          display: block; }
          header .top-buttons .locale-flag form .submit-flag.flag-de {
            background: url(/assets/images/flag_de.png) no-repeat center center;
            background-size: contain; }
          header .top-buttons .locale-flag form .submit-flag.flag-en {
            background: url(/assets/images/flag_en.png) no-repeat center center;
            background-size: contain; }
          header .top-buttons .locale-flag form .submit-flag.flag-fr {
            background: url(/assets/images/flag_fr.png) no-repeat center center;
            background-size: contain; }
          header .top-buttons .locale-flag form .submit-flag.flag-it {
            background: url(/assets/images/flag_it.png) no-repeat center center;
            background-size: contain; }
    header .top-buttons a {
      position: relative;
      float: right;
      width: 33%;
      height: 60px;
      display: block; }
      header .top-buttons a.active:after {
        top: 100%;
        left: 50%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        border-color: rgba(37, 37, 37, 0);
        border-top-color: #252525;
        border-width: 20px;
        margin-left: -20px; }
      header .top-buttons a span {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        font-size: 30px; }
      header .top-buttons a span.not-number {
        position: absolute;
        bottom: 0px;
        right: 25px;
        left: auto;
        top: auto;
        background: #e80000;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        color: #fff; }
        header .top-buttons a span.not-number b {
          position: absolute;
          top: 11px;
          left: 50%;
          transform: translate(-50%, -50%);
          font-size: 12px;
          font-weight: 100; }
  header .top-nav-holder {
    padding: 0 320px 0 220px;
    height: 60px; }
    header .top-nav-holder:before, header .top-nav-holder:after {
      content: " ";
      display: table; }
    header .top-nav-holder:after {
      clear: both; }
    @media only screen and (max-width: 1200px) {
      header .top-nav-holder {
        padding: 0 160px; } }
    @media only screen and (max-width: 992px) {
      header .top-nav-holder {
        display: none; } }
    header .top-nav-holder a {
      position: relative;
      display: block;
      width: 50%;
      float: left;
      text-align: center;
      height: 60px;
      font-family: "BrandonGrotesque-Bold", sans-serif;
      font-size: 20px;
      text-transform: uppercase;
      line-height: 60px; }
      header .top-nav-holder a.men-shoes-link {
        padding-right: 130px; }
        header .top-nav-holder a.men-shoes-link.active:after {
          top: 100%;
          left: calc(50% - 72px);
          border: solid transparent;
          content: " ";
          height: 0;
          width: 0;
          position: absolute;
          pointer-events: none;
          border-color: rgba(37, 37, 37, 0);
          border-top-color: #252525;
          border-width: 20px;
          margin-left: -20px; }
      header .top-nav-holder a.women-shoes-link {
        padding-left: 90px; }
        header .top-nav-holder a.women-shoes-link.active:after {
          top: 100%;
          left: calc(50% + 72px);
          border: solid transparent;
          content: " ";
          height: 0;
          width: 0;
          position: absolute;
          pointer-events: none;
          border-color: rgba(37, 37, 37, 0);
          border-top-color: #252525;
          border-width: 20px;
          margin-left: -20px; }
  header .header-logo-holder {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    width: 220px;
    height: 60px;
    background: #252525;
    z-index: 9;
    padding-top: 7px; }
    @media only screen and (max-width: 992px) {
      header .header-logo-holder {
        position: relative;
        top: initial;
        left: initial;
        -webkit-transform: translate(0, 0);
        -moz-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        -o-transform: translate(0, 0);
        transform: translate(0, 0);
        width: 100%;
        height: 65px; } }
    header .header-logo-holder .logo-holder {
      width: 130px;
      height: 102px;
      margin: -8px auto 0; }
      @media only screen and (max-width: 992px) {
        header .header-logo-holder .logo-holder {
          width: 100px;
          margin: 0 auto;
          height: 65px; } }
      @media only screen and (max-width: 992px) {
        header .header-logo-holder .logo-holder svg {
          margin-top: -17px; } }
      header .header-logo-holder .logo-holder .st0, header .header-logo-holder .logo-holder .st1 {
        fill: #fff; }
    header .header-logo-holder i {
      margin: 0 auto;
      display: block;
      text-align: center;
      font-size: 31px;
      -webkit-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
      -webkit-transition: all 0.1s ease-in-out;
      -o-transition: all 0.1s ease-in-out;
      transition: all 0.1s ease-in-out; }
    header .header-logo-holder:hover {
      cursor: pointer; }
      header .header-logo-holder:hover i {
        -webkit-transform: scale(1.1, 1.1);
        -moz-transform: scale(1.1, 1.1);
        -ms-transform: scale(1.1, 1.1);
        -o-transform: scale(1.1, 1.1);
        transform: scale(1.1, 1.1); }

#main-nav {
  position: fixed;
  top: 60px;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.93); }

.mobile-only {
  display: none !important; }
  @media only screen and (max-width: 992px) {
    .mobile-only {
      display: block !important; } }

.logo-holder {
  width: 80px;
  height: 65px;
  margin: -8px auto 0; }
  @media only screen and (max-width: 992px) {
    .logo-holder {
      margin: 0 auto; } }
  @media only screen and (max-width: 992px) {
    .logo-holder svg {
      margin-top: -17px; } }
  .logo-holder .st0, .logo-holder .st1 {
    fill: #fff; }

footer {
  background: #252525;
  padding: 55px 0;
  color: #fff;
  font-family: "Helvetica-Thin", sans-serif; }
  footer .content:before, footer .content:after {
    content: " ";
    display: table; }
  footer .content:after {
    clear: both; }
  footer .footer-part-holder .footer-part {
    padding: 0 30px; }
    @media only screen and (max-width: 992px) {
      footer .footer-part-holder .footer-part {
        margin-bottom: 35px; } }
    @media only screen and (max-width: 480px) {
      footer .footer-part-holder .footer-part {
        padding: 0; } }
  footer .footer-part-holder h4 {
    font-size: 25px;
    padding-bottom: 20px;
    margin-bottom: 30px;
    border-bottom: 1px solid #fff;
    letter-spacing: 0.05em; }
    @media only screen and (max-width: 992px) {
      footer .footer-part-holder h4 {
        font-size: 24px;
        padding-bottom: 15px;
        margin-bottom: 20px; } }
  footer .footer-part-holder p {
    font-size: 19px; }
    footer .footer-part-holder p a {
      margin-bottom: 20px;
      display: block; }
  footer .footer-part-holder input[type="email"] {
    height: 30px;
    width: 100%;
    margin-bottom: 20px;
    border: none;
    outline: none;
    font-family: "Helvetica-Thin", sans-serif;
    padding: 0 10px;
    font-size: 17px;
    line-height: 30px; }
  footer .footer-part-holder input[type="submit"] {
    width: 60px;
    height: 30px;
    float: right;
    background: #fff;
    border: none;
    outline: none;
    padding: 0;
    font-family: "Helvetica-Thin", sans-serif;
    font-size: 19px;
    line-height: 35px;
    cursor: pointer; }
  footer .footer-part-holder ul li a {
    display: block;
    font-size: 19px;
    margin-bottom: 10px;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    transition: all 0.2s linear; }
  footer .footer-part-holder ul li:hover {
    color: #BCBCBC; }

.footer-icon {
  font-size: 24px;
  margin-right: 15px;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  transition: all 0.2s linear; }
  .footer-icon:hover {
    color: #a5a5a5; }

.home-slides .slick-slide img {
  width: 100%; }

.home-slides .slick-prev, .home-slides .slick-next {
  width: 30px;
  height: 50px;
  background: rgba(235, 235, 235, 0.5);
  z-index: 9;
  -webkit-transition: all 0.1s linear;
  -o-transition: all 0.1s linear;
  transition: all 0.1s linear; }
  .home-slides .slick-prev:hover, .home-slides .slick-next:hover {
    background: #ebebeb; }
  .home-slides .slick-prev:hover:after, .home-slides .slick-next:hover:after {
    color: black; }
  .home-slides .slick-prev:hover:after, .home-slides .slick-next:hover:after {
    color: black; }

.home-slides .slick-prev::before, .home-slides .slick-next::before {
  content: '';
  font-size: 0; }

.home-slides .slick-prev::after, .home-slides .slick-next::after {
  font-family: 'FontAwesome';
  font-size: 31px;
  color: rgba(0, 0, 0, 0.5);
  line-height: 40px;
  -webkit-transition: all 0.1s linear;
  -o-transition: all 0.1s linear;
  transition: all 0.1s linear; }

.home-slides .slick-prev::after {
  content: '\f104';
  padding-right: 3px; }

.home-slides .slick-next::after {
  content: '\f105';
  padding-left: 3px; }

.home-slides .slick-prev {
  left: 20px; }

.home-slides .slick-next {
  right: 20px; }

@media only screen and (max-width: 1200px) {
  .featured-products {
    text-align: center;
    font-size: 0; } }

.featured-products .content-full {
  padding: 0; }
  .featured-products .content-full:before, .featured-products .content-full:after {
    content: " ";
    display: table; }
  .featured-products .content-full:after {
    clear: both; }
  .featured-products .content-full .featured-product {
    display: block;
    width: 20%;
    float: left; }
    @media only screen and (max-width: 1200px) {
      .featured-products .content-full .featured-product {
        display: inline-block;
        width: 25%;
        float: none; } }
    @media only screen and (max-width: 768px) {
      .featured-products .content-full .featured-product {
        width: 33.3333%; } }
    @media only screen and (max-width: 540px) {
      .featured-products .content-full .featured-product {
        width: 50%; } }
    .featured-products .content-full .featured-product img {
      max-width: 100%;
      -webkit-transform: scale(1);
      -moz-transform: scale(1);
      -ms-transform: scale(1);
      -o-transform: scale(1);
      transform: scale(1);
      -webkit-transition: all 0.2s ease-out;
      -o-transition: all 0.2s ease-out;
      transition: all 0.2s ease-out; }
    .featured-products .content-full .featured-product:hover img {
      -webkit-transform: scale(0.9);
      -moz-transform: scale(0.9);
      -ms-transform: scale(0.9);
      -o-transform: scale(0.9);
      transform: scale(0.9); }

.inner-page-wrap {
  margin-top: 30px; }
  @media only screen and (max-width: 992px) {
    .inner-page-wrap {
      margin-top: 60px; } }
  .inner-page-wrap .shoes-list-holder:before, .inner-page-wrap .shoes-list-holder:after {
    content: " ";
    display: table; }
  .inner-page-wrap .shoes-list-holder:after {
    clear: both; }
  .inner-page-wrap .shoes-list-holder .single-shoe-holder {
    margin-bottom: 30px; }
    @media only screen and (max-width: 635px) {
      .inner-page-wrap .shoes-list-holder .single-shoe-holder {
        width: 290px;
        margin: 0 auto 20px;
        float: none; } }
    .inner-page-wrap .shoes-list-holder .single-shoe-holder .single-shoe {
      box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
      background: #fff;
      padding: 30px 0 20px;
      border: 3px solid #fff;
      -webkit-transition: all 0.2s linear 0s;
      -o-transition: all 0.2s linear 0s;
      transition: all 0.2s linear 0s; }
      .inner-page-wrap .shoes-list-holder .single-shoe-holder .single-shoe h5 {
        font-family: "BrandonGrotesque-Bold", sans-serif;
        font-size: 20px;
        text-align: center;
        color: #6e6e6e;
        text-transform: uppercase;
        margin-bottom: 5px; }
      .inner-page-wrap .shoes-list-holder .single-shoe-holder .single-shoe span {
        font-family: "BrandonGrotesque-Bold", sans-serif;
        font-size: 16px;
        line-height: 16px;
        color: #6e6e6e;
        display: block;
        text-align: center;
        margin-bottom: 10px; }
      .inner-page-wrap .shoes-list-holder .single-shoe-holder .single-shoe p {
        font-family: "BrandonGrotesque-Light", sans-serif;
        font-size: 20px;
        color: #6e6e6e;
        text-align: center; }
      .inner-page-wrap .shoes-list-holder .single-shoe-holder .single-shoe .img-holder {
        width: 240px;
        margin: 0 auto 10px;
        padding: 20px;
        height: 173px;
        position: relative; }
        .inner-page-wrap .shoes-list-holder .single-shoe-holder .single-shoe .img-holder img {
          position: absolute;
          top: 50%;
          left: 50%;
          -webkit-transform: translate(-50%, -50%);
          -moz-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
          -o-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
          max-width: 100%; }
      .inner-page-wrap .shoes-list-holder .single-shoe-holder .single-shoe .btn-holder {
        width: 215px;
        height: 52px;
        margin: 0 auto;
        border: 2px solid #fff;
        position: relative;
        z-index: 99;
        -webkit-transition: all 0.2s ease-in-out;
        -o-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out; }
        .inner-page-wrap .shoes-list-holder .single-shoe-holder .single-shoe .btn-holder a {
          display: block;
          border: 1px solid #474747;
          text-align: center;
          line-height: 46px;
          font-family: "Futura-StdBook", sans-serif;
          font-size: 17px;
          color: #333;
          -webkit-transition: all 0.2s ease-in-out;
          -o-transition: all 0.2s ease-in-out;
          transition: all 0.2s ease-in-out; }
        .inner-page-wrap .shoes-list-holder .single-shoe-holder .single-shoe .btn-holder:hover {
          background: #333; }
          .inner-page-wrap .shoes-list-holder .single-shoe-holder .single-shoe .btn-holder:hover a {
            border-color: #fff;
            color: #fff; }
      .inner-page-wrap .shoes-list-holder .single-shoe-holder .single-shoe:hover {
        box-shadow: 0 2px 4px 1px rgba(0, 0, 0, 0.2);
        border-color: #d1d1d1;
        border-radius: 3px; }

.inner-page-wrap h2 {
  font-family: "Helvetica-Thin", sans-serif;
  font-size: 33px;
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 20px; }
  @media only screen and (max-width: 768px) {
    .inner-page-wrap h2 {
      font-size: 28px; } }

.cart-wrap {
  border: 1px solid #252525;
  width: 100%;
  margin-bottom: 90px; }
  .cart-wrap.is-empty {
    height: 600px;
    padding-top: 80px; }
    @media only screen and (max-width: 992px) {
      .cart-wrap.is-empty {
        height: auto;
        padding: 60px 0; } }
    .cart-wrap.is-empty p {
      font-family: "Helvetica-Thin", sans-serif;
      font-size: 26px;
      text-align: center; }
  .cart-wrap .row-holder {
    border-bottom: 1px solid #252525;
    font-family: "Helvetica-Thin", sans-serif;
    font-size: 19px;
    color: #252525; }
    .cart-wrap .row-holder:before, .cart-wrap .row-holder:after {
      content: " ";
      display: table; }
    .cart-wrap .row-holder:after {
      clear: both; }
    @media only screen and (max-width: 992px) {
      .cart-wrap .row-holder {
        padding: 50px 0; } }
    .cart-wrap .row-holder .article-price, .cart-wrap .row-holder .article-quantity, .cart-wrap .row-holder .article-sum {
      text-align: center; }
    @media only screen and (max-width: 992px) {
      .cart-wrap .row-holder.header {
        display: none; } }
    .cart-wrap .row-holder.header > div {
      height: 40px;
      line-height: 40px; }
    .cart-wrap .row-holder.product {
      position: relative; }
      .cart-wrap .row-holder.product i.cart-remove {
        content: '\f057';
        font-family: 'FontAwesome';
        position: absolute;
        top: 15px;
        right: 20px;
        font-size: 24px;
        cursor: pointer;
        z-index: 99; }
      .cart-wrap .row-holder.product .article-price, .cart-wrap .row-holder.product .article-quantity, .cart-wrap .row-holder.product .article-sum {
        padding-top: 10%;
        font-size: 19px; }
        @media only screen and (max-width: 992px) {
          .cart-wrap .row-holder.product .article-price, .cart-wrap .row-holder.product .article-quantity, .cart-wrap .row-holder.product .article-sum {
            padding-top: 0;
            margin-bottom: 30px; } }
      .cart-wrap .row-holder.product .img-holder {
        margin-left: 50px;
        width: 270px;
        height: 270px; }
        @media only screen and (max-width: 992px) {
          .cart-wrap .row-holder.product .img-holder {
            width: 100%;
            margin-left: 0;
            margin-bottom: 30px; } }
        @media only screen and (max-width: 992px) {
          .cart-wrap .row-holder.product .img-holder:before {
            content: 'Artikel:';
            display: block;
            text-align: center; } }
        .cart-wrap .row-holder.product .img-holder img {
          max-width: 270px;
          position: absolute;
          overflow: hidden; }
          @media only screen and (max-width: 992px) {
            .cart-wrap .row-holder.product .img-holder img {
              width: 270px;
              margin: 0 auto;
              left: 50%;
              -webkit-transform: translate(-50%, 0);
              -moz-transform: translate(-50%, 0);
              -ms-transform: translate(-50%, 0);
              -o-transform: translate(-50%, 0);
              transform: translate(-50%, 0); } }
      @media only screen and (max-width: 992px) {
        .cart-wrap .row-holder.product .article-price:before {
          content: 'Preis / Stk.:';
          display: block;
          text-align: center; } }
      @media only screen and (max-width: 992px) {
        .cart-wrap .row-holder.product .article-quantity:before {
          content: 'Menge:';
          display: block;
          text-align: center; } }
      @media only screen and (max-width: 992px) {
        .cart-wrap .row-holder.product .article-sum:before {
          content: 'Preis:';
          display: block;
          text-align: center; } }
  .cart-wrap .cart-sum {
    padding-bottom: 40px; }
    .cart-wrap .cart-sum:before, .cart-wrap .cart-sum:after {
      content: " ";
      display: table; }
    .cart-wrap .cart-sum:after {
      clear: both; }
    @media only screen and (max-width: 992px) {
      .cart-wrap .cart-sum {
        padding: 40px 0;
        text-align: center; } }
    .cart-wrap .cart-sum .coupon-code-holder {
      float: left;
      padding-left: 80px;
      padding-top: 50px; }
      @media only screen and (max-width: 992px) {
        .cart-wrap .cart-sum .coupon-code-holder {
          float: none;
          padding: 0; } }
      .cart-wrap .cart-sum .coupon-code-holder div {
        margin-bottom: 15px; }
        @media only screen and (max-width: 992px) {
          .cart-wrap .cart-sum .coupon-code-holder div {
            display: inline-block; } }
        @media only screen and (max-width: 540px) {
          .cart-wrap .cart-sum .coupon-code-holder div {
            display: block; } }
      .cart-wrap .cart-sum .coupon-code-holder label {
        font-family: "Helvetica-Light", sans-serif;
        font-size: 19px;
        color: #252525;
        margin-right: 35px; }
        @media only screen and (max-width: 992px) {
          .cart-wrap .cart-sum .coupon-code-holder label {
            margin-right: 5px; } }
        @media only screen and (max-width: 540px) {
          .cart-wrap .cart-sum .coupon-code-holder label {
            display: block;
            margin-right: 0;
            margin-bottom: 10px; } }
      .cart-wrap .cart-sum .coupon-code-holder input[type="text"] {
        width: 250px;
        height: 40px;
        font-size: 19px;
        text-align: center;
        font-family: "Helvetica-Thin", sans-serif; }
      .cart-wrap .cart-sum .coupon-code-holder input[type="submit"], .cart-wrap .cart-sum .coupon-code-holder input[type="button"] {
        height: 40px;
        width: 70px;
        background: #252525;
        color: #fff;
        border: none;
        outline: none;
        float: right;
        cursor: pointer;
        padding: 0;
        font-size: 20px; }
        @media only screen and (max-width: 992px) {
          .cart-wrap .cart-sum .coupon-code-holder input[type="submit"], .cart-wrap .cart-sum .coupon-code-holder input[type="button"] {
            float: none;
            vertical-align: top; } }
      .cart-wrap .cart-sum .coupon-code-holder input[type="button"] {
        width: 160px; }
    .cart-wrap .cart-sum .to-checkout {
      float: right;
      padding-right: 57px;
      padding-top: 60px; }
      @media only screen and (max-width: 992px) {
        .cart-wrap .cart-sum .to-checkout {
          float: none;
          padding-right: 0;
          display: inline-block; } }
      .cart-wrap .cart-sum .to-checkout .total-cost {
        margin-bottom: 27px; }
        .cart-wrap .cart-sum .to-checkout .total-cost:before, .cart-wrap .cart-sum .to-checkout .total-cost:after {
          content: " ";
          display: table; }
        .cart-wrap .cart-sum .to-checkout .total-cost:after {
          clear: both; }
        .cart-wrap .cart-sum .to-checkout .total-cost span {
          display: block;
          float: left;
          font-family: "Helvetica-Light", sans-serif;
          font-size: 19px;
          color: #252525;
          margin-right: 20px; }
        .cart-wrap .cart-sum .to-checkout .total-cost p {
          float: left;
          font-family: "Helvetica-Medium", sans-serif;
          font-size: 19px;
          color: #252525; }
      .cart-wrap .cart-sum .to-checkout a, .cart-wrap .cart-sum .to-checkout button {
        display: block;
        cursor: pointer;
        line-height: 40px;
        text-align: center;
        width: 100%;
        background: #252525;
        color: #fff;
        border: none;
        outline: none;
        height: 40px;
        padding: 0;
        font-size: 19px;
        -webkit-transition: all 0.2s linear;
        -o-transition: all 0.2s linear;
        transition: all 0.2s linear; }
        .cart-wrap .cart-sum .to-checkout a:hover, .cart-wrap .cart-sum .to-checkout button:hover {
          opacity: 0.8; }

.agb-inline a {
  display: inline-block !important;
  width: auto !important;
  padding: 0;
  height: auto !important;
  font-size: 16px !important;
  color: #4183D7 !important;
  background: none !important; }

#swissBillingOrder {
  width: 300px;
  height: 75px;
  margin: 5px auto 0 auto; }

#saveOrder {
  width: 342px;
  height: 61px;
  margin: 5px auto 0 auto; }

#loader {
  display: none;
  width: 150px;
  margin: 0 auto; }

#pay-by-card,
#pay-by-invoice {
  display: block;
  border: 1px solid #252525;
  padding: 15px; }
  #pay-by-card span,
  #pay-by-invoice span {
    font-family: "Helvetica-Light", sans-serif;
    font-size: 19px;
    color: #252525; }

#pay-by-invoice {
  border-top: none; }

.login-box-holder, .shipping-holder, .profile-acc-holder {
  border: 1px solid #000;
  margin-bottom: 100px;
  min-height: 470px; }
  .login-box-holder:before, .login-box-holder:after, .shipping-holder:before, .shipping-holder:after, .profile-acc-holder:before, .profile-acc-holder:after {
    content: " ";
    display: table; }
  .login-box-holder:after, .shipping-holder:after, .profile-acc-holder:after {
    clear: both; }
  .login-box-holder h4, .shipping-holder h4, .profile-acc-holder h4 {
    text-align: center;
    margin-bottom: 35px;
    font-size: 19px; }
  .login-box-holder .login-reg-box, .login-box-holder .login-reg-box-3, .shipping-holder .login-reg-box, .shipping-holder .login-reg-box-3, .profile-acc-holder .login-reg-box, .profile-acc-holder .login-reg-box-3 {
    width: 50%;
    float: left;
    height: 500px;
    padding: 70px 100px; }
    @media only screen and (max-width: 992px) {
      .login-box-holder .login-reg-box, .login-box-holder .login-reg-box-3, .shipping-holder .login-reg-box, .shipping-holder .login-reg-box-3, .profile-acc-holder .login-reg-box, .profile-acc-holder .login-reg-box-3 {
        padding: 50px 20px; } }
    @media only screen and (max-width: 760px) {
      .login-box-holder .login-reg-box, .login-box-holder .login-reg-box-3, .shipping-holder .login-reg-box, .shipping-holder .login-reg-box-3, .profile-acc-holder .login-reg-box, .profile-acc-holder .login-reg-box-3 {
        float: none;
        width: 100%;
        height: auto; } }
    .login-box-holder .login-reg-box:last-of-type, .login-box-holder .login-reg-box-3:last-of-type, .shipping-holder .login-reg-box:last-of-type, .shipping-holder .login-reg-box-3:last-of-type, .profile-acc-holder .login-reg-box:last-of-type, .profile-acc-holder .login-reg-box-3:last-of-type {
      border-left: 1px solid #000; }
      @media only screen and (max-width: 760px) {
        .login-box-holder .login-reg-box:last-of-type, .login-box-holder .login-reg-box-3:last-of-type, .shipping-holder .login-reg-box:last-of-type, .shipping-holder .login-reg-box-3:last-of-type, .profile-acc-holder .login-reg-box:last-of-type, .profile-acc-holder .login-reg-box-3:last-of-type {
          border-left: none;
          border-top: 1px solid #000; } }
    .login-box-holder .login-reg-box p, .login-box-holder .login-reg-box-3 p, .shipping-holder .login-reg-box p, .shipping-holder .login-reg-box-3 p, .profile-acc-holder .login-reg-box p, .profile-acc-holder .login-reg-box-3 p {
      text-align: center;
      font-family: "BrandonGrotesque-Light", sans-serif;
      font-size: 19px;
      line-height: 1.2;
      margin-bottom: 30px; }
  .login-box-holder .login-btn, .shipping-holder .login-btn, .profile-acc-holder .login-btn {
    display: block;
    background: #252525;
    color: #fff;
    height: 40px;
    line-height: 40px;
    width: auto;
    padding: 0 30px;
    cursor: pointer;
    border: none;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    transition: all 0.2s linear; }
    .login-box-holder .login-btn:hover, .shipping-holder .login-btn:hover, .profile-acc-holder .login-btn:hover {
      opacity: 0.8; }
  .login-box-holder .login-btn-holder, .shipping-holder .login-btn-holder, .profile-acc-holder .login-btn-holder {
    text-align: center; }
    .login-box-holder .login-btn-holder .login-btn, .shipping-holder .login-btn-holder .login-btn, .profile-acc-holder .login-btn-holder .login-btn {
      display: inline-block; }
  .login-box-holder .input-wrap, .shipping-holder .input-wrap, .profile-acc-holder .input-wrap {
    margin-bottom: 12px; }
    .login-box-holder .input-wrap label, .shipping-holder .input-wrap label, .profile-acc-holder .input-wrap label {
      display: block;
      font-size: 18px;
      font-family: "BrandonGrotesque-Light", sans-serif;
      margin-bottom: 7px; }
    .login-box-holder .input-wrap input, .shipping-holder .input-wrap input, .profile-acc-holder .input-wrap input {
      width: 100%;
      height: 40px;
      line-height: 40px;
      padding: 0 15px;
      border: 1px solid #252525; }
  .login-box-holder .login-bottom:before, .login-box-holder .login-bottom:after, .shipping-holder .login-bottom:before, .shipping-holder .login-bottom:after, .profile-acc-holder .login-bottom:before, .profile-acc-holder .login-bottom:after {
    content: " ";
    display: table; }
  .login-box-holder .login-bottom:after, .shipping-holder .login-bottom:after, .profile-acc-holder .login-bottom:after {
    clear: both; }
  .login-box-holder .login-bottom .login-btn, .shipping-holder .login-bottom .login-btn, .profile-acc-holder .login-bottom .login-btn {
    float: right; }
  .login-box-holder .login-reg-box-3, .shipping-holder .login-reg-box-3, .profile-acc-holder .login-reg-box-3 {
    width: 33%;
    padding: 70px 25px; }
    @media only screen and (max-width: 760px) {
      .login-box-holder .login-reg-box-3, .shipping-holder .login-reg-box-3, .profile-acc-holder .login-reg-box-3 {
        float: none;
        width: 100%;
        height: auto; } }
  .login-box-holder .login-reg-box-3.second-of-type, .shipping-holder .login-reg-box-3.second-of-type, .profile-acc-holder .login-reg-box-3.second-of-type {
    border-left: 1px solid #000; }
    @media only screen and (max-width: 760px) {
      .login-box-holder .login-reg-box-3.second-of-type, .shipping-holder .login-reg-box-3.second-of-type, .profile-acc-holder .login-reg-box-3.second-of-type {
        border-left: none;
        border-top: 1px solid #000; } }

.registration-holder, .choose-address-holder, .shipping-holder, .profile-acc-holder {
  position: relative;
  padding-top: 40px; }
  .registration-holder a.back-btn, .choose-address-holder a.back-btn, .shipping-holder a.back-btn, .profile-acc-holder a.back-btn {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 80px;
    height: 40px;
    background: #252525;
    text-align: center; }
    .registration-holder a.back-btn i, .choose-address-holder a.back-btn i, .shipping-holder a.back-btn i, .profile-acc-holder a.back-btn i {
      color: #fff;
      font-size: 36px; }
  .registration-holder form, .choose-address-holder form, .shipping-holder form, .profile-acc-holder form {
    padding: 0 230px; }
    .registration-holder form:before, .registration-holder form:after, .choose-address-holder form:before, .choose-address-holder form:after, .shipping-holder form:before, .shipping-holder form:after, .profile-acc-holder form:before, .profile-acc-holder form:after {
      content: " ";
      display: table; }
    .registration-holder form:after, .choose-address-holder form:after, .shipping-holder form:after, .profile-acc-holder form:after {
      clear: both; }
    @media only screen and (max-width: 1200px) {
      .registration-holder form, .choose-address-holder form, .shipping-holder form, .profile-acc-holder form {
        padding: 0 100px; } }
    @media only screen and (max-width: 992px) {
      .registration-holder form, .choose-address-holder form, .shipping-holder form, .profile-acc-holder form {
        padding: 0 20px; } }
    @media only screen and (max-width: 480px) {
      .registration-holder form, .choose-address-holder form, .shipping-holder form, .profile-acc-holder form {
        padding: 0; } }
  .registration-holder .reg-birth:before, .registration-holder .reg-birth:after, .choose-address-holder .reg-birth:before, .choose-address-holder .reg-birth:after, .shipping-holder .reg-birth:before, .shipping-holder .reg-birth:after, .profile-acc-holder .reg-birth:before, .profile-acc-holder .reg-birth:after {
    content: " ";
    display: table; }
  .registration-holder .reg-birth:after, .choose-address-holder .reg-birth:after, .shipping-holder .reg-birth:after, .profile-acc-holder .reg-birth:after {
    clear: both; }
  .registration-holder .reg-birth p, .choose-address-holder .reg-birth p, .shipping-holder .reg-birth p, .profile-acc-holder .reg-birth p {
    display: block;
    font-size: 18px;
    font-family: "BrandonGrotesque-Light", sans-serif;
    margin-bottom: 7px;
    padding-left: 15px; }
  .registration-holder label span, .registration-holder p span, .choose-address-holder label span, .choose-address-holder p span, .shipping-holder label span, .shipping-holder p span, .profile-acc-holder label span, .profile-acc-holder p span {
    color: #F22613; }
  .registration-holder .form-bottom, .choose-address-holder .form-bottom, .shipping-holder .form-bottom, .profile-acc-holder .form-bottom {
    padding: 0 15px;
    margin: 20px 0 40px; }
    .registration-holder .form-bottom:before, .registration-holder .form-bottom:after, .choose-address-holder .form-bottom:before, .choose-address-holder .form-bottom:after, .shipping-holder .form-bottom:before, .shipping-holder .form-bottom:after, .profile-acc-holder .form-bottom:before, .profile-acc-holder .form-bottom:after {
      content: " ";
      display: table; }
    .registration-holder .form-bottom:after, .choose-address-holder .form-bottom:after, .shipping-holder .form-bottom:after, .profile-acc-holder .form-bottom:after {
      clear: both; }
    .registration-holder .form-bottom .newsletter-checkbox, .choose-address-holder .form-bottom .newsletter-checkbox, .shipping-holder .form-bottom .newsletter-checkbox, .profile-acc-holder .form-bottom .newsletter-checkbox {
      float: left; }
      @media only screen and (max-width: 480px) {
        .registration-holder .form-bottom .newsletter-checkbox, .choose-address-holder .form-bottom .newsletter-checkbox, .shipping-holder .form-bottom .newsletter-checkbox, .profile-acc-holder .form-bottom .newsletter-checkbox {
          float: none;
          margin-bottom: 20px; } }
    .registration-holder .form-bottom .login-btn, .choose-address-holder .form-bottom .login-btn, .shipping-holder .form-bottom .login-btn, .profile-acc-holder .form-bottom .login-btn {
      float: right; }
      @media only screen and (max-width: 480px) {
        .registration-holder .form-bottom .login-btn, .choose-address-holder .form-bottom .login-btn, .shipping-holder .form-bottom .login-btn, .profile-acc-holder .form-bottom .login-btn {
          float: none;
          display: inline-block; } }

.input-wrap .select2-container, .select2-container .select2-selection--single {
  width: 100% !important;
  height: 40px;
  border-radius: 0;
  border-color: #252525; }

.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 40px; }

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 40px; }

.select2-search.select2-search--dropdown {
  display: none; }

.validation-error {
  color: #a94442; }

.row-holder {
  margin: 0; }
  .row-holder:before, .row-holder:after {
    content: " ";
    display: table; }
  .row-holder:after {
    clear: both; }

.choose-address-holder {
  height: 597px; }

.reg-info-holder {
  text-align: center;
  margin-bottom: 40px; }
  .reg-info-holder.active .checkbox-inner {
    width: 10px;
    height: 10px;
    background: #000;
    border-radius: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }

.checkbox-holder {
  cursor: pointer;
  display: inline-block;
  position: relative;
  width: 18px;
  height: 18px;
  border: 1px solid #000;
  border-radius: 100%;
  margin-right: 20px; }

.reg-info {
  display: inline-block;
  text-align: left;
  vertical-align: top; }
  .reg-info p {
    font-family: "BrandonGrotesque-Medium", sans-serif;
    font-size: 17px;
    margin-bottom: 5px; }

.choose-address-holder .form-holder {
  display: none; }

.choose-address-holder div[data-address="address-new"].active ~ .form-holder {
  display: block; }

.choose-address-holder .form-bottom button {
  display: block;
  background: #252525;
  color: #fff;
  height: 40px;
  line-height: 40px;
  width: 135px;
  margin: 0 auto;
  padding: 0 30px;
  cursor: pointer;
  border: none;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  transition: all 0.2s linear; }
  .choose-address-holder .form-bottom button:hover {
    opacity: 0.8; }

.profile-wrap {
  border: 1px solid #252525;
  padding: 20px 0;
  min-height: 680px;
  margin-bottom: 60px; }

.profile-top-holder {
  border-bottom: 1px solid #252525; }
  .profile-top-holder .profile-nav {
    padding: 0 100px; }
    .profile-top-holder .profile-nav:before, .profile-top-holder .profile-nav:after {
      content: " ";
      display: table; }
    .profile-top-holder .profile-nav:after {
      clear: both; }
    @media only screen and (max-width: 992px) {
      .profile-top-holder .profile-nav {
        padding: 0 20px; } }
    @media only screen and (max-width: 480px) {
      .profile-top-holder .profile-nav {
        padding: 0; } }
    .profile-top-holder .profile-nav li {
      float: left;
      width: 25%; }
      @media only screen and (max-width: 992px) {
        .profile-top-holder .profile-nav li {
          width: 50%; } }
      .profile-top-holder .profile-nav li a {
        position: relative;
        display: block;
        padding: 0 30px 10px;
        margin-bottom: 15px; }
        .profile-top-holder .profile-nav li a.active:before {
          content: '';
          display: block;
          position: absolute;
          width: 90%;
          height: 2px;
          bottom: 0;
          left: 5%;
          background-color: #000;
          visibility: visible;
          -webkit-transform: scaleX(1);
          -moz-transform: scaleX(1);
          -ms-transform: scaleX(1);
          -o-transform: scaleX(1);
          transform: scaleX(1); }
        .profile-top-holder .profile-nav li a:hover {
          color: #000; }
        .profile-top-holder .profile-nav li a:before {
          content: '';
          position: absolute;
          width: 90%;
          height: 2px;
          bottom: 0;
          left: 5%;
          background-color: #000;
          visibility: hidden;
          -webkit-transform: scaleX(0);
          -moz-transform: scaleX(0);
          -ms-transform: scaleX(0);
          -o-transform: scaleX(0);
          transform: scaleX(0);
          -webkit-transition: all 0.3s ease-in-out 0s;
          -o-transition: all 0.3s ease-in-out 0s;
          transition: all 0.3s ease-in-out 0s; }
        .profile-top-holder .profile-nav li a:hover:before {
          visibility: visible;
          -webkit-transform: scaleX(1);
          -moz-transform: scaleX(1);
          -ms-transform: scaleX(1);
          -o-transform: scaleX(1);
          transform: scaleX(1); }
        @media only screen and (max-width: 480px) {
          .profile-top-holder .profile-nav li a {
            padding: 0 10px 10px; } }
        .profile-top-holder .profile-nav li a .icon-holder {
          position: relative;
          width: 100px;
          height: 100px;
          margin: 0 auto; }
          @media only screen and (max-width: 992px) {
            .profile-top-holder .profile-nav li a .icon-holder {
              width: 70px;
              height: 70px; } }
          .profile-top-holder .profile-nav li a .icon-holder span {
            position: absolute;
            top: 50%;
            left: 50%;
            -webkit-transform: translate(-50%, -50%);
            -moz-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
            -o-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
            font-size: 65px; }
            @media only screen and (max-width: 992px) {
              .profile-top-holder .profile-nav li a .icon-holder span {
                font-size: 42px; } }
            .profile-top-holder .profile-nav li a .icon-holder span.icon-dashboard {
              font-size: 85px; }
              @media only screen and (max-width: 992px) {
                .profile-top-holder .profile-nav li a .icon-holder span.icon-dashboard {
                  font-size: 60px; } }
        .profile-top-holder .profile-nav li a p {
          font-size: 19px;
          text-align: center; }
          @media only screen and (max-width: 992px) {
            .profile-top-holder .profile-nav li a p {
              font-size: 17px; } }
          @media only screen and (max-width: 480px) {
            .profile-top-holder .profile-nav li a p {
              font-size: 15px; } }

.profile-overview-holder .member-name {
  font-family: "BrandonGrotesque-Medium", sans-serif;
  font-size: 19px;
  color: #252525;
  padding: 50px 0;
  text-align: center; }

.newsletter-choose {
  text-align: center;
  cursor: pointer; }
  .newsletter-choose > div {
    display: inline-block;
    margin-right: 10px;
    vertical-align: top; }
  .newsletter-choose > p {
    display: inline-block;
    color: #252525;
    -webkit-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out; }
  .newsletter-choose:hover p {
    color: #BCBCBC; }
  .newsletter-choose.active .checkbox-inner {
    width: 10px;
    height: 10px;
    background: #000;
    border-radius: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }

.newsletter-activate {
  text-align: center;
  margin-bottom: 60px;
  font-family: "Helvetica-Light", sans-serif; }
  .newsletter-activate > div, .newsletter-activate > span {
    display: inline-block;
    vertical-align: middle;
    font-size: 20px;
    margin-right: 30px; }
    @media only screen and (max-width: 635px) {
      .newsletter-activate > div, .newsletter-activate > span {
        font-size: 18px; } }
    @media only screen and (max-width: 480px) {
      .newsletter-activate > div, .newsletter-activate > span {
        width: 100%;
        margin-bottom: 10px; } }
  .newsletter-activate .icon-holder {
    font-size: 55px;
    margin-bottom: 15px; }
    @media only screen and (max-width: 635px) {
      .newsletter-activate .icon-holder {
        width: 100%; } }

.profile-overview-bottom > p {
  font-family: "BrandonGrotesque-Light", sans-serif;
  font-size: 20px;
  text-align: center;
  margin-bottom: 30px; }

.profile-overview-bottom .reg-info-holder {
  margin-bottom: 15px; }

.profile-overview-bottom .edit-address {
  margin-bottom: 50px;
  text-align: center; }
  .profile-overview-bottom .edit-address span {
    font-size: 20px; }

.profile-orders-holder .order-line {
  height: 50px;
  border-bottom: 1px solid #252525;
  line-height: 50px; }
  .profile-orders-holder .order-line:before, .profile-orders-holder .order-line:after {
    content: " ";
    display: table; }
  .profile-orders-holder .order-line:after {
    clear: both; }
  .profile-orders-holder .order-line > div {
    float: left;
    width: 20%; }
    .profile-orders-holder .order-line > div p {
      font-family: "BrandonGrotesque-Light", sans-serif;
      font-size: 19px;
      color: #252525;
      text-align: center; }
    .profile-orders-holder .order-line > div a {
      display: block;
      text-align: center;
      text-transform: uppercase;
      text-decoration: underline;
      font-family: "BrandonGrotesque-Medium", sans-serif;
      font-size: 19px;
      color: #252525; }
    .profile-orders-holder .order-line > div.price p {
      font-family: "BrandonGrotesque-Medium", sans-serif;
      text-transform: uppercase; }

.order-detail-holder .detail-order-info-holder {
  border-bottom: 1px solid #252525; }
  .order-detail-holder .detail-order-info-holder:before, .order-detail-holder .detail-order-info-holder:after {
    content: " ";
    display: table; }
  .order-detail-holder .detail-order-info-holder:after {
    clear: both; }
  .order-detail-holder .detail-order-info-holder .back-btn {
    display: block;
    width: 7%;
    height: 40px;
    background: #252525;
    text-align: center;
    float: left; }
    .order-detail-holder .detail-order-info-holder .back-btn i {
      color: #fff;
      font-size: 36px; }
  .order-detail-holder .detail-order-info-holder > div {
    float: left;
    width: 31%; }
    .order-detail-holder .detail-order-info-holder > div p {
      font-family: "BrandonGrotesque-Light", sans-serif;
      font-size: 19px;
      color: #252525;
      text-align: center;
      line-height: 40px; }

.order-detail-holder .product-details .row-holder {
  border-bottom: 1px solid #252525;
  font-family: "Helvetica-Thin", sans-serif;
  font-size: 19px;
  color: #252525; }
  .order-detail-holder .product-details .row-holder:before, .order-detail-holder .product-details .row-holder:after {
    content: " ";
    display: table; }
  .order-detail-holder .product-details .row-holder:after {
    clear: both; }
  .order-detail-holder .product-details .row-holder .article-price, .order-detail-holder .product-details .row-holder .article-quantity, .order-detail-holder .product-details .row-holder .article-sum {
    text-align: center; }
  .order-detail-holder .product-details .row-holder.header > div {
    height: 50px;
    line-height: 50px; }
  .order-detail-holder .product-details .row-holder.product {
    position: relative; }
    .order-detail-holder .product-details .row-holder.product .article-price, .order-detail-holder .product-details .row-holder.product .article-quantity, .order-detail-holder .product-details .row-holder.product .article-sum {
      padding-top: 10%;
      font-size: 19px; }
    .order-detail-holder .product-details .row-holder.product .img-holder {
      margin-left: 50px;
      width: 270px;
      height: 270px; }
      .order-detail-holder .product-details .row-holder.product .img-holder img {
        max-width: 270px;
        position: absolute;
        overflow: hidden; }

.order-detail-holder .product-details-bottom {
  padding: 40px 60px 20px; }
  .order-detail-holder .product-details-bottom:before, .order-detail-holder .product-details-bottom:after {
    content: " ";
    display: table; }
  .order-detail-holder .product-details-bottom:after {
    clear: both; }
  .order-detail-holder .product-details-bottom .pdf-btn {
    display: block;
    float: left;
    font-family: "Helvetica-Thin", sans-serif;
    font-size: 19px;
    color: #252525;
    text-decoration: underline; }
  .order-detail-holder .product-details-bottom .total-cost {
    float: right;
    font-family: "Helvetica-Thin", sans-serif;
    font-size: 19px;
    color: #252525; }
    .order-detail-holder .product-details-bottom .total-cost:before, .order-detail-holder .product-details-bottom .total-cost:after {
      content: " ";
      display: table; }
    .order-detail-holder .product-details-bottom .total-cost:after {
      clear: both; }
    .order-detail-holder .product-details-bottom .total-cost span {
      float: left;
      margin-right: 100px; }
    .order-detail-holder .product-details-bottom .total-cost p {
      float: right; }

.shipping-holder {
  border: none;
  height: auto;
  margin-bottom: 0; }
  .shipping-holder .form-bottom {
    margin-bottom: 10px; }
    .shipping-holder .form-bottom.shipping-bottom {
      padding-right: 245px; }

.current-addresses {
  padding: 0 245px; }
  .current-addresses > p {
    font-family: "Helvetica-Thin", sans-serif;
    font-size: 19px;
    color: #252525;
    margin-bottom: 10px; }
  @media only screen and (max-width: 1200px) {
    .current-addresses {
      padding: 0 115px; } }
  @media only screen and (max-width: 992px) {
    .current-addresses {
      padding: 0 35px; } }
  @media only screen and (max-width: 480px) {
    .current-addresses {
      padding: 0 20px; } }

.addresses-holder {
  border: 1px solid #252525;
  padding: 20px 20px 0; }
  .addresses-holder:before, .addresses-holder:after {
    content: " ";
    display: table; }
  .addresses-holder:after {
    clear: both; }
  .addresses-holder > div {
    float: left;
    width: 50%; }
  .addresses-holder .checkbox-holder {
    display: block;
    float: left; }
  .addresses-holder .reg-info {
    display: block;
    float: left; }
  .addresses-holder .reg-info-holder {
    margin-bottom: 20px; }
    .addresses-holder .reg-info-holder a span {
      font-size: 23px; }

.profile-acc-holder {
  border: none;
  margin-bottom: 0;
  -ms-input-placeholder-font-size: 17px;
  -ms-input-placeholder-color: #252525;
  -ms-input-placeholder-font-family: "BrandonGrotesque-Light", sans-serif;
  -moz-placeholder-font-size: 17px;
  -moz-placeholder-color: #252525;
  -moz-placeholder-font-family: "BrandonGrotesque-Light", sans-serif; }
  .profile-acc-holder ::-webkit-input-placeholder {
    font-size: 17px;
    color: #252525;
    font-family: "BrandonGrotesque-Light", sans-serif; }
  .profile-acc-holder ::-moz-placeholder {
    font-size: 17px;
    color: #252525;
    font-family: "BrandonGrotesque-Light", sans-serif; }
  .profile-acc-holder .reg-birth .acc-btn {
    float: right;
    margin-right: 15px; }
  .profile-acc-holder .acc-change-info {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #000; }
  .profile-acc-holder .change-password p {
    font-size: 18px;
    font-family: "BrandonGrotesque-Light", sans-serif;
    margin-bottom: 7px;
    padding-left: 15px; }

.url-btn {
  display: block;
  background: #252525;
  color: #fff;
  height: 40px;
  line-height: 40px;
  width: auto;
  padding: 0 30px;
  cursor: pointer;
  border: none;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  transition: all 0.2s linear; }
  .url-btn:hover {
    opacity: 0.8; }

.order-nav {
  margin: 0 auto 50px;
  position: relative;
  width: 600px; }
  @media only screen and (max-width: 635px) {
    .order-nav {
      display: none; } }
  .order-nav:after {
    content: '';
    display: block;
    position: absolute;
    bottom: -12px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    height: 1px;
    width: 65%;
    background: #000; }
  .order-nav ul:before, .order-nav ul:after {
    content: " ";
    display: table; }
  .order-nav ul:after {
    clear: both; }
  .order-nav ul li {
    position: relative;
    width: 100px;
    float: left;
    margin: 0 50px;
    font-family: "BrandonGrotesque-Medium", sans-serif;
    font-size: 20px;
    text-align: center; }
    .order-nav ul li:after {
      position: absolute;
      bottom: -18px;
      left: 50%;
      -webkit-transform: translate(-50%, 0);
      -moz-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
      -o-transform: translate(-50%, 0);
      transform: translate(-50%, 0);
      display: block;
      content: '';
      width: 14px;
      height: 14px;
      background: #ccc;
      border-radius: 50%;
      z-index: 99; }
    .order-nav ul li.active:after {
      background: #000; }
    .order-nav ul li:last-child {
      margin-right: 0; }

.buttons-holder {
  width: 100%;
  margin-bottom: 30px; }
  .buttons-holder:before, .buttons-holder:after {
    content: " ";
    display: table; }
  .buttons-holder:after {
    clear: both; }
  .buttons-holder a {
    width: 50% !important;
    float: left;
    text-align: center; }
    .buttons-holder a.reg-btn {
      background: #fff;
      color: #000;
      border: 1px solid #000; }

.order-reg .newsletter-checkbox {
  width: 60%; }

p.min-title {
  font-family: "BrandonGrotesque-Medium", sans-serif;
  font-size: 19px;
  color: #252525;
  margin-bottom: 10px; }
  p.min-title.first {
    padding-left: 15px; }

.cart-wrap.order-cart .row-holder.product::before {
  display: none; }

.cart-wrap.order-cart {
  position: relative; }
  .cart-wrap.order-cart a.back-btn {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 80px;
    height: 40px;
    background: #252525;
    text-align: center; }
    .cart-wrap.order-cart a.back-btn i {
      color: #fff;
      font-size: 36px; }

.cart-wrap.order-cart .row-holder .article-pic p {
  padding-left: 100px; }

.order-cart .order-cart-info {
  float: left;
  padding-left: 70px;
  padding-top: 50px; }
  .order-cart .order-cart-info h4 {
    font-size: 26px;
    font-family: "Helvetica-Thin", sans-serif;
    margin-bottom: 25px; }
  .order-cart .order-cart-info p {
    font-size: 17px;
    font-family: "BrandonGrotesque-Medium", sans-serif;
    margin-bottom: 5px; }

.order-cart .pay-method {
  padding-left: 70px;
  padding-top: 50px;
  font-size: 20px; }
  .order-cart .pay-method span {
    font-family: "BrandonGrotesque-Bold", sans-serif; }

.payment-holder {
  text-align: center; }
  .payment-holder > p {
    font-size: 20px;
    margin-bottom: 30px; }
  .payment-holder > a {
    display: inline-block !important; }
  .payment-holder .payment-single-holder {
    position: relative;
    border: 1px solid #707070;
    width: 280px;
    height: 100px;
    display: inline-block;
    margin: 0 30px 30px 30px; }
    .payment-holder .payment-single-holder:before, .payment-holder .payment-single-holder:after {
      content: " ";
      display: table; }
    .payment-holder .payment-single-holder:after {
      clear: both; }
    .payment-holder .payment-single-holder .pic-holder {
      position: relative;
      width: 50%;
      float: left;
      height: 100%; }
      .payment-holder .payment-single-holder .pic-holder img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        max-width: 80%;
        display: block; }
    .payment-holder .payment-single-holder p {
      width: 50%;
      float: left;
      text-align: left;
      line-height: 100px;
      font-size: 19px;
      font-family: "BrandonGrotesque-Bold", sans-serif; }
    .payment-holder .payment-single-holder .check-icon {
      display: none; }
    .payment-holder .payment-single-holder.active .check-icon {
      display: block;
      position: absolute;
      top: -13px;
      right: -13px;
      background: #fff;
      font-size: 30px;
      z-index: 99;
      color: #1ad810; }

.shoe-wrap {
  margin-top: 10px;
  margin-bottom: 140px; }
  .shoe-wrap:before, .shoe-wrap:after {
    content: " ";
    display: table; }
  .shoe-wrap:after {
    clear: both; }
  .shoe-wrap .right-content {
    padding: 0; }
  .shoe-wrap h4 {
    font-family: "BrandonGrotesque-Light", sans-serif;
    font-size: 22px;
    margin-bottom: 20px;
    color: #333; }

.details-wrap {
  margin-bottom: 25px; }
  @media only screen and (max-width: 992px) {
    .details-wrap {
      width: 100%; } }
  .details-wrap .details-holder {
    margin-left: -5px;
    margin-right: -5px; }
    .details-wrap .details-holder:before, .details-wrap .details-holder:after {
      content: " ";
      display: table; }
    .details-wrap .details-holder:after {
      clear: both; }
    @media only screen and (max-width: 992px) {
      .details-wrap .details-holder {
        margin: 0;
        width: 100%; } }
    @media only screen and (max-width: 635px) {
      .details-wrap .details-holder {
        width: 100%; } }
    .details-wrap .details-holder .single-detail-holder {
      display: block;
      float: left;
      padding: 0 5px;
      margin-bottom: 10px; }
      .details-wrap .details-holder .single-detail-holder.active .single-detail {
        box-shadow: 0 1px 4px 4px rgba(255, 0, 0, 0.4); }
    .details-wrap .details-holder .single-detail {
      box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.2);
      padding-top: 10px;
      width: 110px;
      height: 110px;
      overflow: hidden;
      -webkit-transition: all 0.2s ease-out;
      -o-transition: all 0.2s ease-out;
      transition: all 0.2s ease-out; }
      @media only screen and (max-width: 635px) {
        .details-wrap .details-holder .single-detail {
          width: 90px;
          height: 90px; } }
      .details-wrap .details-holder .single-detail:hover {
        box-shadow: 0 1px 4px 4px rgba(0, 0, 0, 0.2); }
      .details-wrap .details-holder .single-detail p {
        color: rgba(51, 51, 51, 0.8);
        font-family: "BrandonGrotesque-Medium", sans-serif;
        font-size: 20px;
        text-align: center;
        position: relative;
        z-index: 1;
        cursor: pointer; }
        @media only screen and (max-width: 480px) {
          .details-wrap .details-holder .single-detail p {
            font-size: 14px; } }
      .details-wrap .details-holder .single-detail img {
        max-width: 100%;
        cursor: pointer; }
        @media only screen and (max-width: 635px) {
          .details-wrap .details-holder .single-detail img {
            margin-top: -10px; } }
        @media only screen and (max-width: 480px) {
          .details-wrap .details-holder .single-detail img {
            margin-top: -5px; } }

.material-wrap {
  float: left;
  position: relative;
  left: -75px;
  z-index: 99; }
  @media only screen and (max-width: 1200px) {
    .material-wrap {
      left: -50px; } }
  @media only screen and (max-width: 992px) {
    .material-wrap {
      position: relative;
      left: 0; } }
  @media only screen and (max-width: 635px) {
    .material-wrap {
      float: none;
      text-align: center;
      margin-bottom: 30px; } }

.material-holder .single-material-holder {
  display: inline-block;
  margin-right: 15px;
  cursor: pointer; }
  .material-holder .single-material-holder.active .material-pic {
    border-color: red !important; }
  .material-holder .single-material-holder:last-child {
    margin-right: 0; }
  .material-holder .single-material-holder .single-material {
    width: 70px; }
    .material-holder .single-material-holder .single-material .material-pic {
      position: relative;
      box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.2);
      display: block;
      margin: 0 auto 10px;
      width: 65px;
      height: 65px;
      border: 2px solid #fff;
      border-radius: 4px;
      overflow: hidden;
      -webkit-transition: all 0.2s ease-out;
      -o-transition: all 0.2s ease-out;
      transition: all 0.2s ease-out; }
      @media only screen and (max-width: 635px) {
        .material-holder .single-material-holder .single-material .material-pic {
          width: 45px;
          height: 45px; } }
      .material-holder .single-material-holder .single-material .material-pic:hover {
        box-shadow: 0 1px 4px 4px rgba(0, 0, 0, 0.2); }
      .material-holder .single-material-holder .single-material .material-pic img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        width: 70px;
        height: 70px; }
    .material-holder .single-material-holder .single-material p {
      text-align: center;
      font-size: 18px; }

.please-select-part {
  font-size: 22px; }

.price-wrap {
  position: absolute;
  top: 0;
  right: 0; }
  @media only screen and (max-width: 992px) {
    .price-wrap {
      position: relative;
      float: left;
      width: calc(100% - 150px); } }
  .price-wrap p {
    font-size: 30px;
    padding-left: 10px;
    text-align: right; }
    @media only screen and (max-width: 992px) {
      .price-wrap p {
        text-align: left; } }
    @media only screen and (max-width: 635px) {
      .price-wrap p {
        font-size: 22px; } }

.right-content {
  position: relative; }
  .right-content:before, .right-content:after {
    content: " ";
    display: table; }
  .right-content:after {
    clear: both; }

.big-img-holder {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 470px; }
  @media only screen and (max-width: 992px) {
    .big-img-holder {
      margin: 0 auto;
      width: 460px;
      height: 280px; } }
  @media only screen and (max-width: 540px) {
    .big-img-holder {
      width: 340px;
      height: 260px; } }
  @media only screen and (max-width: 360px) {
    .big-img-holder {
      width: 280px;
      height: 230px; } }
  .big-img-holder .main-pic, .big-img-holder .layer {
    position: absolute;
    top: 45%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    max-width: 100%; }
    @media only screen and (max-width: 992px) {
      .big-img-holder .main-pic, .big-img-holder .layer {
        top: 50%; } }

.under-top:before, .under-top:after {
  content: " ";
  display: table; }

.under-top:after {
  clear: both; }

.under-picture {
  margin-top: 10px;
  position: relative; }
  .under-picture:before, .under-picture:after {
    content: " ";
    display: table; }
  .under-picture:after {
    clear: both; }
  @media only screen and (max-width: 992px) {
    .under-picture {
      margin-top: 0; } }

.colors-wrap {
  float: right;
  margin-bottom: 25px;
  max-width: 570px;
  position: relative;
  z-index: 99; }
  .colors-wrap:before, .colors-wrap:after {
    content: " ";
    display: table; }
  .colors-wrap:after {
    clear: both; }
  @media only screen and (max-width: 635px) {
    .colors-wrap {
      float: none;
      text-align: center; } }
  .colors-wrap h4 {
    text-align: right;
    margin-bottom: 10px; }
    @media only screen and (max-width: 635px) {
      .colors-wrap h4 {
        text-align: center; } }
  .colors-wrap .colors-holder:before, .colors-wrap .colors-holder:after {
    content: " ";
    display: table; }
  .colors-wrap .colors-holder:after {
    clear: both; }
  @media only screen and (max-width: 635px) {
    .colors-wrap .colors-holder {
      text-align: center; } }
  .colors-wrap .single-color {
    width: 32px;
    height: 32px;
    float: right;
    margin-left: 6px;
    margin-top: 6px;
    cursor: pointer; }
    @media only screen and (max-width: 635px) {
      .colors-wrap .single-color {
        float: none;
        display: inline-block;
        margin: 6px; } }
    .colors-wrap .single-color.green {
      background: green; }
    .colors-wrap .single-color.red {
      background: red; }
    .colors-wrap .single-color.blue {
      background: blue; }
    .colors-wrap .single-color img {
      cursor: pointer; }

.buy-btn-holder {
  float: right; }
  @media only screen and (max-width: 635px) {
    .buy-btn-holder {
      float: none; } }
  .buy-btn-holder a {
    display: block;
    background: #252525;
    color: #fff;
    border: none;
    outline: none;
    height: 50px;
    line-height: 50px;
    padding: 0 25px;
    font-size: 22px;
    -webkit-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out; }
    @media only screen and (max-width: 635px) {
      .buy-btn-holder a {
        width: 240px;
        margin: 0 auto;
        padding: 0;
        text-align: center; } }
    .buy-btn-holder a:hover {
      opacity: 0.8; }

#color-preview {
  float: left;
  overflow: hidden;
  width: 109px;
  height: 109px;
  margin-top: 5px; }
  #color-preview img {
    width: 100%;
    height: 100%; }

#materialColors {
  max-width: 460px;
  float: right; }

/** tooltip hover * */
[data-tooltip], .colors-wrap .single-color {
  position: relative;
  cursor: pointer; }

/* Base styles for the entire tooltip */
[data-tooltip]:before, [data-tooltip]:after {
  position: absolute;
  visibility: hidden;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  /*-webkit-transition:
     *        opacity 0.2s ease-in-out,
     *        visibility 0.2s ease-in-out,
     *        -webkit-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
     *-moz-transition:
     *        opacity 0.2s ease-in-out,
     *        visibility 0.2s ease-in-out,
     *        -moz-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
     *transition:
     *        opacity 0.2s ease-in-out,
     *        visibility 0.2s ease-in-out,
     *        transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24); */
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  pointer-events: none; }

.colors-wrap .single-color:before, .colors-wrap .single-color:after {
  position: absolute;
  visibility: hidden;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  /*-webkit-transition:
     *        opacity 0.2s ease-in-out,
     *        visibility 0.2s ease-in-out,
     *        -webkit-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
     *-moz-transition:
     *        opacity 0.2s ease-in-out,
     *        visibility 0.2s ease-in-out,
     *        -moz-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
     *transition:
     *        opacity 0.2s ease-in-out,
     *        visibility 0.2s ease-in-out,
     *        transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24); */
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  pointer-events: none; }

/* Show the entire tooltip on hover and focus */
[data-tooltip]:hover:before, [data-tooltip]:hover:after {
  visibility: visible;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

[data-tooltip]:focus:before, [data-tooltip]:focus:after {
  visibility: visible;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.colors-wrap .single-color:hover:before, .colors-wrap .single-color:hover:after {
  visibility: visible;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.colors-wrap .single-color:focus:before, .colors-wrap .single-color:focus:after {
  visibility: visible;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.colors-wrap .single-color:before {
  z-index: 99999999;
  border: 6px solid transparent;
  background: transparent;
  content: ""; }

/* Base styles for the tooltip's directional arrow */
[data-tooltip]:before {
  z-index: 99999999;
  border: 6px solid transparent;
  background: transparent;
  content: ""; }

/* Base styles for the tooltip's content area */
.colors-wrap .single-color:after {
  z-index: 1000;
  padding: 8px;
  width: 160px;
  background-color: #000;
  background-color: rgba(51, 51, 51, 0.9);
  color: #fff;
  content: attr(data-color-title);
  font-size: 14px;
  line-height: 1.2; }

[data-tooltip]:after {
  z-index: 1000;
  padding: 8px;
  width: 160px;
  background-color: #000;
  background-color: rgba(51, 51, 51, 0.9);
  color: #fff;
  content: attr(data-color-title);
  font-size: 14px;
  line-height: 1.2; }

[data-tooltip]:before, [data-tooltip]:after {
  bottom: 100%;
  left: 50%;
  text-align: center; }

/* Directions */
/* Top (default) */
.colors-wrap .single-color:before, .colors-wrap .single-color:after {
  bottom: 100%;
  left: 50%;
  text-align: center; }

.colors-wrap .single-color-top:before, .colors-wrap .single-color-top:after {
  bottom: 100%;
  left: 50%;
  text-align: center; }

[data-tooltip]:before {
  margin-left: -6px;
  margin-bottom: -12px;
  border-top-color: #000;
  border-top-color: rgba(51, 51, 51, 0.9); }

.colors-wrap .single-color:before, .colors-wrap .single-color-top:before {
  margin-left: -6px;
  margin-bottom: -12px;
  border-top-color: #000;
  border-top-color: rgba(51, 51, 51, 0.9); }

[data-tooltip]:after {
  margin-left: -80px; }

.colors-wrap .single-color:after, .colors-wrap .single-color-top:after {
  margin-left: -80px; }

[data-tooltip]:hover:before, [data-tooltip]:hover:after {
  -webkit-transform: translateY(-12px);
  -moz-transform: translateY(-12px);
  transform: translateY(-12px);
  z-index: 9999999;
  text-align: center; }

[data-tooltip]:focus:before, [data-tooltip]:focus:after {
  -webkit-transform: translateY(-12px);
  -moz-transform: translateY(-12px);
  transform: translateY(-12px);
  z-index: 9999999;
  text-align: center; }

.colors-wrap .single-color:hover:before, .colors-wrap .single-color:hover:after {
  -webkit-transform: translateY(-12px);
  -moz-transform: translateY(-12px);
  transform: translateY(-12px);
  z-index: 9999999;
  text-align: center; }

.colors-wrap .single-color:focus:before, .colors-wrap .single-color:focus:after {
  -webkit-transform: translateY(-12px);
  -moz-transform: translateY(-12px);
  transform: translateY(-12px);
  z-index: 9999999;
  text-align: center; }

.colors-wrap .single-color-top:hover:before, .colors-wrap .single-color-top:hover:after {
  -webkit-transform: translateY(-12px);
  -moz-transform: translateY(-12px);
  transform: translateY(-12px);
  z-index: 9999999;
  text-align: center; }

.colors-wrap .single-color-top:focus:before, .colors-wrap .single-color-top:focus:after {
  -webkit-transform: translateY(-12px);
  -moz-transform: translateY(-12px);
  transform: translateY(-12px);
  z-index: 9999999;
  text-align: center; }

#free-shipping {
  float: left;
  width: 200px; }
  @media only screen and (max-width: 635px) {
    #free-shipping {
      float: none;
      margin: 20px auto; } }

.faq-wrap {
  min-height: 500px; }
  .faq-wrap h3 {
    font-size: 30px;
    padding-bottom: 20px;
    -webkit-transition: 0.2s linear;
    -o-transition: 0.2s linear;
    transition: 0.2s linear; }
    @media only screen and (max-width: 768px) {
      .faq-wrap h3 {
        font-size: 24px; } }
    .faq-wrap h3:hover {
      cursor: pointer;
      opacity: 0.5; }
    .faq-wrap h3.ui-accordion-header-active span.active {
      display: inline-block; }
    .faq-wrap h3.ui-accordion-header-active span.inactive {
      display: none; }
    .faq-wrap h3.ui-accordion-header-collapsed span.inactive {
      display: inline-block; }
    .faq-wrap h3.ui-accordion-header-collapsed span.active {
      display: none; }
  .faq-wrap p {
    font-size: 26px;
    line-height: 1.4;
    margin-bottom: 30px; }
    @media only screen and (max-width: 768px) {
      .faq-wrap p {
        font-size: 18px; } }

#gmap {
  height: 550px;
  width: 100%; }
  @media only screen and (max-width: 992px) {
    #gmap {
      height: 350px; } }

.contact-wrap {
  margin-top: 0; }

.contact-form {
  border: 1px solid #000;
  padding: 65px 60px;
  margin: -150px auto 60px;
  position: relative;
  background: #fff; }
  .contact-form:before, .contact-form:after {
    content: " ";
    display: table; }
  .contact-form:after {
    clear: both; }
  @media only screen and (max-width: 992px) {
    .contact-form {
      padding: 25px; } }
  .contact-form .form-holder {
    float: left;
    width: 70%;
    margin-right: 5%; }
    @media only screen and (max-width: 992px) {
      .contact-form .form-holder {
        width: 100%;
        margin: 0 0 25px; } }
    .contact-form .form-holder .four-inputs:before, .contact-form .form-holder .four-inputs:after {
      content: " ";
      display: table; }
    .contact-form .form-holder .four-inputs:after {
      clear: both; }
    .contact-form .form-holder .four-inputs .input-wrap {
      float: left;
      width: 50%;
      padding-right: 20px;
      margin-bottom: 15px; }
      @media only screen and (max-width: 635px) {
        .contact-form .form-holder .four-inputs .input-wrap {
          width: 100%;
          padding-right: 0; } }
      .contact-form .form-holder .four-inputs .input-wrap label {
        font-size: 19px;
        display: block;
        margin-bottom: 5px; }
        @media only screen and (max-width: 992px) {
          .contact-form .form-holder .four-inputs .input-wrap label {
            font-size: 18px; } }
        .contact-form .form-holder .four-inputs .input-wrap label span {
          color: red; }
      .contact-form .form-holder .four-inputs .input-wrap input {
        width: 100%;
        height: 40px;
        padding: 0 10px; }
        @media only screen and (max-width: 992px) {
          .contact-form .form-holder .four-inputs .input-wrap input {
            height: 35px; } }
    .contact-form .form-holder .textarea-holder {
      padding-right: 20px;
      margin-bottom: 40px; }
      @media only screen and (max-width: 635px) {
        .contact-form .form-holder .textarea-holder {
          padding-right: 0; } }
      .contact-form .form-holder .textarea-holder label {
        font-size: 19px;
        display: block;
        margin-bottom: 5px; }
        .contact-form .form-holder .textarea-holder label span {
          color: red; }
      .contact-form .form-holder .textarea-holder textarea {
        width: 100%;
        height: 300px;
        resize: none;
        padding: 20px; }
        @media only screen and (max-width: 992px) {
          .contact-form .form-holder .textarea-holder textarea {
            height: 150px; } }
    .contact-form .form-holder input[type="submit"] {
      display: block;
      float: right;
      background: #000;
      color: #fff;
      height: 40px;
      text-align: center;
      border: none;
      margin-right: 20px;
      width: 150px;
      font-size: 18px;
      font-family: "BrandonGrotesque-Medium", sans-serif;
      -webkit-transition: all 0.2s linear;
      -o-transition: all 0.2s linear;
      transition: all 0.2s linear;
      cursor: pointer; }
      @media only screen and (max-width: 635px) {
        .contact-form .form-holder input[type="submit"] {
          float: none;
          margin: 0 auto 30px; } }
      .contact-form .form-holder input[type="submit"]:hover {
        background: #fff;
        color: #252525; }
  .contact-form .address-holder {
    float: left;
    width: 25%;
    padding-top: 60px;
    padding-left: 40px; }
    @media only screen and (max-width: 992px) {
      .contact-form .address-holder {
        padding: 0;
        width: 100%;
        float: none;
        text-align: center; } }
    .contact-form .address-holder .text-holder {
      margin-bottom: 40px; }
      .contact-form .address-holder .text-holder p {
        font-size: 18px;
        font-family: "BrandonGrotesque-Medium", sans-serif;
        margin-bottom: 5px; }

.static-pages {
  min-height: 600px; }
  .static-pages p {
    font-size: 22px;
    line-height: 1.5;
    margin-bottom: 45px; }
  .static-pages ul li {
    font-size: 22px;
    line-height: 1.6;
    margin-bottom: 5px; }
    .static-pages ul li:last-child {
      margin-bottom: 40px; }
  .static-pages h5 {
    font-size: 25px;
    font-family: "BrandonGrotesque-Regular", sans-serif;
    margin-bottom: 20px; }
    .static-pages h5 b {
      font-family: "BrandonGrotesque-Medium", sans-serif;
      font-size: 28px;
      margin-bottom: 20px; }

.modal-wrap {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.5); }
  .modal-wrap .modal-content, .modal-wrap .modal-info-size-content {
    width: 500px;
    padding: 40px 50px;
    background: #252525;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
    .modal-wrap .modal-content.modal-info-size-content, .modal-wrap .modal-info-size-content.modal-info-size-content {
      top: 52%; }
    .modal-wrap .modal-content .size-modal-closer, .modal-wrap .modal-info-size-content .size-modal-closer {
      position: absolute;
      top: 10px;
      right: 10px;
      color: #fff;
      font-size: 30px;
      cursor: pointer; }
    .modal-wrap .modal-content .size-info-modal-closer, .modal-wrap .modal-info-size-content .size-info-modal-closer {
      position: absolute;
      top: 10px;
      right: 10px;
      color: #fff;
      font-size: 30px;
      cursor: pointer; }
    @media only screen and (max-width: 1366px) {
      .modal-wrap .modal-content, .modal-wrap .modal-info-size-content {
        width: 99%;
        -webkit-transform: translate(-50%, 0);
        -moz-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
        -o-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
        top: 15px !important; } }
    @media only screen and (max-width: 992px) {
      .modal-wrap .modal-content, .modal-wrap .modal-info-size-content {
        height: 90vh;
        overflow-y: scroll;
        padding-bottom: 40px; } }
    .modal-wrap .modal-content p, .modal-wrap .modal-content h5, .modal-wrap .modal-content h4, .modal-wrap .modal-info-size-content p, .modal-wrap .modal-info-size-content h5, .modal-wrap .modal-info-size-content h4 {
      color: #f8f8f8;
      font-size: 18px; }
    .modal-wrap .modal-content h5, .modal-wrap .modal-info-size-content h5 {
      text-align: center;
      margin-bottom: 40px; }
    .modal-wrap .modal-content h4, .modal-wrap .modal-info-size-content h4 {
      font-size: 18px;
      margin-bottom: 5px; }
    .modal-wrap .modal-content p, .modal-wrap .modal-info-size-content p {
      margin-bottom: 40px; }
    .modal-wrap .modal-content .table, .modal-wrap .modal-info-size-content .table {
      border-spacing: 0;
      border-collapse: collapse;
      border: 1px solid white; }
      .modal-wrap .modal-content .table td, .modal-wrap .modal-info-size-content .table td {
        padding: 5px;
        border: 1px solid white;
        text-align: center; }
      .modal-wrap .modal-content .table tr, .modal-wrap .modal-info-size-content .table tr {
        border: 1px solid white; }
      .modal-wrap .modal-content .table tr.bold-row td, .modal-wrap .modal-info-size-content .table tr.bold-row td {
        font-weight: bold; }
    .modal-wrap .modal-content .main-wrap:before, .modal-wrap .modal-content .main-wrap:after, .modal-wrap .modal-info-size-content .main-wrap:before, .modal-wrap .modal-info-size-content .main-wrap:after {
      content: " ";
      display: table; }
    .modal-wrap .modal-content .main-wrap:after, .modal-wrap .modal-info-size-content .main-wrap:after {
      clear: both; }
    .modal-wrap .modal-content .main-wrap .form-holder, .modal-wrap .modal-info-size-content .main-wrap .form-holder {
      width: 100%; }
      .modal-wrap .modal-content .main-wrap .form-holder:before, .modal-wrap .modal-content .main-wrap .form-holder:after, .modal-wrap .modal-info-size-content .main-wrap .form-holder:before, .modal-wrap .modal-info-size-content .main-wrap .form-holder:after {
        content: " ";
        display: table; }
      .modal-wrap .modal-content .main-wrap .form-holder:after, .modal-wrap .modal-info-size-content .main-wrap .form-holder:after {
        clear: both; }
      @media only screen and (max-width: 992px) {
        .modal-wrap .modal-content .main-wrap .form-holder, .modal-wrap .modal-info-size-content .main-wrap .form-holder {
          width: 100%;
          margin-top: 0; } }
      @media only screen and (max-width: 992px) {
        .modal-wrap .modal-content .main-wrap .form-holder .input-wrap, .modal-wrap .modal-info-size-content .main-wrap .form-holder .input-wrap {
          width: 200px;
          margin: 0 auto; } }
      .modal-wrap .modal-content .main-wrap .form-holder .single-img-wrap, .modal-wrap .modal-info-size-content .main-wrap .form-holder .single-img-wrap {
        margin-bottom: 15px; }
        .modal-wrap .modal-content .main-wrap .form-holder .single-img-wrap img, .modal-wrap .modal-info-size-content .main-wrap .form-holder .single-img-wrap img {
          max-width: 120px;
          display: block;
          margin: 0 auto 10px; }
        .modal-wrap .modal-content .main-wrap .form-holder .single-img-wrap label, .modal-wrap .modal-info-size-content .main-wrap .form-holder .single-img-wrap label {
          display: block;
          margin-bottom: 8px;
          color: #f8f8f8;
          font-size: 17px; }
          .modal-wrap .modal-content .main-wrap .form-holder .single-img-wrap label span, .modal-wrap .modal-info-size-content .main-wrap .form-holder .single-img-wrap label span {
            color: red; }
        .modal-wrap .modal-content .main-wrap .form-holder .single-img-wrap input, .modal-wrap .modal-info-size-content .main-wrap .form-holder .single-img-wrap input {
          width: 100%;
          height: 35px;
          padding: 0 10px;
          border: none;
          background: #fff;
          line-height: 35px;
          font-size: 25px;
          color: #000;
          text-align: center; }
      .modal-wrap .modal-content .main-wrap .form-holder button#addToCart, .modal-wrap .modal-info-size-content .main-wrap .form-holder button#addToCart {
        float: right;
        width: 105px;
        height: 40px;
        color: #fff;
        background: #252525;
        border: 2px solid #fff;
        -webkit-transition: all 0.2s linear;
        -o-transition: all 0.2s linear;
        transition: all 0.2s linear; }
        @media only screen and (max-width: 992px) {
          .modal-wrap .modal-content .main-wrap .form-holder button#addToCart, .modal-wrap .modal-info-size-content .main-wrap .form-holder button#addToCart {
            display: block;
            float: none;
            margin: 0 auto 30px; } }
        .modal-wrap .modal-content .main-wrap .form-holder button#addToCart:hover, .modal-wrap .modal-info-size-content .main-wrap .form-holder button#addToCart:hover {
          background: #fff;
          color: #252525;
          cursor: pointer; }
  .modal-wrap .modal-info-size-content {
    width: 755px; }
    @media only screen and (max-width: 992px) {
      .modal-wrap .modal-info-size-content {
        height: 90vh;
        overflow-y: scroll;
        padding: 20px 20px 40px 20px;
        width: 99%; }
        .modal-wrap .modal-info-size-content iframe {
          width: 90%;
          height: auto; }
        .modal-wrap .modal-info-size-content table {
          table-layout: fixed;
          overflow-x: auto;
          display: block; }
        .modal-wrap .modal-info-size-content td {
          overflow: hidden;
          text-overflow: ellipsis;
          word-wrap: break-word; } }
    @media only screen and (max-width: 480px) {
      .modal-wrap .modal-info-size-content {
        height: 90vh;
        overflow-y: scroll;
        padding: 20px 20px 40px 20px;
        width: 99%; }
        .modal-wrap .modal-info-size-content iframe {
          width: 90%;
          height: auto; }
        .modal-wrap .modal-info-size-content table {
          table-layout: fixed;
          overflow-x: auto;
          display: block; }
        .modal-wrap .modal-info-size-content td {
          overflow: hidden;
          text-overflow: ellipsis;
          word-wrap: break-word; } }
    @media only screen and (max-width: 635px) {
      .modal-wrap .modal-info-size-content {
        height: 90vh;
        overflow-y: scroll;
        padding: 20px 20px 40px 20px;
        width: 99%; }
        .modal-wrap .modal-info-size-content iframe {
          width: 90%;
          height: auto; }
        .modal-wrap .modal-info-size-content table {
          table-layout: fixed;
          overflow-x: auto;
          display: block; }
        .modal-wrap .modal-info-size-content td {
          overflow: hidden;
          text-overflow: ellipsis;
          word-wrap: break-word; } }

.suc-fail {
  padding-top: 60px;
  text-align: center; }
  .suc-fail p {
    font-size: 47px;
    text-align: center;
    margin-bottom: 30px; }
  .suc-fail i {
    font-size: 90px; }
    .suc-fail i.fa-check-circle {
      color: #87D37C; }
    .suc-fail i.fa-times-circle {
      color: #EF4836; }

.size-select-wrap {
  z-index: 99;
  position: absolute;
  right: 35px;
  top: 100px;
  background: url(http://i62.tinypic.com/15xvbd5.png) no-repeat 92% 0;
  height: 29px;
  overflow: hidden;
  width: 120px;
  background-color: #252525;
  color: #fff;
  font-family: "BrandonGrotesque-Black", sans-serif;
  cursor: pointer; }
  .size-select-wrap:hover {
    cursor: pointer; }
  @media only screen and (max-width: 992px) {
    .size-select-wrap {
      position: relative;
      float: right;
      top: 0;
      margin-right: 20px; } }
  .size-select-wrap select {
    background: transparent;
    border: none;
    font-size: 20px;
    height: 29px;
    padding: 0 5px;
    width: 140px;
    color: #fff;
    font-family: "Futura-StdBook", sans-serif; }
    @media only screen and (max-width: 635px) {
      .size-select-wrap select {
        font-size: 18px; } }
    .size-select-wrap select option {
      background: #D8D7D8;
      font-size: 20px;
      text-align: right;
      padding-right: 5px;
      color: #222; }
      @media only screen and (max-width: 635px) {
        .size-select-wrap select option {
          font-size: 16px;
          text-align: left; } }

#size-info {
  width: 28px;
  height: 28px;
  z-index: 99;
  position: absolute;
  right: 0;
  top: 100px;
  cursor: pointer; }
  @media only screen and (max-width: 992px) {
    #size-info {
      position: relative;
      float: right;
      top: -29px;
      margin-right: 20px; } }

.avatar-holder {
  position: relative;
  width: 33%;
  float: right; }
  .avatar-holder a.avatar-icon {
    width: 100%; }
  .avatar-holder .logout-btn {
    display: none; }
  .avatar-holder:hover .logout-btn {
    display: block;
    position: absolute;
    top: 60px;
    left: 50%;
    width: 150px;
    height: 40px;
    line-height: 40px;
    font-size: 22px;
    text-align: center;
    background: #252525;
    color: #fff;
    transform: translate(-50%, -4px);
    border: 1px solid #fff;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    transition: all 0.2s linear; }
    .avatar-holder:hover .logout-btn:hover {
      color: #a5a5a5; }

header a {
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  transition: all 0.2s linear; }
  header a:hover {
    color: #a5a5a5; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1pbi5jc3MiLCJzb3VyY2VzIjpbImFwcC5zYXNzIiwiMC1wbHVnaW5zL3BsdWdpbnMtZGlyLnNhc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9fYm91cmJvbi5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vc2V0dGluZ3MvX3ByZWZpeGVyLnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9zZXR0aW5ncy9fcHgtdG8tZW0uc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL3NldHRpbmdzL19hc3NldC1waXBlbGluZS5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vZnVuY3Rpb25zL19hc3NpZ24taW5wdXRzLnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9mdW5jdGlvbnMvX2NvbnRhaW5zLnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9mdW5jdGlvbnMvX2NvbnRhaW5zLWZhbHN5LnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9mdW5jdGlvbnMvX2lzLWxlbmd0aC5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vZnVuY3Rpb25zL19pcy1saWdodC5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vZnVuY3Rpb25zL19pcy1udW1iZXIuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2Z1bmN0aW9ucy9faXMtc2l6ZS5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vZnVuY3Rpb25zL19weC10by1lbS5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2Z1bmN0aW9ucy9fc2hhZGUuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2Z1bmN0aW9ucy9fc3RyaXAtdW5pdHMuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2Z1bmN0aW9ucy9fdGludC5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vZnVuY3Rpb25zL190cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2Z1bmN0aW9ucy9fdW5wYWNrLnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9mdW5jdGlvbnMvX21vZHVsYXItc2NhbGUuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2hlbHBlcnMvX2NvbnZlcnQtdW5pdHMuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2hlbHBlcnMvX2RpcmVjdGlvbmFsLXZhbHVlcy5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vaGVscGVycy9fZm9udC1zb3VyY2UtZGVjbGFyYXRpb24uc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2hlbHBlcnMvX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1hbmdsZS1wYXJzZXIuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1ncmFkaWVudC1wYXJzZXIuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9oZWxwZXJzL19saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyLnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtYXJnLXBhcnNlci5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vaGVscGVycy9fcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2hlbHBlcnMvX3JlbmRlci1ncmFkaWVudHMuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2hlbHBlcnMvX3NoYXBlLXNpemUtc3RyaXBwZXIuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2hlbHBlcnMvX3N0ci10by1udW0uc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2NzczMvX2FuaW1hdGlvbi5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vY3NzMy9fYXBwZWFyYW5jZS5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vY3NzMy9fYmFja2ZhY2UtdmlzaWJpbGl0eS5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vY3NzMy9fYmFja2dyb3VuZC5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vY3NzMy9fYmFja2dyb3VuZC1pbWFnZS5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vY3NzMy9fYm9yZGVyLWltYWdlLnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9jc3MzL19jYWxjLnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9jc3MzL19jb2x1bW5zLnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9jc3MzL19maWx0ZXIuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2NzczMvX2ZsZXgtYm94LnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9jc3MzL19mb250LWZhY2Uuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2NzczMvX2ZvbnQtZmVhdHVyZS1zZXR0aW5ncy5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2NzczMvX2h5cGhlbnMuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2NzczMvX2ltYWdlLXJlbmRlcmluZy5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vY3NzMy9fa2V5ZnJhbWVzLnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9jc3MzL19saW5lYXItZ3JhZGllbnQuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2NzczMvX3BlcnNwZWN0aXZlLnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9jc3MzL19wbGFjZWhvbGRlci5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vY3NzMy9fcmFkaWFsLWdyYWRpZW50LnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9jc3MzL19zZWxlY3Rpb24uc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2NzczMvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vY3NzMy9fdHJhbnNmb3JtLnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9jc3MzL190cmFuc2l0aW9uLnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vYWRkb25zL19ib3JkZXItY29sb3Iuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2FkZG9ucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vYWRkb25zL19ib3JkZXItc3R5bGUuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2FkZG9ucy9fYm9yZGVyLXdpZHRoLnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9hZGRvbnMvX2J1dHRvbnMuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2FkZG9ucy9fZWxsaXBzaXMuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2FkZG9ucy9fZm9udC1zdGFja3Muc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2FkZG9ucy9faGlkZS10ZXh0LnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9hZGRvbnMvX21hcmdpbi5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vYWRkb25zL19wYWRkaW5nLnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9hZGRvbnMvX3Bvc2l0aW9uLnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9hZGRvbnMvX3JldGluYS1pbWFnZS5zY3NzIiwiMC1wbHVnaW5zL2JvdXJib24vYWRkb25zL19zaXplLnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9hZGRvbnMvX3RleHQtaW5wdXRzLnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9hZGRvbnMvX3RpbWluZy1mdW5jdGlvbnMuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2FkZG9ucy9fdHJpYW5nbGUuc2NzcyIsIjAtcGx1Z2lucy9ib3VyYm9uL2FkZG9ucy9fd29yZC13cmFwLnNjc3MiLCIwLXBsdWdpbnMvYm91cmJvbi9fYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nLnNjc3MiLCIwLXBsdWdpbnMvYm9vdHN0cmFwLXNhc3MtbWFzdGVyL2Fzc2V0cy9zdHlsZXNoZWV0cy9fYm9vdHN0cmFwLnNjc3MiLCIwLXBsdWdpbnMvYm9vdHN0cmFwLXNhc3MtbWFzdGVyL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3ZhcmlhYmxlcy5zY3NzIiwiMC1wbHVnaW5zL2Jvb3RzdHJhcC1zYXNzLW1hc3Rlci9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19taXhpbnMuc2NzcyIsIjAtcGx1Z2lucy9ib290c3RyYXAtc2Fzcy1tYXN0ZXIvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2hpZGUtdGV4dC5zY3NzIiwiMC1wbHVnaW5zL2Jvb3RzdHJhcC1zYXNzLW1hc3Rlci9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fb3BhY2l0eS5zY3NzIiwiMC1wbHVnaW5zL2Jvb3RzdHJhcC1zYXNzLW1hc3Rlci9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9faW1hZ2Uuc2NzcyIsIjAtcGx1Z2lucy9ib290c3RyYXAtc2Fzcy1tYXN0ZXIvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2xhYmVscy5zY3NzIiwiMC1wbHVnaW5zL2Jvb3RzdHJhcC1zYXNzLW1hc3Rlci9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fcmVzZXQtZmlsdGVyLnNjc3MiLCIwLXBsdWdpbnMvYm9vdHN0cmFwLXNhc3MtbWFzdGVyL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19yZXNpemUuc2NzcyIsIjAtcGx1Z2lucy9ib290c3RyYXAtc2Fzcy1tYXN0ZXIvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3Jlc3BvbnNpdmUtdmlzaWJpbGl0eS5zY3NzIiwiMC1wbHVnaW5zL2Jvb3RzdHJhcC1zYXNzLW1hc3Rlci9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fc2l6ZS5zY3NzIiwiMC1wbHVnaW5zL2Jvb3RzdHJhcC1zYXNzLW1hc3Rlci9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fdGFiLWZvY3VzLnNjc3MiLCIwLXBsdWdpbnMvYm9vdHN0cmFwLXNhc3MtbWFzdGVyL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCIwLXBsdWdpbnMvYm9vdHN0cmFwLXNhc3MtbWFzdGVyL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCIwLXBsdWdpbnMvYm9vdHN0cmFwLXNhc3MtbWFzdGVyL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL190ZXh0LW92ZXJmbG93LnNjc3MiLCIwLXBsdWdpbnMvYm9vdHN0cmFwLXNhc3MtbWFzdGVyL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL192ZW5kb3ItcHJlZml4ZXMuc2NzcyIsIjAtcGx1Z2lucy9ib290c3RyYXAtc2Fzcy1tYXN0ZXIvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2FsZXJ0cy5zY3NzIiwiMC1wbHVnaW5zL2Jvb3RzdHJhcC1zYXNzLW1hc3Rlci9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fYnV0dG9ucy5zY3NzIiwiMC1wbHVnaW5zL2Jvb3RzdHJhcC1zYXNzLW1hc3Rlci9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fcGFuZWxzLnNjc3MiLCIwLXBsdWdpbnMvYm9vdHN0cmFwLXNhc3MtbWFzdGVyL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCIwLXBsdWdpbnMvYm9vdHN0cmFwLXNhc3MtbWFzdGVyL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCIwLXBsdWdpbnMvYm9vdHN0cmFwLXNhc3MtbWFzdGVyL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwiMC1wbHVnaW5zL2Jvb3RzdHJhcC1zYXNzLW1hc3Rlci9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fZm9ybXMuc2NzcyIsIjAtcGx1Z2lucy9ib290c3RyYXAtc2Fzcy1tYXN0ZXIvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3Byb2dyZXNzLWJhci5zY3NzIiwiMC1wbHVnaW5zL2Jvb3RzdHJhcC1zYXNzLW1hc3Rlci9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fdGFibGUtcm93LnNjc3MiLCIwLXBsdWdpbnMvYm9vdHN0cmFwLXNhc3MtbWFzdGVyL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsIjAtcGx1Z2lucy9ib290c3RyYXAtc2Fzcy1tYXN0ZXIvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIjAtcGx1Z2lucy9ib290c3RyYXAtc2Fzcy1tYXN0ZXIvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwiMC1wbHVnaW5zL2Jvb3RzdHJhcC1zYXNzLW1hc3Rlci9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fY2xlYXJmaXguc2NzcyIsIjAtcGx1Z2lucy9ib290c3RyYXAtc2Fzcy1tYXN0ZXIvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2NlbnRlci1ibG9jay5zY3NzIiwiMC1wbHVnaW5zL2Jvb3RzdHJhcC1zYXNzLW1hc3Rlci9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fbmF2LXZlcnRpY2FsLWFsaWduLnNjc3MiLCIwLXBsdWdpbnMvYm9vdHN0cmFwLXNhc3MtbWFzdGVyL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiMC1wbHVnaW5zL2Jvb3RzdHJhcC1zYXNzLW1hc3Rlci9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fZ3JpZC5zY3NzIiwiMC1wbHVnaW5zL2Jvb3RzdHJhcC1zYXNzLW1hc3Rlci9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19ncmlkLnNjc3MiLCIwLXBsdWdpbnMvYm9vdHN0cmFwLXNhc3MtbWFzdGVyL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIjAtcGx1Z2lucy9ib290c3RyYXAtc2Fzcy1tYXN0ZXIvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fdXRpbGl0aWVzLnNjc3MiLCIwLXBsdWdpbnMvYm9vdHN0cmFwLXNhc3MtbWFzdGVyL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3Jlc3BvbnNpdmUtdXRpbGl0aWVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2VsZWN0Mi9zcmMvc2Nzcy9jb3JlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2VsZWN0Mi9zcmMvc2Nzcy9fc2luZ2xlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2VsZWN0Mi9zcmMvc2Nzcy9fbXVsdGlwbGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9zZWxlY3QyL3NyYy9zY3NzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3NlbGVjdDIvc3JjL3Njc3MvdGhlbWUvZGVmYXVsdC9sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9zZWxlY3QyL3NyYy9zY3NzL3RoZW1lL2RlZmF1bHQvX3NpbmdsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3NlbGVjdDIvc3JjL3Njc3MvdGhlbWUvZGVmYXVsdC9fbXVsdGlwbGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9zZWxlY3QyL3NyYy9zY3NzL3RoZW1lL2NsYXNzaWMvbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2VsZWN0Mi9zcmMvc2Nzcy90aGVtZS9jbGFzc2ljL19kZWZhdWx0cy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3NlbGVjdDIvc3JjL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9zZWxlY3QyL3NyYy9zY3NzL3RoZW1lL2NsYXNzaWMvX3NpbmdsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3NlbGVjdDIvc3JjL3Njc3MvdGhlbWUvY2xhc3NpYy9fbXVsdGlwbGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLXRoZW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL2hhbWJ1cmdlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvXzNkeC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fM2R4LXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvXzNkeS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fM2R5LXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2Fycm93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19hcnJvdy1yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19hcnJvd2FsdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3dhbHQtci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fYm9yaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19jb2xsYXBzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fY29sbGFwc2Utci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fZWxhc3RpYy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fZWxhc3RpYy1yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19lbXBoYXRpYy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fZW1waGF0aWMtci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc2xpZGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zbGlkZXItci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3ByaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zcHJpbmctci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3RhbmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3N0YW5kLXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3NwaW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3NwaW4tci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3F1ZWV6ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fdm9ydGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL192b3J0ZXgtci5zY3NzIiwiMS1iYXNlL2Jhc2UtZGlyLnNhc3MiLCIxLWJhc2UvcmVzZXQuc2FzcyIsIjEtYmFzZS92YXJpYWJsZXMuc2FzcyIsIjEtYmFzZS9taXhpbnMuc2FzcyIsIjEtYmFzZS9zZXR0aW5ncy5zYXNzIiwiMS1iYXNlL2ljb21vb24tZm9udC5zYXNzIiwiMi1tb2R1bGVzL21vZHVsZXMtZGlyLnNhc3MiLCIyLW1vZHVsZXMvbmF2aWdhdGlvbi5zYXNzIiwiMi1tb2R1bGVzL2lucHV0cy5zYXNzIiwiMy1sYXlvdXRzL2xheW91dHMtZGlyLnNhc3MiLCIzLWxheW91dHMvaGVhZGVyLnNhc3MiLCIzLWxheW91dHMvZm9vdGVyLnNhc3MiLCI0LXBhZ2VzL3BhZ2VzLWRpci5zYXNzIiwiNC1wYWdlcy9ob21lcGFnZS5zYXNzIiwiNC1wYWdlcy9hbGwtc2hvZXMuc2FzcyIsIjQtcGFnZXMvY2FydC5zYXNzIiwiNC1wYWdlcy9sb2dpbi5zYXNzIiwiNC1wYWdlcy9yZWdpc3RyYXRpb24uc2FzcyIsIjQtcGFnZXMvY2hvb3NlLWFkZHJlc3Muc2FzcyIsIjQtcGFnZXMvcHJvZmlsZS5zYXNzIiwiNC1wYWdlcy9wcm9maWxlLW9yZGVyLnNhc3MiLCI0LXBhZ2VzL3NoaXBwaW5nLWFkZHJlc3Muc2FzcyIsIjQtcGFnZXMvcHJvZmlsZS1hY2Muc2FzcyIsIjQtcGFnZXMvb3JkZXIuc2FzcyIsIjQtcGFnZXMvb3JkZXItcGF5bWVudC5zYXNzIiwiNC1wYWdlcy9jcmVhdGUtc2hvZS5zYXNzIiwiNC1wYWdlcy9uZXctcGFnZXMuc2FzcyIsIjQtcGFnZXMvbmV3LnNhc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnMC1wbHVnaW5zL3BsdWdpbnMtZGlyJztcbkBpbXBvcnQgJzEtYmFzZS9iYXNlLWRpcic7XG5AaW1wb3J0ICcyLW1vZHVsZXMvbW9kdWxlcy1kaXInO1xuQGltcG9ydCAnMy1sYXlvdXRzL2xheW91dHMtZGlyJztcbkBpbXBvcnQgJzQtcGFnZXMvcGFnZXMtZGlyJztcbiIsIkBpbXBvcnQgJ2JvdXJib24vYm91cmJvbic7XG5AaW1wb3J0ICdib290c3RyYXAtc2Fzcy1tYXN0ZXIvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcCc7XG5AaW1wb3J0ICAnLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3NlbGVjdDIvc3JjL3Njc3MvY29yZSc7XG5AaW1wb3J0ICAnLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLnNjc3MnO1xuQGltcG9ydCAgJy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay10aGVtZS5zY3NzJztcbkBpbXBvcnQgICcuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL2hhbWJ1cmdlcnMnO1xuXG4iLCIvLyBCb3VyYm9uIDQuMi43XG4vLyBodHRwOi8vYm91cmJvbi5pb1xuLy8gQ29weXJpZ2h0IDIwMTEtMjAxNSB0aG91Z2h0Ym90LCBpbmMuXG4vLyBNSVQgTGljZW5zZVxuXG5AaW1wb3J0IFwic2V0dGluZ3MvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9weC10by1lbVwiO1xuQGltcG9ydCBcInNldHRpbmdzL2Fzc2V0LXBpcGVsaW5lXCI7XG5cbkBpbXBvcnQgXCJmdW5jdGlvbnMvYXNzaWduLWlucHV0c1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb250YWluc1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb250YWlucy1mYWxzeVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1sZW5ndGhcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGlnaHRcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbnVtYmVyXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLXNpemVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tcmVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3NoYWRlXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3N0cmlwLXVuaXRzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RpbnRcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3VucGFja1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9tb2R1bGFyLXNjYWxlXCI7XG5cbkBpbXBvcnQgXCJoZWxwZXJzL2NvbnZlcnQtdW5pdHNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2RpcmVjdGlvbmFsLXZhbHVlc1wiO1xuQGltcG9ydCBcImhlbHBlcnMvZm9udC1zb3VyY2UtZGVjbGFyYXRpb25cIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1hbmdsZS1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1ncmFkaWVudC1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtYXJnLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1ncmFkaWVudC1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JlbmRlci1ncmFkaWVudHNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3NoYXBlLXNpemUtc3RyaXBwZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3N0ci10by1udW1cIjtcblxuQGltcG9ydCBcImNzczMvYW5pbWF0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy9hcHBlYXJhbmNlXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZmFjZS12aXNpYmlsaXR5XCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLWltYWdlXCI7XG5AaW1wb3J0IFwiY3NzMy9ib3JkZXItaW1hZ2VcIjtcbkBpbXBvcnQgXCJjc3MzL2NhbGNcIjtcbkBpbXBvcnQgXCJjc3MzL2NvbHVtbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2ZpbHRlclwiO1xuQGltcG9ydCBcImNzczMvZmxleC1ib3hcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmFjZVwiO1xuQGltcG9ydCBcImNzczMvZm9udC1mZWF0dXJlLXNldHRpbmdzXCI7XG5AaW1wb3J0IFwiY3NzMy9oaWRwaS1tZWRpYS1xdWVyeVwiO1xuQGltcG9ydCBcImNzczMvaHlwaGVuc1wiO1xuQGltcG9ydCBcImNzczMvaW1hZ2UtcmVuZGVyaW5nXCI7XG5AaW1wb3J0IFwiY3NzMy9rZXlmcmFtZXNcIjtcbkBpbXBvcnQgXCJjc3MzL2xpbmVhci1ncmFkaWVudFwiO1xuQGltcG9ydCBcImNzczMvcGVyc3BlY3RpdmVcIjtcbkBpbXBvcnQgXCJjc3MzL3BsYWNlaG9sZGVyXCI7XG5AaW1wb3J0IFwiY3NzMy9yYWRpYWwtZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3NlbGVjdGlvblwiO1xuQGltcG9ydCBcImNzczMvdGV4dC1kZWNvcmF0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2Zvcm1cIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zaXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3VzZXItc2VsZWN0XCI7XG5cbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLWNvbG9yXCI7XG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXN0eWxlXCI7XG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci13aWR0aFwiO1xuQGltcG9ydCBcImFkZG9ucy9idXR0b25zXCI7XG5AaW1wb3J0IFwiYWRkb25zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwiYWRkb25zL2VsbGlwc2lzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2ZvbnQtc3RhY2tzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2hpZGUtdGV4dFwiO1xuQGltcG9ydCBcImFkZG9ucy9tYXJnaW5cIjtcbkBpbXBvcnQgXCJhZGRvbnMvcGFkZGluZ1wiO1xuQGltcG9ydCBcImFkZG9ucy9wb3NpdGlvblwiO1xuQGltcG9ydCBcImFkZG9ucy9wcmVmaXhlclwiO1xuQGltcG9ydCBcImFkZG9ucy9yZXRpbmEtaW1hZ2VcIjtcbkBpbXBvcnQgXCJhZGRvbnMvc2l6ZVwiO1xuQGltcG9ydCBcImFkZG9ucy90ZXh0LWlucHV0c1wiO1xuQGltcG9ydCBcImFkZG9ucy90aW1pbmctZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiYWRkb25zL3RyaWFuZ2xlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3dvcmQtd3JhcFwiO1xuXG5AaW1wb3J0IFwiYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nXCI7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBvciBkaXNhYmxlIHZlbmRvciBwcmVmaXhlc1xuXG4kcHJlZml4LWZvci13ZWJraXQ6ICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1tb3ppbGxhOiAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1taWNyb3NvZnQ6IHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1vcGVyYTogICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1zcGVjOiAgICAgIHRydWUgIWRlZmF1bHQ7XG4iLCIkZW0tYmFzZTogMTZweCAhZGVmYXVsdDtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgZ2xvYmFsIHNldHRpbmcgdG8gZW5hYmxlIG9yIGRpc2FibGUgdGhlIGAkYXNzZXQtcGlwZWxpbmVgIHZhcmlhYmxlIGZvciBhbGwgZnVuY3Rpb25zIHRoYXQgYWNjZXB0IGl0LlxuLy8vXG4vLy8gQHR5cGUgQm9vbFxuXG4kYXNzZXQtcGlwZWxpbmU6IGZhbHNlICFkZWZhdWx0O1xuIiwiQGZ1bmN0aW9uIGFzc2lnbi1pbnB1dHMoJGlucHV0cywgJHBzZXVkbzogbnVsbCkge1xuICAkbGlzdDogKCk7XG5cbiAgQGVhY2ggJGlucHV0IGluICRpbnB1dHMge1xuICAgICRpbnB1dDogdW5xdW90ZSgkaW5wdXQpO1xuICAgICRpbnB1dDogaWYoJHBzZXVkbywgJGlucHV0ICsgXCI6XCIgKyAkcHNldWRvLCAkaW5wdXQpO1xuICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRpbnB1dCwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkbGlzdDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBpZiBhIGxpc3QgY29udGFpbnMgYSB2YWx1ZShzKS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdFxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHVlc1xuLy8vICAgQSBzaW5nbGUgdmFsdWUgb3IgbGlzdCBvZiB2YWx1ZXMgdG8gY2hlY2sgZm9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBjb250YWlucygkbGlzdCwgJHZhbHVlKVxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cblxuQGZ1bmN0aW9uIGNvbnRhaW5zKCRsaXN0LCAkdmFsdWVzLi4uKSB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgdHlwZS1vZihpbmRleCgkbGlzdCwgJHZhbHVlKSkgIT0gXCJudW1iZXJcIiB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBpZiBhIGxpc3QgZG9lcyBub3QgY29udGFpbnMgYSB2YWx1ZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdFxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG5cbkBmdW5jdGlvbiBjb250YWlucy1mYWxzeSgkbGlzdCkge1xuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgQGlmIG5vdCAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBmYWxzZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1MgbGVuZ3RoLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZVxuXG5AZnVuY3Rpb24gaXMtbGVuZ3RoKCR2YWx1ZSkge1xuICBAcmV0dXJuIHR5cGUtb2YoJHZhbHVlKSAhPSBcIm51bGxcIiBhbmQgKHN0ci1zbGljZSgkdmFsdWUgKyBcIlwiLCAxLCA0KSA9PSBcImNhbGNcIlxuICAgICAgIG9yIGluZGV4KGF1dG8gaW5oZXJpdCBpbml0aWFsIDAsICR2YWx1ZSlcbiAgICAgICBvciAodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIgYW5kIG5vdCh1bml0bGVzcygkdmFsdWUpKSkpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvZ3JhbWF0aWNhbGx5IGRldGVybWluZXMgd2hldGhlciBhIGNvbG9yIGlzIGxpZ2h0IG9yIGRhcmsuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vcm9ib3RzLnRob3VnaHRib3QuY29tL2Nsb3Nlci1sb29rLWNvbG9yLWxpZ2h0bmVzc1xuLy8vXG4vLy8gQHBhcmFtIHtDb2xvciAoSGV4KX0gJGNvbG9yXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIGlzLWxpZ2h0KCRjb2xvcilcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG5cbkBmdW5jdGlvbiBpcy1saWdodCgkaGV4LWNvbG9yKSB7XG4gICQtbG9jYWwtcmVkOiByZWQocmdiYSgkaGV4LWNvbG9yLCAxKSk7XG4gICQtbG9jYWwtZ3JlZW46IGdyZWVuKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWJsdWU6IGJsdWUocmdiYSgkaGV4LWNvbG9yLCAxKSk7XG4gICQtbG9jYWwtbGlnaHRuZXNzOiAoJC1sb2NhbC1yZWQgKiAwLjIxMjYgKyAkLWxvY2FsLWdyZWVuICogMC43MTUyICsgJC1sb2NhbC1ibHVlICogMC4wNzIyKSAvIDI1NTtcblxuICBAcmV0dXJuICQtbG9jYWwtbGlnaHRuZXNzID4gMC42O1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIG51bWJlci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWVcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnNcblxuQGZ1bmN0aW9uIGlzLW51bWJlcigkdmFsdWUpIHtcbiAgQHJldHVybiBjb250YWlucyhcIjBcIiBcIjFcIiBcIjJcIiBcIjNcIiBcIjRcIiBcIjVcIiBcIjZcIiBcIjdcIiBcIjhcIiBcIjlcIiAwIDEgMiAzIDQgNSA2IDcgOCA5LCAkdmFsdWUpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIENTUyBzaXplLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWluc1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gaXMtbGVuZ3RoXG5cbkBmdW5jdGlvbiBpcy1zaXplKCR2YWx1ZSkge1xuICBAcmV0dXJuIGlzLWxlbmd0aCgkdmFsdWUpXG4gICAgICAgICAgb3IgY29udGFpbnMoXCJmaWxsXCIgXCJmaXQtY29udGVudFwiIFwibWluLWNvbnRlbnRcIiBcIm1heC1jb250ZW50XCIsICR2YWx1ZSk7XG59XG4iLCIvLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgZW0oMTIpIHdoZW4gdGhlIHBhcmVudCBpcyAxNnB4XG4vLyBpZiB0aGUgcGFyZW50IGlzIGFub3RoZXIgdmFsdWUgc2F5IDI0cHggd3JpdGUgZW0oMTIsIDI0KVxuXG5AZnVuY3Rpb24gZW0oJHB4dmFsLCAkYmFzZTogJGVtLWJhc2UpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMWVtO1xufVxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gcmVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSByZW0oMTIpXG4vLyBBc3N1bWVzICRlbS1iYXNlIGlzIHRoZSBmb250LXNpemUgb2YgPGh0bWw+XG5cbkBmdW5jdGlvbiByZW0oJHB4dmFsKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG5cbiAgJGJhc2U6ICRlbS1iYXNlO1xuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxcmVtO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWl4ZXMgYSBjb2xvciB3aXRoIGJsYWNrLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoUGVyY2VudGFnZSl9ICRwZXJjZW50XG4vLy8gICBUaGUgYW1vdW50IG9mIGJsYWNrIHRvIGJlIG1peGVkIGluLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCNmZmJiNTIsIDYwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjRhMjA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmV0dXJuIHtDb2xvcn1cblxuQGZ1bmN0aW9uIHNoYWRlKCRjb2xvciwgJHBlcmNlbnQpIHtcbiAgQHJldHVybiBtaXgoIzAwMCwgJGNvbG9yLCAkcGVyY2VudCk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTdHJpcHMgdGhlIHVuaXQgZnJvbSBhIG51bWJlci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIChXaXRoIFVuaXQpfSAkdmFsdWVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgJGRpbWVuc2lvbjogc3RyaXAtdW5pdHMoMTBlbSk7XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAkZGltZW5zaW9uOiAxMDtcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlciAoVW5pdGxlc3MpfVxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJHZhbHVlKSB7XG4gIEByZXR1cm4gKCR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSkpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWl4ZXMgYSBjb2xvciB3aXRoIHdoaXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoUGVyY2VudGFnZSl9ICRwZXJjZW50XG4vLy8gICBUaGUgYW1vdW50IG9mIHdoaXRlIHRvIGJlIG1peGVkIGluLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHRpbnQoIzZlY2FhNiwgNDAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E4ZGZjOTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXR1cm4ge0NvbG9yfVxuXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50KSB7XG4gIEByZXR1cm4gbWl4KCNmZmYsICRjb2xvciwgJHBlcmNlbnQpO1xufVxuIiwiLy8gUmV0dXJuIHZlbmRvci1wcmVmaXhlZCBwcm9wZXJ0eSBuYW1lcyBpZiBhcHByb3ByaWF0ZVxuLy8gRXhhbXBsZTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygodHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZCksIG1veikgLT4gLW1vei10cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcHMsICR2ZW5kb3I6IGZhbHNlKSB7XG4gICRuZXctcHJvcHM6ICgpO1xuXG4gIEBlYWNoICRwcm9wIGluICRwcm9wcyB7XG4gICAgJG5ldy1wcm9wczogYXBwZW5kKCRuZXctcHJvcHMsIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvciksIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1wcm9wcztcbn1cblxuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvcjogZmFsc2UpIHtcbiAgLy8gcHV0IG90aGVyIHByb3BlcnRpZXMgdGhhdCBuZWVkIHRvIGJlIHByZWZpeGVkIGhlcmUgYXN3ZWxsXG4gIEBpZiAkdmVuZG9yIGFuZCAkcHJvcCA9PSB0cmFuc2Zvcm0ge1xuICAgIEByZXR1cm4gdW5xdW90ZSgnLScrJHZlbmRvcisnLScrJHByb3ApO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRwcm9wO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDb252ZXJ0cyBzaG9ydGhhbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvcnRoYW5kXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luOiB1bnBhY2soMWVtIDJlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbjogMWVtIDJlbSAxZW0gMmVtO1xuLy8vICAgfVxuXG5AZnVuY3Rpb24gdW5wYWNrKCRzaG9ydGhhbmQpIHtcbiAgQGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAxIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMiB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMik7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDMge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMykgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRzaG9ydGhhbmQ7XG4gIH1cbn1cbiIsIi8vIFNjYWxpbmcgVmFyaWFibGVzXG4kZ29sZGVuOiAgICAgICAgICAgMS42MTg7XG4kbWlub3Itc2Vjb25kOiAgICAgMS4wNjc7XG4kbWFqb3Itc2Vjb25kOiAgICAgMS4xMjU7XG4kbWlub3ItdGhpcmQ6ICAgICAgMS4yO1xuJG1ham9yLXRoaXJkOiAgICAgIDEuMjU7XG4kcGVyZmVjdC1mb3VydGg6ICAgMS4zMzM7XG4kYXVnbWVudGVkLWZvdXJ0aDogMS40MTQ7XG4kcGVyZmVjdC1maWZ0aDogICAgMS41O1xuJG1pbm9yLXNpeHRoOiAgICAgIDEuNjtcbiRtYWpvci1zaXh0aDogICAgICAxLjY2NztcbiRtaW5vci1zZXZlbnRoOiAgICAxLjc3ODtcbiRtYWpvci1zZXZlbnRoOiAgICAxLjg3NTtcbiRvY3RhdmU6ICAgICAgICAgICAyO1xuJG1ham9yLXRlbnRoOiAgICAgIDIuNTtcbiRtYWpvci1lbGV2ZW50aDogICAyLjY2NztcbiRtYWpvci10d2VsZnRoOiAgICAzO1xuJGRvdWJsZS1vY3RhdmU6ICAgIDQ7XG5cbiRtb2R1bGFyLXNjYWxlLXJhdGlvOiAkcGVyZmVjdC1mb3VydGggIWRlZmF1bHQ7XG4kbW9kdWxhci1zY2FsZS1iYXNlOiBlbSgkZW0tYmFzZSkgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZTogJG1vZHVsYXItc2NhbGUtYmFzZSwgJHJhdGlvOiAkbW9kdWxhci1zY2FsZS1yYXRpbykge1xuICAkdjE6IG50aCgkdmFsdWUsIDEpO1xuICAkdjI6IG50aCgkdmFsdWUsIGxlbmd0aCgkdmFsdWUpKTtcbiAgJHZhbHVlOiAkdjE7XG5cbiAgLy8gc2NhbGUgJHYyIHRvIGp1c3QgYWJvdmUgJHYxXG4gIEB3aGlsZSAkdjIgPiAkdjEge1xuICAgICR2MjogKCR2MiAvICRyYXRpbyk7IC8vIHdpbGwgYmUgb2ZmLWJ5LTFcbiAgfVxuICBAd2hpbGUgJHYyIDwgJHYxIHtcbiAgICAkdjI6ICgkdjIgKiAkcmF0aW8pOyAvLyB3aWxsIGZpeCBvZmYtYnktMVxuICB9XG5cbiAgLy8gY2hlY2sgQUZURVIgc2NhbGluZyAkdjIgdG8gcHJldmVudCBkb3VibGUtY291bnRpbmcgY29ybmVyLWNhc2VcbiAgJGRvdWJsZS1zdHJhbmRlZDogJHYyID4gJHYxO1xuXG4gIEBpZiAkaW5jcmVtZW50ID4gMCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkaW5jcmVtZW50IHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxICogJHJhdGlvKSA+ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgKiAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAqICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkaW5jcmVtZW50IDwgMCB7XG4gICAgLy8gYWRqdXN0ICR2MiB0byBqdXN0IGJlbG93ICR2MVxuICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIHtcbiAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tICRpbmNyZW1lbnQgdGhyb3VnaCAtMSB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAvICRyYXRpbykgPCAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgLyAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3Igc3RyLXRvLW51bSBmbi5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfY29udmVydC11bml0cygkbnVtYmVyLCAkdW5pdCkge1xuICAkc3RyaW5nczogXCJweFwiLCBcImNtXCIsIFwibW1cIiwgXCIlXCIsIFwiY2hcIiwgXCJwaWNhXCIsIFwiaW5cIiwgXCJlbVwiLCBcInJlbVwiLCBcInB0XCIsIFwicGNcIiwgXCJleFwiLCBcInZ3XCIsIFwidmhcIiwgXCJ2bWluXCIsIFwidm1heFwiLCBcImRlZ1wiLCBcInJhZFwiLCBcImdyYWRcIiwgXCJ0dXJuXCI7XG4gICR1bml0czogICAxcHgsIDFjbSwgMW1tLCAxJSwgMWNoLCAxcGljYSwgMWluLCAxZW0sIDFyZW0sIDFwdCwgMXBjLCAxZXgsIDF2dywgMXZoLCAxdm1pbiwgMXZtYXgsIDFkZWcsIDFyYWQsIDFncmFkLCAxdHVybjtcbiAgJGluZGV4OiBpbmRleCgkc3RyaW5ncywgJHVuaXQpO1xuXG4gIEBpZiBub3QgJGluZGV4IHtcbiAgICBAd2FybiBcIlVua25vd24gdW5pdCBgI3skdW5pdH1gLlwiO1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkbnVtYmVyKSAhPSBcIm51bWJlclwiIHtcbiAgICBAd2FybiBcImAjeyRudW1iZXJ9IGlzIG5vdCBhIG51bWJlcmBcIjtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgQHJldHVybiAkbnVtYmVyICogbnRoKCR1bml0cywgJGluZGV4KTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIERpcmVjdGlvbmFsLXByb3BlcnR5IG1peGlucyBhcmUgc2hvcnRoYW5kcyBmb3Igd3JpdGluZyBwcm9wZXJ0aWVzIGxpa2UgdGhlIGZvbGxvd2luZ1xuLy8vXG4vLy8gQGlnbm9yZSBZb3UgY2FuIGFsc28gdXNlIGBmYWxzZWAgaW5zdGVhZCBvZiBgbnVsbGAuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGRpcmVjdGlvbmFsIHZhbHVlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkb3R0ZWQgbnVsbCk7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDAgMTBweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbi8vLyAgICAgYm9yZGVyLXRvcC1zdHlsZTogZG90dGVkO1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuLy8vICAgICBtYXJnaW4tbGVmdDogMDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWlucy1mYWxzeVxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH1cblxuQGZ1bmN0aW9uIGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscykge1xuICAkb3V0cHV0OiBudWxsO1xuXG4gICRhOiBudGgoJHZhbHMsIDEpO1xuICAkYjogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIDIpKTtcbiAgJGM6IGlmKGxlbmd0aCgkdmFscykgPCAzLCAkYSwgbnRoKCR2YWxzLCAzKSk7XG4gICRkOiBpZihsZW5ndGgoJHZhbHMpIDwgMiwgJGEsIG50aCgkdmFscywgaWYobGVuZ3RoKCR2YWxzKSA8IDQsIDIsIDQpKSk7XG5cbiAgQGlmICRhID09IDAgeyAkYTogMDsgfVxuICBAaWYgJGIgPT0gMCB7ICRiOiAwOyB9XG4gIEBpZiAkYyA9PSAwIHsgJGM6IDA7IH1cbiAgQGlmICRkID09IDAgeyAkZDogMDsgfVxuXG4gIEBpZiAkYSA9PSAkYiBhbmQgJGEgPT0gJGMgYW5kICRhID09ICRkIHsgJG91dHB1dDogJGE7ICAgICAgICAgIH1cbiAgQGVsc2UgaWYgJGEgPT0gJGMgYW5kICRiID09ICRkICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYjsgICAgICAgfVxuICBAZWxzZSBpZiAkYiA9PSAkZCAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjOyAgICB9XG4gIEBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJGEgJGIgJGMgJGQ7IH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBPdXRwdXQgZGlyZWN0aW9uYWwgcHJvcGVydGllcywgZm9yIGluc3RhbmNlIGBtYXJnaW5gLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByZVxuLy8vICAgUHJlZml4IHRvIHVzZVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3VmXG4vLy8gICBTdWZmaXggdG8gdXNlXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiB2YWx1ZXNcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29sbGFwc2UtZGlyZWN0aW9uYWxzXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWlucy1mYWxzeVxuXG5AbWl4aW4gZGlyZWN0aW9uYWwtcHJvcGVydHkoJHByZSwgJHN1ZiwgJHZhbHMpIHtcbiAgLy8gUHJvcGVydHkgTmFtZXNcbiAgJHRvcDogICAgJHByZSArIFwiLXRvcFwiICAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGJvdHRvbTogJHByZSArIFwiLWJvdHRvbVwiICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGxlZnQ6ICAgJHByZSArIFwiLWxlZnRcIiAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJHJpZ2h0OiAgJHByZSArIFwiLXJpZ2h0XCIgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGFsbDogICAgJHByZSArICAgICAgICAgICAgIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG5cbiAgJHZhbHM6IGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscyk7XG5cbiAgQGlmIGNvbnRhaW5zLWZhbHN5KCR2YWxzKSB7XG4gICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyR0b3B9OiBudGgoJHZhbHMsIDEpOyB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAxIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDEpOyB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAyKTsgfVxuICAgIH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDIge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDEpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gMyB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSA0IHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgNCkgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDQpOyB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAjeyRhbGx9OiAkdmFscztcbiAgfVxufVxuIiwiLy8gVXNlZCBmb3IgY3JlYXRpbmcgdGhlIHNvdXJjZSBzdHJpbmcgZm9yIGZvbnRzIHVzaW5nIEBmb250LWZhY2Vcbi8vIFJlZmVyZW5jZTogaHR0cDovL2dvby5nbC9SdTFiS1BcblxuQGZ1bmN0aW9uIGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgIEByZXR1cm4gZm9udC11cmw7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsO1xuICB9XG59XG5cbkBmdW5jdGlvbiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHMsXG4gICRmb250LXVybCkge1xuXG4gICRzcmM6ICgpO1xuXG4gICRmb3JtYXRzLW1hcDogKFxuICAgIGVvdDogICBcIiN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeFwiIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgIHdvZmYyOiBcIiN7JGZpbGUtcGF0aH0ud29mZjJcIiBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB3b2ZmOiAgXCIjeyRmaWxlLXBhdGh9LndvZmZcIiBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHR0ZjogICBcIiN7JGZpbGUtcGF0aH0udHRmXCIgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgc3ZnOiAgIFwiI3skZmlsZS1wYXRofS5zdmcjI3skZm9udC1mYW1pbHl9XCIgZm9ybWF0KFwic3ZnXCIpXG4gICk7XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkZm9ybWF0cy1tYXAge1xuICAgIEBpZiBjb250YWlucygkZmlsZS1mb3JtYXRzLCAka2V5KSB7XG4gICAgICAkZmlsZS1wYXRoOiBudGgoJHZhbHVlcywgMSk7XG4gICAgICAkZm9udC1mb3JtYXQ6IG50aCgkdmFsdWVzLCAyKTtcblxuICAgICAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIGZvbnQtdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCB1cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3JjO1xufVxuIiwiQGZ1bmN0aW9uIF9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC10eXBlLCAkZ3JhZGllbnQtcG9zaXRpb25zKSB7XG4gIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyKVxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IHJhZGlhbClcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEByZXR1cm4gJGdyYWRpZW50LXBvc2l0aW9ucztcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpIHtcbiAgJG9mZnNldDogbnVsbDtcbiAgJHVuaXQtc2hvcnQ6ICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDIsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdW5pdC1sb25nOiAgIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgQGlmICgkdW5pdC1sb25nID09IFwiZ3JhZFwiKSBvclxuICAgICAgKCR1bml0LWxvbmcgPT0gXCJ0dXJuXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1sb25nID09IFwiZ3JhZFwiLCAtMTAwZ3JhZCAqIDMsIC0wLjc1dHVybik7XG4gIH1cblxuICBAZWxzZSBpZiAoJHVuaXQtc2hvcnQgPT0gXCJkZWdcIikgb3JcbiAgICAgICAgICAgKCR1bml0LXNob3J0ID09IFwicmFkXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1zaG9ydCA9PSBcImRlZ1wiLCAtOTAgKiAzLCAxLjZyYWQpO1xuICB9XG5cbiAgQGlmICRvZmZzZXQge1xuICAgICRudW06IF9zdHItdG8tbnVtKCRmaXJzdC12YWwpO1xuXG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICgkb2Zmc2V0IC0gJG51bSkgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxufVxuIiwiQGZ1bmN0aW9uIF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAxLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRoYXMtbXVsdGlwbGUtdmFsczogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiIFwiKTtcbiAgJGhhcy1zaW5nbGUtcG9zaXRpb246IHVucXVvdGUoX3Bvc2l0aW9uLWZsaXBwZXIoJGZpcnN0LXZhbCkgKyBcIlwiKTtcbiAgJGhhcy1hbmdsZTogaXMtbnVtYmVyKHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAxKSk7XG5cbiAgQGlmICRoYXMtbXVsdGlwbGUtdmFscyB7XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1zaW5nbGUtcG9zaXRpb24gIT0gXCJcIiB7XG4gICAgJHBvczogdW5xdW90ZSgkaGFzLXNpbmdsZS1wb3NpdGlvbiArIFwiXCIpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1hbmdsZSB7XG4gICAgLy8gUm90YXRlIGRlZ3JlZSBmb3Igd2Via2l0XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcykge1xuICAkdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkc3BlYzogbnVsbDtcbiAgJGRlZ3JlZTogbnVsbDtcbiAgJHNpZGU6IG51bGw7XG4gICRjb3JuZXI6IG51bGw7XG4gICRsZW5ndGg6IGxlbmd0aCgkcG9zKTtcbiAgLy8gUGFyc2UgU2lkZSBhbmQgY29ybmVyIHBvc2l0aW9uc1xuICBAaWYgKCRsZW5ndGggPiAxKSB7XG4gICAgQGlmIG50aCgkcG9zLCAxKSA9PSBcInRvXCIgeyAvLyBOZXdlciBzeW50YXhcbiAgICAgICRzaWRlOiBudGgoJHBvcywgMik7XG5cbiAgICAgIEBpZiAkbGVuZ3RoID09IDIgeyAvLyBlZy4gdG8gdG9wXG4gICAgICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDMgeyAvLyBlZy4gdG8gdG9wIGxlZnRcbiAgICAgICAgJGNvcm5lcjogbnRoKCRwb3MsIDMpO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDIgeyAvLyBPbGRlciBzeW50YXggKFwidG9wIGxlZnRcIilcbiAgICAgICRzaWRlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMSkpO1xuICAgICAgJGNvcm5lcjogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcbiAgICB9XG5cbiAgICBAaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIGxlZnRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIHJpZ2h0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgJHNwZWM6IHRvICRzaWRlICRjb3JuZXI7XG4gIH1cbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAxIHtcbiAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgIEBpZiAkdHlwZSA9PSBzdHJpbmcge1xuICAgICAgJGRlZ3JlZTogJHBvcztcbiAgICAgICRzcGVjOiB0byBfcG9zaXRpb24tZmxpcHBlcigkcG9zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGRlZ3JlZTogLTI3MCAtICRwb3M7IC8vcm90YXRlIHRoZSBncmFkaWVudCBvcHBvc2l0ZSBmcm9tIHNwZWNcbiAgICAgICRzcGVjOiAkcG9zO1xuICAgIH1cbiAgfVxuICAkZGVncmVlOiB1bnF1b3RlKCRkZWdyZWUgKyBcIixcIik7XG4gICRzcGVjOiAgIHVucXVvdGUoJHNwZWMgKyBcIixcIik7XG4gIEByZXR1cm4gJGRlZ3JlZSAkc3BlYztcbn1cblxuQGZ1bmN0aW9uIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpIHtcbiAgQHJldHVybiBpZigkcG9zID09IGxlZnQsIHJpZ2h0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSByaWdodCwgbGVmdCwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gdG9wLCBib3R0b20sIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IGJvdHRvbSwgdG9wLCBudWxsKTtcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscykge1xuICAkdmFsLTE6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaGFzLW11bHRpcGxlLXZhbHMgLSAxKTtcbiAgJHZhbC0yOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGhhcy1tdWx0aXBsZS12YWxzICsgMSwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR2YWwtMzogbnVsbDtcbiAgJGhhcy12YWwtMzogc3RyLWluZGV4KCR2YWwtMiwgXCIgXCIpO1xuXG4gIEBpZiAkaGFzLXZhbC0zIHtcbiAgICAkdmFsLTM6IHN0ci1zbGljZSgkdmFsLTIsICRoYXMtdmFsLTMgKyAxLCBzdHItbGVuZ3RoKCR2YWwtMikpO1xuICAgICR2YWwtMjogc3RyLXNsaWNlKCR2YWwtMiwgMSwgJGhhcy12YWwtMyAtIDEpO1xuICB9XG5cbiAgJHBvczogX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0xKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTIpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMyk7XG4gICRwb3M6IHVucXVvdGUoJHBvcyArIFwiXCIpO1xuXG4gIC8vIFVzZSBvbGQgc3BlYyBmb3Igd2Via2l0XG4gIEBpZiAkdmFsLTEgPT0gXCJ0b1wiIHtcbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGNvZGUgdXAgdG8gc3BlY1xuICBAZWxzZSB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJHByZWZpeCArIFwidG8gXCIgKyAkcG9zICsgJHN1ZmZpeFxuICAgICk7XG4gIH1cbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLWFyZy1wYXJzZXIoJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplKSB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkZzEsICRnMiB7XG4gICAgJGZpcnN0LXZhbDogbnRoKCR2YWx1ZSwgMSk7XG4gICAgJHBvcy10eXBlOiAgdHlwZS1vZigkZmlyc3QtdmFsKTtcbiAgICAkc3BlYy1hdC1pbmRleDogbnVsbDtcblxuICAgIC8vIERldGVybWluZSBpZiBzcGVjIHdhcyBwYXNzZWQgdG8gbWl4aW5cbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IGxpc3Qge1xuICAgICAgJHNwZWMtYXQtaW5kZXg6IGlmKGluZGV4KCR2YWx1ZSwgYXQpLCBpbmRleCgkdmFsdWUsIGF0KSwgZmFsc2UpO1xuICAgIH1cbiAgICBAaWYgJHNwZWMtYXQtaW5kZXgge1xuICAgICAgQGlmICRzcGVjLWF0LWluZGV4ID4gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRzcGVjLWF0LWluZGV4IC0gMSkge1xuICAgICAgICAgICRzaGFwZS1zaXplOiAkc2hhcGUtc2l6ZSBudGgoJHZhbHVlLCAkaSk7XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkc3BlYy1hdC1pbmRleCA9PSAxIHtcbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAkZzE6IG51bGw7XG4gICAgfVxuXG4gICAgLy8gSWYgbm90IHNwZWMgY2FsY3VsYXRlIGNvcnJlY3QgdmFsdWVzXG4gICAgQGVsc2Uge1xuICAgICAgQGlmICgkcG9zLXR5cGUgIT0gY29sb3IpIG9yICgkZmlyc3QtdmFsICE9IFwidHJhbnNwYXJlbnRcIikge1xuICAgICAgICBAaWYgKCRwb3MtdHlwZSA9PSBudW1iZXIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2VudGVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwidG9wXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwicmlnaHRcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJib3R0b21cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJsZWZ0XCIpIHtcblxuICAgICAgICAgICRwb3M6ICR2YWx1ZTtcblxuICAgICAgICAgIEBpZiAkcG9zID09ICRnMSB7XG4gICAgICAgICAgICAkZzE6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWZcbiAgICAgICAgICAgKCRmaXJzdC12YWwgPT0gXCJlbGxpcHNlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2lyY2xlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1jb3JuZXJcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY29udGFpblwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvdmVyXCIpIHtcblxuICAgICAgICAgICRzaGFwZS1zaXplOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHZhbHVlID09ICRnMSB7XG4gICAgICAgICAgICAkZzE6IG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2UgaWYgJHZhbHVlID09ICRnMiB7XG4gICAgICAgICAgICAkZzI6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplO1xufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zKSB7XG4gICRzaGFwZS1zaXplOiBudGgoJGdyYWRpZW50LXBvcywgMSk7XG4gICRwb3M6ICAgICAgICBudGgoJGdyYWRpZW50LXBvcywgMik7XG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcblxuICAkcHJlLXNwZWM6IHVucXVvdGUoaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCkpXG4gICAgICAgICAgICAgdW5xdW90ZShpZigkc2hhcGUtc2l6ZSwgXCIjeyRzaGFwZS1zaXplfSxcIiwgbnVsbCkpO1xuICAkcG9zLXNwZWM6IGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcblxuICAkc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHBvcy1zcGVjfVwiO1xuXG4gIC8vIEFkZCBjb21tYVxuICBAaWYgKCRzcGVjICE9IFwiICBcIikge1xuICAgICRzcGVjOiBcIiN7JHNwZWN9LFwiO1xuICB9XG5cbiAgQHJldHVybiAkcHJlLXNwZWMgJHNwZWM7XG59XG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDEsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGlzLXNwZWMtc3ludGF4OiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCJhdFwiKTtcblxuICBAaWYgJGlzLXNwZWMtc3ludGF4IGFuZCAkaXMtc3BlYy1zeW50YXggPiAxIHtcbiAgICAka2V5d29yZDogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsICRpcy1zcGVjLXN5bnRheCAtIDIpO1xuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgICAkcG9zOiBhcHBlbmQoJHBvcywgJGtleXdvcmQsIGNvbW1hKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgJGlzLXNwZWMtc3ludGF4ID09IDEge1xuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgc3RyLWluZGV4KCRpbWFnZSwgXCJjb3ZlclwiKSBvciBzdHItaW5kZXgoJGltYWdlLCBcImNvbnRhaW5cIikge1xuICAgIEB3YXJuIFwiUmFkaWFsLWdyYWRpZW50IG5lZWRzIHRvIGJlIHVwZGF0ZWQgdG8gY29uZm9ybSB0byBsYXRlc3Qgc3BlYy5cIjtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogbnVsbCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAcmV0dXJuICRncmFkaWVudHM7XG59XG4iLCIvLyBVc2VyIGZvciBsaW5lYXIgYW5kIHJhZGlhbCBncmFkaWVudHMgd2l0aGluIGJhY2tncm91bmQtaW1hZ2Ugb3IgYm9yZGVyLWltYWdlIHByb3BlcnRpZXNcblxuQGZ1bmN0aW9uIF9yZW5kZXItZ3JhZGllbnRzKCRncmFkaWVudC1wb3NpdGlvbnMsICRncmFkaWVudHMsICRncmFkaWVudC10eXBlLCAkdmVuZG9yOiBmYWxzZSkge1xuICAkcHJlLXNwZWM6IG51bGw7XG4gICRzcGVjOiBudWxsO1xuICAkdmVuZG9yLWdyYWRpZW50czogbnVsbDtcbiAgQGlmICRncmFkaWVudC10eXBlID09IGxpbmVhciB7XG4gICAgQGlmICRncmFkaWVudC1wb3NpdGlvbnMge1xuICAgICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XG4gICAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gcmFkaWFsIHtcbiAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcbiAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcbiAgfVxuXG4gIEBpZiAkdmVuZG9yIHtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogLSN7JHZlbmRvcn0tI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skcHJlLXNwZWN9ICRncmFkaWVudHMpO1xuICB9XG4gIEBlbHNlIGlmICR2ZW5kb3IgPT0gZmFsc2Uge1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiBcIiN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHNwZWN9ICN7JGdyYWRpZW50c30pXCI7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IHVucXVvdGUoJHZlbmRvci1ncmFkaWVudHMpO1xuICB9XG4gIEByZXR1cm4gJHZlbmRvci1ncmFkaWVudHM7XG59XG4iLCJAZnVuY3Rpb24gX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpIHtcbiAgJHNoYXBlLXNpemUtc3BlYzogbnVsbDtcbiAgQGVhY2ggJHZhbHVlIGluICRzaGFwZS1zaXplIHtcbiAgICBAaWYgKCR2YWx1ZSA9PSBcImNvdmVyXCIpIG9yICgkdmFsdWUgPT0gXCJjb250YWluXCIpIHtcbiAgICAgICR2YWx1ZTogbnVsbDtcbiAgICB9XG4gICAgJHNoYXBlLXNpemUtc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHZhbHVlfVwiO1xuICB9XG4gIEByZXR1cm4gJHNoYXBlLXNpemUtc3BlYztcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgbGluZWFyL3JhZGlhbC1ncmFkaWVudC1wYXJzZXJzLlxuLy8gU291cmNlOiBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvOTY0NzQwOFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIF9zdHItdG8tbnVtKCRzdHJpbmcpIHtcbiAgLy8gTWF0cmljZXNcbiAgJHN0cmluZ3M6IFwiMFwiIFwiMVwiIFwiMlwiIFwiM1wiIFwiNFwiIFwiNVwiIFwiNlwiIFwiN1wiIFwiOFwiIFwiOVwiO1xuICAkbnVtYmVyczogIDAgICAxICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgIDk7XG5cbiAgLy8gUmVzdWx0XG4gICRyZXN1bHQ6IDA7XG4gICRkaXZpZGVyOiAwO1xuICAkbWludXM6IGZhbHNlO1xuXG4gIC8vIExvb3BpbmcgdGhyb3VnaCBhbGwgY2hhcmFjdGVyc1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHN0cmluZykge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkc3RyaW5nLCAkaSwgJGkpO1xuICAgICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICRjaGFyYWN0ZXIpO1xuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gXCItXCIge1xuICAgICAgJG1pbnVzOiB0cnVlO1xuICAgIH1cblxuICAgIEBlbHNlIGlmICRjaGFyYWN0ZXIgPT0gXCIuXCIge1xuICAgICAgJGRpdmlkZXI6IDE7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGlmIG5vdCAkaW5kZXgge1xuICAgICAgICAkcmVzdWx0OiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XG4gICAgICAgIEByZXR1cm4gX2NvbnZlcnQtdW5pdHMoJHJlc3VsdCwgc3RyLXNsaWNlKCRzdHJpbmcsICRpKSk7XG4gICAgICB9XG5cbiAgICAgICRudW1iZXI6IG50aCgkbnVtYmVycywgJGluZGV4KTtcblxuICAgICAgQGlmICRkaXZpZGVyID09IDAge1xuICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTA7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgLy8gTW92ZSB0aGUgZGVjaW1hbCBkb3QgdG8gdGhlIGxlZnRcbiAgICAgICAgJGRpdmlkZXI6ICRkaXZpZGVyICogMTA7XG4gICAgICAgICRudW1iZXI6ICRudW1iZXIgLyAkZGl2aWRlcjtcbiAgICAgIH1cblxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArICRudW1iZXI7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xufVxuIiwiLy8gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1hbmltYXRpb25zLyN0aGUtYW5pbWF0aW9uLW5hbWUtcHJvcGVydHktXG4vLyBFYWNoIG9mIHRoZXNlIG1peGlucyBzdXBwb3J0IGNvbW1hIHNlcGFyYXRlZCBsaXN0cyBvZiB2YWx1ZXMsIHdoaWNoIGFsbG93cyBkaWZmZXJlbnQgdHJhbnNpdGlvbnMgZm9yIGluZGl2aWR1YWwgcHJvcGVydGllcyB0byBiZSBkZXNjcmliZWQgaW4gYSBzaW5nbGUgc3R5bGUgcnVsZS4gRWFjaCB2YWx1ZSBpbiB0aGUgbGlzdCBjb3JyZXNwb25kcyB0byB0aGUgdmFsdWUgYXQgdGhhdCBzYW1lIHBvc2l0aW9uIGluIHRoZSBvdGhlciBwcm9wZXJ0aWVzLlxuXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb25zLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbiwgJGFuaW1hdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsICRuYW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1kdXJhdGlvbigkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKCRtb3Rpb25zLi4uKSB7XG4gIC8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQoJHZhbHVlcy4uLikge1xuICAvLyBpbmZpbml0ZSB8IDxudW1iZXI+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsICR2YWx1ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZGlyZWN0aW9uKCRkaXJlY3Rpb25zLi4uKSB7XG4gIC8vIG5vcm1hbCB8IGFsdGVybmF0ZVxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1wbGF5LXN0YXRlKCRzdGF0ZXMuLi4pIHtcbiAgLy8gcnVubmluZyB8IHBhdXNlZFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tcGxheS1zdGF0ZSwgJHN0YXRlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRtb2Rlcy4uLikge1xuICAvLyBub25lIHwgZm9yd2FyZHMgfCBiYWNrd2FyZHMgfCBib3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1maWxsLW1vZGUsICRtb2Rlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBhcHBlYXJhbmNlKCR2YWx1ZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhcHBlYXJhbmNlLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsIkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJhY2tmYWNlLXZpc2liaWxpdHksICR2aXNpYmlsaXR5LCB3ZWJraXQgc3BlYyk7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBCYWNrZ3JvdW5kIHByb3BlcnR5IGZvciBhZGRpbmcgbXVsdGlwbGUgYmFja2dyb3VuZHMgdXNpbmcgc2hvcnRoYW5kXG4vLyBub3RhdGlvbi5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cblxuQG1peGluIGJhY2tncm91bmQoJGJhY2tncm91bmRzLi4uKSB7XG4gICR3ZWJraXQtYmFja2dyb3VuZHM6ICgpO1xuICAkc3BlYy1iYWNrZ3JvdW5kczogKCk7XG5cbiAgQGVhY2ggJGJhY2tncm91bmQgaW4gJGJhY2tncm91bmRzIHtcbiAgICAkd2Via2l0LWJhY2tncm91bmQ6ICgpO1xuICAgICRzcGVjLWJhY2tncm91bmQ6ICgpO1xuICAgICRiYWNrZ3JvdW5kLXR5cGU6IHR5cGUtb2YoJGJhY2tncm91bmQpO1xuXG4gICAgQGlmICRiYWNrZ3JvdW5kLXR5cGUgPT0gc3RyaW5nIG9yICRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCB7XG4gICAgICAkYmFja2dyb3VuZC1zdHI6IGlmKCRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCwgbnRoKCRiYWNrZ3JvdW5kLCAxKSwgJGJhY2tncm91bmQpO1xuXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMSwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMSwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICAkYmFja2dyb3VuZDtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kczogYXBwZW5kKCR3ZWJraXQtYmFja2dyb3VuZHMsICR3ZWJraXQtYmFja2dyb3VuZCwgY29tbWEpO1xuICAgICRzcGVjLWJhY2tncm91bmRzOiAgIGFwcGVuZCgkc3BlYy1iYWNrZ3JvdW5kcywgICAkc3BlYy1iYWNrZ3JvdW5kLCAgIGNvbW1hKTtcbiAgfVxuXG4gIGJhY2tncm91bmQ6ICR3ZWJraXQtYmFja2dyb3VuZHM7XG4gIGJhY2tncm91bmQ6ICRzcGVjLWJhY2tncm91bmRzO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmQgaW1hZ2VzIHdpdGhcbi8vIGdyYWRpZW50cywgb3IgZm9yIHN0cmluZ2luZyBtdWx0aXBsZSBncmFkaWVudHMgdG9nZXRoZXIuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKCRpbWFnZXMuLi4pIHtcbiAgJHdlYmtpdC1pbWFnZXM6ICgpO1xuICAkc3BlYy1pbWFnZXM6ICgpO1xuXG4gIEBlYWNoICRpbWFnZSBpbiAkaW1hZ2VzIHtcbiAgICAkd2Via2l0LWltYWdlOiAoKTtcbiAgICAkc3BlYy1pbWFnZTogKCk7XG5cbiAgICBAaWYgKHR5cGUtb2YoJGltYWdlKSA9PSBzdHJpbmcpIHtcbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGltYWdlLCAxLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGltYWdlLCAxLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWltYWdlOiAkaW1hZ2U7XG4gICAgICAgICRzcGVjLWltYWdlOiAgICRpbWFnZTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWltYWdlOiAgICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgICR3ZWJraXQtaW1hZ2VzOiBhcHBlbmQoJHdlYmtpdC1pbWFnZXMsICR3ZWJraXQtaW1hZ2UsIGNvbW1hKTtcbiAgICAkc3BlYy1pbWFnZXM6ICAgYXBwZW5kKCRzcGVjLWltYWdlcywgICAkc3BlYy1pbWFnZSwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiAkd2Via2l0LWltYWdlcztcbiAgYmFja2dyb3VuZC1pbWFnZTogJHNwZWMtaW1hZ2VzO1xufVxuIiwiQG1peGluIGJvcmRlci1pbWFnZSgkYm9yZGVycy4uLikge1xuICAkd2Via2l0LWJvcmRlcnM6ICgpO1xuICAkc3BlYy1ib3JkZXJzOiAoKTtcblxuICBAZWFjaCAkYm9yZGVyIGluICRib3JkZXJzIHtcbiAgICAkd2Via2l0LWJvcmRlcjogKCk7XG4gICAgJHNwZWMtYm9yZGVyOiAoKTtcbiAgICAkYm9yZGVyLXR5cGU6IHR5cGUtb2YoJGJvcmRlcik7XG5cbiAgICBAaWYgJGJvcmRlci10eXBlID09IHN0cmluZyBvciBsaXN0IHtcbiAgICAgICRib3JkZXItc3RyOiBpZigkYm9yZGVyLXR5cGUgPT0gbGlzdCwgbnRoKCRib3JkZXIsIDEpLCAkYm9yZGVyKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMSwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRib3JkZXItc3RyLCAxLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcbiAgICB9XG5cbiAgICAkd2Via2l0LWJvcmRlcnM6IGFwcGVuZCgkd2Via2l0LWJvcmRlcnMsICR3ZWJraXQtYm9yZGVyLCBjb21tYSk7XG4gICAgJHNwZWMtYm9yZGVyczogICBhcHBlbmQoJHNwZWMtYm9yZGVycywgICAkc3BlYy1ib3JkZXIsICAgY29tbWEpO1xuICB9XG5cbiAgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICR3ZWJraXQtYm9yZGVycztcbiAgICAgICAgICBib3JkZXItaW1hZ2U6ICRzcGVjLWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLy9FeGFtcGxlczpcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSAyMCBzdHJldGNoKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgMjAgMzAgNDAgNTAgc3RyZXRjaCByb3VuZCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UocmFkaWFsLWdyYWRpZW50KHRvcCwgY292ZXIsIG9yYW5nZSwgeWVsbG93LCBvcmFuZ2UpKTtcbiIsIkBtaXhpbiBjYWxjKCRwcm9wZXJ0eSwgJHZhbHVlKSB7XG4gICN7JHByb3BlcnR5fTogLXdlYmtpdC1jYWxjKCN7JHZhbHVlfSk7XG4gICN7JHByb3BlcnR5fTogY2FsYygjeyR2YWx1ZX0pO1xufVxuIiwiQG1peGluIGNvbHVtbnMoJGFyZzogYXV0bykge1xuICAvLyA8Y29sdW1uLWNvdW50PiB8fCA8Y29sdW1uLXdpZHRoPlxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW5zLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCRpbnQ6IGF1dG8pIHtcbiAgLy8gYXV0byB8fCBpbnRlZ2VyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1jb3VudCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJGxlbmd0aDogbm9ybWFsKSB7XG4gIC8vIG5vcm1hbCB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWdhcCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1maWxsKCRhcmc6IGF1dG8pIHtcbiAgLy8gYXV0byB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWZpbGwsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZSgkYXJnKSB7XG4gIC8vIDxib3JkZXItd2lkdGg+IHx8IDxib3JkZXItc3R5bGU+IHx8IDxjb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS1jb2xvcigkY29sb3IpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtY29sb3IsICRjb2xvciwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXN0eWxlKCRzdHlsZTogbm9uZSkge1xuICAvLyBub25lIHwgaGlkZGVuIHwgZGFzaGVkIHwgZG90dGVkIHwgZG91YmxlIHwgZ3Jvb3ZlIHwgaW5zZXQgfCBpbnNldCB8IG91dHNldCB8IHJpZGdlIHwgc29saWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXdpZHRoICgkd2lkdGg6IG5vbmUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtd2lkdGgsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1zcGFuKCRhcmc6IG5vbmUpIHtcbiAgLy8gbm9uZSB8fCBhbGxcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXNwYW4sICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4td2lkdGgoJGxlbmd0aDogYXV0bykge1xuICAvLyBhdXRvIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4td2lkdGgsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gZmlsdGVyKCRmdW5jdGlvbjogbm9uZSkge1xuICAvLyA8ZmlsdGVyLWZ1bmN0aW9uPiBbPGZpbHRlci1mdW5jdGlvbl0qIHwgbm9uZVxuICBAaW5jbHVkZSBwcmVmaXhlcihmaWx0ZXIsICRmdW5jdGlvbiwgd2Via2l0IHNwZWMpO1xufVxuIiwiLy8gQ1NTMyBGbGV4aWJsZSBCb3ggTW9kZWwgYW5kIHByb3BlcnR5IGRlZmF1bHRzXG5cbi8vIEN1c3RvbSBzaG9ydGhhbmQgbm90YXRpb24gZm9yIGZsZXhib3hcbkBtaXhpbiBib3goJG9yaWVudDogaW5saW5lLWF4aXMsICRwYWNrOiBzdGFydCwgJGFsaWduOiBzdHJldGNoKSB7XG4gIEBpbmNsdWRlIGRpc3BsYXktYm94O1xuICBAaW5jbHVkZSBib3gtb3JpZW50KCRvcmllbnQpO1xuICBAaW5jbHVkZSBib3gtcGFjaygkcGFjayk7XG4gIEBpbmNsdWRlIGJveC1hbGlnbigkYWxpZ24pO1xufVxuXG5AbWl4aW4gZGlzcGxheS1ib3gge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvLyBJRSAxMFxuICBkaXNwbGF5OiBib3g7XG59XG5cbkBtaXhpbiBib3gtb3JpZW50KCRvcmllbnQ6IGlubGluZS1heGlzKSB7XG4vLyBob3Jpem9udGFsfHZlcnRpY2FsfGlubGluZS1heGlzfGJsb2NrLWF4aXN8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkb3JpZW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYm94LXBhY2soJHBhY2s6IHN0YXJ0KSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGp1c3RpZnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRwYWNrLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wYWNrOiAkcGFjazsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1hbGlnbigkYWxpZ246IHN0cmV0Y2gpIHtcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8YmFzZWxpbmV8c3RyZXRjaFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtYWxpZ24sICRhbGlnbiwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtYWxpZ246ICRhbGlnbjsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogbm9ybWFsKSB7XG4vLyBub3JtYWx8cmV2ZXJzZXxpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1saW5lcygkbGluZXM6IHNpbmdsZSkge1xuLy8gc2luZ2xlfG11bHRpcGxlXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGxpbmVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYm94LW9yZGluYWwtZ3JvdXAoJGludDogMSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleCgkdmFsdWU6IDApIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXg6ICR2YWx1ZTsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4LWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuLy8gVW5pZmllZCBhdHRyaWJ1dGVzIGZvciAyMDA5LCAyMDExLCBhbmQgMjAxMiBmbGF2b3Vycy5cblxuLy8gMjAwOSAtIGRpc3BsYXkgKGJveCB8IGlubGluZS1ib3gpXG4vLyAyMDExIC0gZGlzcGxheSAoZmxleGJveCB8IGlubGluZS1mbGV4Ym94KVxuLy8gMjAxMiAtIGRpc3BsYXkgKGZsZXggfCBpbmxpbmUtZmxleClcbkBtaXhpbiBkaXNwbGF5KCR2YWx1ZSkge1xuLy8gZmxleCB8IGlubGluZS1mbGV4XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4XCIge1xuICAgIC8vIDIwMDlcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICBkaXNwbGF5OiBib3g7XG5cbiAgICAvLyAyMDEyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gMjAxMSAoSUUgMTApXG4gICAgZGlzcGxheTogZmxleDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJpbmxpbmUtZmxleFwiIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IGlubGluZS1ib3g7XG5cbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB9IEBlbHNlIHtcbiAgICBkaXNwbGF5OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8gMjAwOSAtIGJveC1mbGV4IChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXggKGRlY2ltYWwgfCB3aWR0aCBkZWNpbWFsKVxuLy8gMjAxMiAtIGZsZXggKGludGVnZXIgaW50ZWdlciB3aWR0aClcbkBtaXhpbiBmbGV4KCR2YWx1ZSkge1xuXG4gIC8vIEdyYWIgZmxleC1ncm93IGZvciBvbGRlciBicm93c2Vycy5cbiAgJGZsZXgtZ3JvdzogbnRoKCR2YWx1ZSwgMSk7XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJGZsZXgtZ3Jvdywgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMCksIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yaWVudCAoIGhvcml6b250YWwgfCB2ZXJ0aWNhbCB8IGlubGluZS1heGlzIHwgYmxvY2stYXhpcylcbi8vICAgICAgLSBib3gtZGlyZWN0aW9uIChub3JtYWwgfCByZXZlcnNlKVxuLy8gMjAxMSAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuLy8gMjAxMiAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZTogcm93KSB7XG5cbiAgLy8gQWx0IHZhbHVlcy5cbiAgJHZhbHVlLTIwMDk6ICR2YWx1ZTtcbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgJGRpcmVjdGlvbjogbm9ybWFsO1xuXG4gIEBpZiAkdmFsdWUgPT0gcm93IHtcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJyb3ctcmV2ZXJzZVwiIHtcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBjb2x1bW4ge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJjb2x1bW4tcmV2ZXJzZVwiIHtcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJHZhbHVlLTIwMDksIHdlYmtpdCBtb3ogc3BlYyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWRpcmVjdGlvbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuLy8gMjAwOSAtIGJveC1saW5lcyAoc2luZ2xlIHwgbXVsdGlwbGUpXG4vLyAyMDExIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxuLy8gMjAxMiAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlOiBub3dyYXApIHtcbiAgLy8gQWx0IHZhbHVlc1xuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gbm93cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBzaW5nbGU7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IHdyYXAge1xuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcIndyYXAtcmV2ZXJzZVwiIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfVxuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC13cmFwLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcbi8vIDIwMTEgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcbi8vIDIwMTIgLSBmbGV4LWZsb3cgKGZsZXgtZGlyZWN0aW9uIHx8IGZsZXgtd3JhcClcbkBtaXhpbiBmbGV4LWZsb3coJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZmxvdywgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yZGluYWwtZ3JvdXAgKGludGVnZXIpXG4vLyAyMDExIC0gZmxleC1vcmRlciAoaW50ZWdlcilcbi8vIDIwMTIgLSBvcmRlciAoaW50ZWdlcilcbkBtaXhpbiBvcmRlcigkaW50OiAwKSB7XG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihvcmRlciwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7XG59XG5cbi8vIDIwMTIgLSBmbGV4LWdyb3cgKG51bWJlcilcbkBtaXhpbiBmbGV4LWdyb3coJG51bWJlcjogMCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWdyb3csICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1zaHJpbmsgKG51bWJlcilcbkBtaXhpbiBmbGV4LXNocmluaygkbnVtYmVyOiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtc2hyaW5rLCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1uZWdhdGl2ZTogJG51bWJlcjtcbn1cblxuLy8gMjAxMiAtIGZsZXgtYmFzaXMgKG51bWJlcilcbkBtaXhpbiBmbGV4LWJhc2lzKCR3aWR0aDogYXV0bykge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWJhc2lzLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAkd2lkdGg7XG59XG5cbi8vIDIwMDkgLSBib3gtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMSAtIGZsZXgtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMiAtIGp1c3RpZnktY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZClcbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJHZhbHVlOiBmbGV4LXN0YXJ0KSB7XG5cbiAgLy8gQWx0IHZhbHVlcy5cbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcbiAgICAkYWx0LXZhbHVlOiBqdXN0aWZ5O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBkaXN0cmlidXRlO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGp1c3RpZnktY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LXBhY2s6ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMSAtIGZsZXgtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLWl0ZW1zIChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24taXRlbXMoJHZhbHVlOiBzdHJldGNoKSB7XG5cbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuXG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24taXRlbXMsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1hbGlnbjogJGFsdC12YWx1ZTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtaXRlbS1hbGlnbiAoYXV0byB8IHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLXNlbGYgKGF1dG8gfCBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24tc2VsZigkdmFsdWU6IGF1dG8pIHtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tc2VsZiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1pdGVtLWFsaWduOiAkdmFsdWUtMjAxMTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtbGluZS1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkgfCBkaXN0cmlidXRlIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1jb250ZW50KCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZW5kO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgJHZhbHVlLTIwMTE6IGp1c3RpZnk7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBkaXN0cmlidXRlO1xuICB9XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWxpbmUtcGFjazogJHZhbHVlLTIwMTE7XG59XG4iLCJAbWl4aW4gZm9udC1mYWNlKFxuICAkZm9udC1mYW1pbHksXG4gICRmaWxlLXBhdGgsXG4gICR3ZWlnaHQ6IG5vcm1hbCxcbiAgJHN0eWxlOiBub3JtYWwsXG4gICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzOiBlb3Qgd29mZjIgd29mZiB0dGYgc3ZnKSB7XG5cbiAgJGZvbnQtdXJsLXByZWZpeDogZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKTtcblxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcblxuICAgIHNyYzogZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICAgICAkZm9udC1mYW1pbHksXG4gICAgICAkZmlsZS1wYXRoLFxuICAgICAgJGFzc2V0LXBpcGVsaW5lLFxuICAgICAgJGZpbGUtZm9ybWF0cyxcbiAgICAgICRmb250LXVybC1wcmVmaXhcbiAgICApO1xuICB9XG59XG4iLCJAbWl4aW4gZm9udC1mZWF0dXJlLXNldHRpbmdzKCRzZXR0aW5ncy4uLikge1xuICBAaWYgbGVuZ3RoKCRzZXR0aW5ncykgPT0gMCB7ICRzZXR0aW5nczogbm9uZTsgfVxuICBAaW5jbHVkZSBwcmVmaXhlcihmb250LWZlYXR1cmUtc2V0dGluZ3MsICRzZXR0aW5ncywgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cbiIsIi8vIEhpRFBJIG1peGluLiBEZWZhdWx0IHZhbHVlIHNldCB0byAxLjMgdG8gdGFyZ2V0IEdvb2dsZSBOZXh1cyA3IChodHRwOi8vYmphbmdvLmNvbS9hcnRpY2xlcy9taW4tZGV2aWNlLXBpeGVsLXJhdGlvLylcbkBtaXhpbiBoaWRwaSgkcmF0aW86IDEuMykge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHJhdGlvfS8xKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogcm91bmQoJHJhdGlvICogOTZkcGkpKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogJHJhdGlvICogMWRwcHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQG1peGluIGh5cGhlbnMoJGh5cGhlbmF0aW9uOiBub25lKSB7XG4gIC8vIG5vbmUgfCBtYW51YWwgfCBhdXRvXG4gIEBpbmNsdWRlIHByZWZpeGVyKGh5cGhlbnMsICRoeXBoZW5hdGlvbiwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cbiIsIkBtaXhpbiBpbWFnZS1yZW5kZXJpbmcgKCRtb2RlOmF1dG8pIHtcblxuICBAaWYgKCRtb2RlID09IGNyaXNwLWVkZ2VzKSB7XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogbmVhcmVzdC1uZWlnaGJvcjsgLy8gSUU4K1xuICAgIGltYWdlLXJlbmRlcmluZzogLW1vei1jcmlzcC1lZGdlcztcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1vLWNyaXNwLWVkZ2VzO1xuICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDtcbiAgICBpbWFnZS1yZW5kZXJpbmc6IGNyaXNwLWVkZ2VzO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIGltYWdlLXJlbmRlcmluZzogJG1vZGU7XG4gIH1cbn1cbiIsIi8vIEFkZHMga2V5ZnJhbWVzIGJsb2NrcyBmb3Igc3VwcG9ydGVkIHByZWZpeGVzLCByZW1vdmluZyByZWR1bmRhbnQgcHJlZml4ZXMgaW4gdGhlIGJsb2NrJ3MgY29udGVudFxuQG1peGluIGtleWZyYW1lcygkbmFtZSkge1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQ6ICAgICRwcmVmaXgtZm9yLXdlYmtpdDtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYTogICAkcHJlZml4LWZvci1tb3ppbGxhO1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQ6ICRwcmVmaXgtZm9yLW1pY3Jvc29mdDtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmE6ICAgICAkcHJlZml4LWZvci1vcGVyYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYzogICAgICAkcHJlZml4LWZvci1zcGVjO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcbiAgICAkcHJlZml4LWZvci13ZWJraXQ6IHRydWUgIWdsb2JhbDtcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcbiAgICAkcHJlZml4LWZvci1tb3ppbGxhOiB0cnVlICFnbG9iYWw7XG4gICAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0ICAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0ICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmEgICAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyAgICAgICFnbG9iYWw7XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMge1xuICAgIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gbGluZWFyLWdyYWRpZW50KCRwb3MsICRnMSwgJGcyOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzM6IG51bGwsICRnNDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc1OiBudWxsLCAkZzY6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNzogbnVsbCwgJGc4OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzk6IG51bGwsICRnMTA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRmYWxsYmFjazogbnVsbCkge1xuICAvLyBEZXRlY3Qgd2hhdCB0eXBlIG9mIHZhbHVlIGV4aXN0cyBpbiAkcG9zXG4gICRwb3MtdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkcG9zLXNwZWM6IG51bGw7XG4gICRwb3MtZGVncmVlOiBudWxsO1xuXG4gIC8vIElmICRwb3MgaXMgbWlzc2luZyBmcm9tIG1peGluLCByZWFzc2lnbiB2YXJzIGFuZCBhZGQgZGVmYXVsdCBwb3NpdGlvblxuICBAaWYgKCRwb3MtdHlwZSA9PSBjb2xvcikgb3IgKG50aCgkcG9zLCAxKSA9PSBcInRyYW5zcGFyZW50XCIpICB7XG4gICAgJGcxMDogJGc5OyAkZzk6ICRnODsgJGc4OiAkZzc7ICRnNzogJGc2OyAkZzY6ICRnNTtcbiAgICAkZzU6ICRnNDsgJGc0OiAkZzM7ICRnMzogJGcyOyAkZzI6ICRnMTsgJGcxOiAkcG9zO1xuICAgICRwb3M6IG51bGw7XG4gIH1cblxuICBAaWYgJHBvcyB7XG4gICAgJHBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpO1xuICAgICRwb3MtZGVncmVlOiBudGgoJHBvc2l0aW9ucywgMSk7XG4gICAgJHBvcy1zcGVjOiAgIG50aCgkcG9zaXRpb25zLCAyKTtcbiAgfVxuXG4gICRmdWxsOiAkZzEsICRnMiwgJGczLCAkZzQsICRnNSwgJGc2LCAkZzcsICRnOCwgJGc5LCAkZzEwO1xuXG4gIC8vIFNldCAkZzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZhbGxiYWNrLWNvbG9yOiBudGgoJGcxLCAxKTtcblxuICAvLyBJZiAkZmFsbGJhY2sgaXMgYSBjb2xvciB1c2UgdGhhdCBjb2xvciBhcyB0aGUgZmFsbGJhY2sgY29sb3JcbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmFsbGJhY2stY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRwb3MtZGVncmVlICRmdWxsKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZVxuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwibGluZWFyLWdyYWRpZW50KCN7JHBvcy1zcGVjfSN7JGZ1bGx9KVwiKTtcbn1cbiIsIkBtaXhpbiBwZXJzcGVjdGl2ZSgkZGVwdGg6IG5vbmUpIHtcbiAgLy8gbm9uZSB8IDxsZW5ndGg+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLCAkZGVwdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHZhbHVlOiA1MCUgNTAlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLW9yaWdpbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJHBsYWNlaG9sZGVyczogXCI6LXdlYmtpdC1pbnB1dFwiIFwiOi1tb3pcIiBcIi1tb3pcIiBcIi1tcy1pbnB1dFwiO1xuICBAZWFjaCAkcGxhY2Vob2xkZXIgaW4gJHBsYWNlaG9sZGVycyB7XG4gICAgJjojeyRwbGFjZWhvbGRlcn0tcGxhY2Vob2xkZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSZXF1aXJlcyBTYXNzIDMuMStcbkBtaXhpbiByYWRpYWwtZ3JhZGllbnQoJGcxLCAkZzIsXG4gICAgICAgICAgICAgICAgICAgICAgICRnMzogbnVsbCwgJGc0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzU6IG51bGwsICRnNjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc3OiBudWxsLCAkZzg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnOTogbnVsbCwgJGcxMDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJHBvczogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJHNoYXBlLXNpemU6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRmYWxsYmFjazogbnVsbCkge1xuXG4gICRkYXRhOiBfcmFkaWFsLWFyZy1wYXJzZXIoJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplKTtcbiAgJGcxOiAgbnRoKCRkYXRhLCAxKTtcbiAgJGcyOiAgbnRoKCRkYXRhLCAyKTtcbiAgJHBvczogbnRoKCRkYXRhLCAzKTtcbiAgJHNoYXBlLXNpemU6IG50aCgkZGF0YSwgNCk7XG5cbiAgJGZ1bGw6ICRnMSwgJGcyLCAkZzMsICRnNCwgJGc1LCAkZzYsICRnNywgJGc4LCAkZzksICRnMTA7XG5cbiAgLy8gU3RyaXAgZGVwcmVjYXRlZCBjb3Zlci9jb250YWluIGZvciBzcGVjXG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcblxuICAvLyBTZXQgJGcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXG4gICRmaXJzdC1jb2xvcjogbnRoKCRmdWxsLCAxKTtcbiAgJGZhbGxiYWNrLWNvbG9yOiBudGgoJGZpcnN0LWNvbG9yLCAxKTtcblxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAkZmFsbGJhY2stY29sb3I6ICRmYWxsYmFjaztcbiAgfVxuXG4gIC8vIEFkZCBDb21tYXMgYW5kIHNwYWNlc1xuICAkc2hhcGUtc2l6ZTogaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sIFwiLCBudWxsKTtcbiAgJHBvczogICAgICAgIGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpO1xuICAkcG9zLXNwZWM6ICAgaWYoJHBvcywgXCJhdCAjeyRwb3N9XCIsIG51bGwpO1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBpZigoJHNoYXBlLXNpemUtc3BlYyAhPSBcIiBcIikgYW5kICgkcG9zID09IG51bGwpLCBcIiN7JHNoYXBlLXNpemUtc3BlY30sIFwiLCBcIiN7JHNoYXBlLXNpemUtc3BlY30gXCIpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICAkZmFsbGJhY2stY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KCN7JHBvc30jeyRzaGFwZS1zaXplfSN7JGZ1bGx9KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KCN7JHNoYXBlLXNpemUtc3BlY30jeyRwb3Mtc3BlY30jeyRmdWxsfSk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBPdXRwdXRzIHRoZSBzcGVjIGFuZCBwcmVmaXhlZCB2ZXJzaW9ucyBvZiB0aGUgYDo6c2VsZWN0aW9uYCBwc2V1ZG8tZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbH0gJGN1cnJlbnQtc2VsZWN0b3IgW2ZhbHNlXVxuLy8vICAgSWYgc2V0IHRvIGB0cnVlYCwgaXQgdGFrZXMgdGhlIGN1cnJlbnQgZWxlbWVudCBpbnRvIGNvbnNpZGVyYXRpb24uXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2VsZWN0aW9uKHRydWUpIHtcbi8vLyAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudDo6LW1vei1zZWxlY3Rpb24ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudDo6c2VsZWN0aW9uIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1Mjtcbi8vLyAgIH1cblxuQG1peGluIHNlbGVjdGlvbigkY3VycmVudC1zZWxlY3RvcjogZmFsc2UpIHtcbiAgQGlmICRjdXJyZW50LXNlbGVjdG9yIHtcbiAgICAmOjotbW96LXNlbGVjdGlvbiB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAmOjpzZWxlY3Rpb24ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICA6Oi1tb3otc2VsZWN0aW9uIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIDo6c2VsZWN0aW9uIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIHRleHQtZGVjb3JhdGlvbigkdmFsdWUpIHtcbi8vIDx0ZXh0LWRlY29yYXRpb24tbGluZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1zdHlsZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1jb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLCAkdmFsdWUsIG1veik7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tbGluZSgkbGluZTogbm9uZSkge1xuLy8gbm9uZSB8fCB1bmRlcmxpbmUgfHwgb3ZlcmxpbmUgfHwgbGluZS10aHJvdWdoXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1saW5lLCAkbGluZSwgbW96KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1zdHlsZSgkc3R5bGU6IHNvbGlkKSB7XG4vLyBzb2xpZCB8fCBkb3VibGUgfHwgZG90dGVkIHx8IGRhc2hlZCB8fCB3YXZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1zdHlsZSwgJHN0eWxlLCBtb3ogd2Via2l0KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1jb2xvcigkY29sb3I6IGN1cnJlbnRDb2xvcikge1xuLy8gY3VycmVudENvbG9yIHx8IDxjb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWNvbG9yLCAkY29sb3IsIG1veik7XG59XG4iLCJAbWl4aW4gdHJhbnNmb3JtKCRwcm9wZXJ0eTogbm9uZSkge1xuICAvLyBub25lIHwgPHRyYW5zZm9ybS1mdW5jdGlvbj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCAkcHJvcGVydHksIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJGF4ZXM6IDUwJSkge1xuICAvLyB4LWF4aXMgLSBsZWZ0IHwgY2VudGVyIHwgcmlnaHQgIHwgbGVuZ3RoIHwgJVxuICAvLyB5LWF4aXMgLSB0b3AgIHwgY2VudGVyIHwgYm90dG9tIHwgbGVuZ3RoIHwgJVxuICAvLyB6LWF4aXMgLSAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1vcmlnaW4sICRheGVzLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUoJHN0eWxlOiBmbGF0KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1zdHlsZSwgJHN0eWxlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLCIvLyBTaG9ydGhhbmQgbWl4aW4uIFN1cHBvcnRzIG11bHRpcGxlIHBhcmVudGhlc2VzLWRlbGltaW5hdGVkIHZhbHVlcyBmb3IgZWFjaCB2YXJpYWJsZS5cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHRyYW5zaXRpb24gKGFsbCAycyBlYXNlLWluLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uIChvcGFjaXR5IDFzIGVhc2UtaW4gMnMsIHdpZHRoIDJzIGVhc2Utb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkgKHRyYW5zZm9ybSwgb3BhY2l0eSk7XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCRwcm9wZXJ0aWVzLi4uKSB7XG4gIC8vIEZpeCBmb3IgdmVuZG9yLXByZWZpeCB0cmFuc2Zvcm0gcHJvcGVydHlcbiAgJG5lZWRzLXByZWZpeGVzOiBmYWxzZTtcbiAgJHdlYmtpdDogKCk7XG4gICRtb3o6ICgpO1xuICAkc3BlYzogKCk7XG5cbiAgLy8gQ3JlYXRlIGxpc3RzIGZvciB2ZW5kb3ItcHJlZml4ZWQgdHJhbnNmb3JtXG4gIEBlYWNoICRsaXN0IGluICRwcm9wZXJ0aWVzIHtcbiAgICBAaWYgbnRoKCRsaXN0LCAxKSA9PSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICRuZWVkcy1wcmVmaXhlczogdHJ1ZTtcbiAgICAgICRsaXN0MTogLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgICAkbGlzdDI6IC1tb3otdHJhbnNmb3JtO1xuICAgICAgJGxpc3QzOiAoKTtcblxuICAgICAgQGVhY2ggJHZhciBpbiAkbGlzdCB7XG4gICAgICAgICRsaXN0Mzogam9pbigkbGlzdDMsICR2YXIpO1xuXG4gICAgICAgIEBpZiAkdmFyICE9IFwidHJhbnNmb3JtXCIge1xuICAgICAgICAgICRsaXN0MTogam9pbigkbGlzdDEsICR2YXIpO1xuICAgICAgICAgICRsaXN0Mjogam9pbigkbGlzdDIsICR2YXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdDEpO1xuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0Mik7XG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QzKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdCwgY29tbWEpO1xuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0LCBjb21tYSk7XG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QsIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJG5lZWRzLXByZWZpeGVzIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICR3ZWJraXQ7XG4gICAgICAgLW1vei10cmFuc2l0aW9uOiAkbW96O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHNwZWM7XG4gIH0gQGVsc2Uge1xuICAgIEBpZiBsZW5ndGgoJHByb3BlcnRpZXMpID49IDEge1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcHJvcGVydGllczogYWxsIDAuMTVzIGVhc2Utb3V0IDBzO1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCRwcm9wZXJ0aWVzLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgXCJ3ZWJraXRcIik7XG4gICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgXCJtb3pcIik7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgZmFsc2UpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJG1vdGlvbnMuLi4pIHtcbiAgLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0IHwgY3ViaWMtYmV6aWVyKClcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIHVzZXItc2VsZWN0KCR2YWx1ZTogbm9uZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcih1c2VyLXNlbGVjdCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLWNvbG9yYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItY29sb3IoI2E2MGI1NSAjNzZjZDljIG51bGwgI2U4YWUxYSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZThhZTFhO1xuLy8vICAgICBib3JkZXItcmlnaHQtY29sb3I6ICM3NmNkOWM7XG4vLy8gICAgIGJvcmRlci10b3AtY29sb3I6ICNhNjBiNTU7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItY29sb3JgXG5cbkBtaXhpbiBib3JkZXItY29sb3IoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBjb2xvciwgJHZhbHMuLi4pO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLXJhZGl1c2Agb24gYm90aCBjb3JuZXJzIG9uIHRoZSBzaWRlIG9mIGEgYm94LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpaVxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQtb25lIHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoNXB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQtdHdvIHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDNweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudC1vbmUge1xuLy8vICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4vLy8gICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50LXR3byB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbi8vLyAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuLy8vICAgfVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLXJhZGl1c2BcblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItc3R5bGVgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkYXNoZWQgbnVsbCBzb2xpZCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuLy8vICAgICBib3JkZXItdG9wLXN0eWxlOiBkYXNoZWQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItc3R5bGVgXG5cbkBtaXhpbiBib3JkZXItc3R5bGUoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBzdHlsZSwgJHZhbHMuLi4pO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLXdpZHRoYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItd2lkdGgoMWVtIG51bGwgMjBweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIwcHg7XG4vLy8gICAgIGJvcmRlci10b3Atd2lkdGg6IDFlbTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci13aWR0aGBcblxuQG1peGluIGJvcmRlci13aWR0aCgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHdpZHRoLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW5lcmF0ZXMgdmFyaWFibGVzIGZvciBhbGwgYnV0dG9ucy4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6IGAjeyRhbGwtYnV0dG9uc31gLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAjeyRhbGwtYnV0dG9uc30ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1mb2N1c30sXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1ob3Zlcn0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1hY3RpdmV9IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIGJ1dHRvbixcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgYnV0dG9uOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsXG4vLy8gICBidXR0b246aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGJ1dHRvbjphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmFjdGl2ZSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGY7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSBhc3NpZ24taW5wdXRzXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy9cbi8vLyBAdG9kbyBSZW1vdmUgZG91YmxlIGFzc2lnbmVkIHZhcmlhYmxlcyAoTGluZXMgNTnigJM2MikgaW4gdjUuMC4wXG5cbiRidXR0b25zLWxpc3Q6ICdidXR0b24nLFxuICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJidXR0b25cIl0nLFxuICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJyZXNldFwiXScsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSc7XG5cbiRhbGwtYnV0dG9uczogICAgICAgIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCk7XG4kYWxsLWJ1dHRvbnMtYWN0aXZlOiBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGFjdGl2ZSk7XG4kYWxsLWJ1dHRvbnMtZm9jdXM6ICBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGZvY3VzKTtcbiRhbGwtYnV0dG9ucy1ob3ZlcjogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgaG92ZXIpO1xuXG4kYWxsLWJ1dHRvbi1pbnB1dHM6ICAgICAgICAkYWxsLWJ1dHRvbnM7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtYWN0aXZlOiAkYWxsLWJ1dHRvbnMtYWN0aXZlO1xuJGFsbC1idXR0b24taW5wdXRzLWZvY3VzOiAgJGFsbC1idXR0b25zLWZvY3VzO1xuJGFsbC1idXR0b24taW5wdXRzLWhvdmVyOiAgJGFsbC1idXR0b25zLWhvdmVyO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gaW5jbHVkZSBhIGNsZWFyZml4IGZvciBjb250YWluaW5nIGZsb2F0cy5cbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly9jc3Ntb2pvLmNvbS9sYXRlc3RfbmV3X2NsZWFyZml4X3NvX2Zhci9cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50OjphZnRlciB7XG4vLy8gICAgIGNsZWFyOiBib3RoO1xuLy8vICAgICBjb250ZW50OiBcIlwiO1xuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcbi8vLyAgIH1cblxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFRydW5jYXRlcyB0ZXh0IGFuZCBhZGRzIGFuIGVsbGlwc2lzIHRvIHJlcHJlc2VudCBvdmVyZmxvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzEwMCVdXG4vLy8gICBNYXgtd2lkdGggZm9yIHRoZSBzdHJpbmcgdG8gcmVzcGVjdCBiZWZvcmUgYmVpbmcgdHJ1bmNhdGVkXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgZWxsaXBzaXM7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vLyAgICAgbWF4LXdpZHRoOiAxMDAlO1xuLy8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xuLy8vICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbi8vLyAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbi8vLyAgICAgd29yZC13cmFwOiBub3JtYWw7XG4vLy8gICB9XG5cbkBtaXhpbiBlbGxpcHNpcygkd2lkdGg6IDEwMCUpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2VvcmdpYSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kZ2VvcmdpYTogXCJHZW9yZ2lhXCIsIFwiQ2FtYnJpYVwiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBcIlRpbWVzXCIsIHNlcmlmO1xuXG4vLy8gSGVsdmV0aWNhIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRoZWx2ZXRpY2E6IFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJSb2JvdG9cIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuXG4vLy8gTHVjaWRhIEdyYW5kZSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kbHVjaWRhLWdyYW5kZTogXCJMdWNpZGEgR3JhbmRlXCIsIFwiVGFob21hXCIsIFwiVmVyZGFuYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG5cbi8vLyBNb25vc3BhY2UgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJG1vbm9zcGFjZTogXCJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm9cIiwgXCJDb25zb2xhc1wiLCBcIkNvdXJpZXJcIiwgbW9ub3NwYWNlO1xuXG4vLy8gVmVyZGFuYSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kdmVyZGFuYTogXCJWZXJkYW5hXCIsIFwiR2VuZXZhXCIsIHNhbnMtc2VyaWY7XG4iLCIvLy8gSGlkZXMgdGhlIHRleHQgaW4gYW4gZWxlbWVudCwgY29tbW9ubHkgdXNlZCB0byBzaG93IGFuIGltYWdlLiBTb21lIGVsZW1lbnRzIHdpbGwgbmVlZCBibG9jay1sZXZlbCBzdHlsZXMgYXBwbGllZC5cbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly96ZWxkbWFuLmNvbS8yMDEyLzAzLzAxL3JlcGxhY2luZy10aGUtOTk5OXB4LWhhY2stbmV3LWltYWdlLXJlcGxhY2VtZW50XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgaGlkZS10ZXh0O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xuLy8vICAgICB0ZXh0LWluZGVudDogMTAxJTtcbi8vLyAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbi8vLyAgIH1cbi8vL1xuLy8vIEB0b2RvIFJlbW92ZSBoZWlnaHQgYXJndW1lbnQgaW4gdjUuMC4wXG5cbkBtaXhpbiBoaWRlLXRleHQoJGhlaWdodDogbnVsbCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWluZGVudDogMTAxJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgJGhlaWdodCB7XG4gICAgQHdhcm4gXCJUaGUgYGhpZGUtdGV4dGAgbWl4aW4gaGFzIGNoYW5nZWQgYW5kIG5vIGxvbmdlciByZXF1aXJlcyBhIGhlaWdodC4gVGhlIGhlaWdodCBhcmd1bWVudCB3aWxsIG5vIGxvbmdlciBiZSBhY2NlcHRlZCBpbiB2NS4wLjBcIjtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgbWFyZ2luYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCAxMHB4IDNlbSAyMHZoKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xuLy8vICAgICBtYXJnaW4tbGVmdDogMjB2aDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgbWFyZ2luYFxuXG5AbWl4aW4gbWFyZ2luKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KG1hcmdpbiwgZmFsc2UsICR2YWxzLi4uKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYHBhZGRpbmdgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHBhZGRpbmcoMTJ2aCBudWxsIDEwcHggNSUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbi8vLyAgICAgcGFkZGluZy1sZWZ0OiA1JTtcbi8vLyAgICAgcGFkZGluZy10b3A6IDEydmg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBwYWRkaW5nYFxuXG5AbWl4aW4gcGFkZGluZygkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShwYWRkaW5nLCBmYWxzZSwgJHZhbHMuLi4pO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHNldHRpbmcgYW4gZWxlbWVudOKAmXMgcG9zaXRpb24uIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7UG9zaXRpb259ICRwb3NpdGlvbiBbcmVsYXRpdmVdXG4vLy8gICBBIENTUyBwb3NpdGlvbiB2YWx1ZVxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkY29vcmRpbmF0ZXMgW251bGwgbnVsbCBudWxsIG51bGxdXG4vLy8gICBMaXN0IG9mIHZhbHVlcyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4IGZvciB0aGUgZWRnZXMgb2YgYSBib3hcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMTBlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGxlZnQ6IDEwZW07XG4vLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vLyAgICAgdG9wOiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBpcy1sZW5ndGhcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IHVucGFja1xuXG5AbWl4aW4gcG9zaXRpb24oJHBvc2l0aW9uOiByZWxhdGl2ZSwgJGNvb3JkaW5hdGVzOiBudWxsIG51bGwgbnVsbCBudWxsKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gbGlzdCB7XG4gICAgJGNvb3JkaW5hdGVzOiAkcG9zaXRpb247XG4gICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICRjb29yZGluYXRlczogdW5wYWNrKCRjb29yZGluYXRlcyk7XG5cbiAgJG9mZnNldHM6IChcbiAgICB0b3A6ICAgIG50aCgkY29vcmRpbmF0ZXMsIDEpLFxuICAgIHJpZ2h0OiAgbnRoKCRjb29yZGluYXRlcywgMiksXG4gICAgYm90dG9tOiBudGgoJGNvb3JkaW5hdGVzLCAzKSxcbiAgICBsZWZ0OiAgIG50aCgkY29vcmRpbmF0ZXMsIDQpXG4gICk7XG5cbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICBAZWFjaCAkb2Zmc2V0LCAkdmFsdWUgaW4gJG9mZnNldHMge1xuICAgIEBpZiBpcy1sZW5ndGgoJHZhbHVlKSB7XG4gICAgICAjeyRvZmZzZXR9OiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBIG1peGluIGZvciBnZW5lcmF0aW5nIHZlbmRvciBwcmVmaXhlcyBvbiBub24tc3RhbmRhcmRpemVkIHByb3BlcnRpZXMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5XG4vLy8gICBQcm9wZXJ0eSB0byBwcmVmaXhcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlXG4vLy8gICBWYWx1ZSB0byB1c2Vcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHByZWZpeGVzXG4vLy8gICBQcmVmaXhlcyB0byBkZWZpbmVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAxMHB4LCB3ZWJraXQgbXMgc3BlYyk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci13ZWJraXRcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1vemlsbGFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1pY3Jvc29mdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itb3BlcmFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXNwZWNcblxuQG1peGluIHByZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbW96IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICAgICAgLW1vei0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbXMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gc3BlYyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itc3BlYyB7XG4gICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgIHtcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpIHtcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XG59XG4iLCJAbWl4aW4gcmV0aW5hLWltYWdlKCRmaWxlbmFtZSwgJGJhY2tncm91bmQtc2l6ZSwgJGV4dGVuc2lvbjogcG5nLCAkcmV0aW5hLWZpbGVuYW1lOiBudWxsLCAkcmV0aW5hLXN1ZmZpeDogXzJ4LCAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gIH1cblxuICBAaW5jbHVkZSBoaWRwaSB7XG4gICAgQGlmICRhc3NldC1waXBlbGluZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRmaWxlbmFtZX0jeyRyZXRpbmEtc3VmZml4fS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRiYWNrZ3JvdW5kLXNpemU7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFNldHMgdGhlIGB3aWR0aGAgYW5kIGBoZWlnaHRgIG9mIHRoZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2l6ZVxuLy8vICAgQSBsaXN0IG9mIGF0IG1vc3QgMiBzaXplIHZhbHVlcy5cbi8vL1xuLy8vICAgSWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSB2YWx1ZSBpbiBgJHNpemVgIGl0IGlzIHVzZWQgZm9yIGJvdGggd2lkdGggYW5kIGhlaWdodC4gQWxsIHVuaXRzIGFyZSBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2l6ZSgyZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuc2Vjb25kLWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKGF1dG8gMTBlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZmlyc3QtZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiAyZW07XG4vLy8gICAgIGhlaWdodDogMmVtO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuc2Vjb25kLWVsZW1lbnQge1xuLy8vICAgICB3aWR0aDogYXV0bztcbi8vLyAgICAgaGVpZ2h0OiAxMGVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQHRvZG8gUmVmYWN0b3IgaW4gNS4wLjAgdG8gdXNlIGEgY29tbWEtc2VwYXJhdGVkIGFyZ3VtZW50XG5cbkBtaXhpbiBzaXplKCR2YWx1ZSkge1xuICAkd2lkdGg6IG50aCgkdmFsdWUsIDEpO1xuICAkaGVpZ2h0OiAkd2lkdGg7XG5cbiAgQGlmIGxlbmd0aCgkdmFsdWUpID4gMSB7XG4gICAgJGhlaWdodDogbnRoKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAaWYgaXMtc2l6ZSgkaGVpZ2h0KSB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcImAjeyRoZWlnaHR9YCBpcyBub3QgYSB2YWxpZCBsZW5ndGggZm9yIHRoZSBgJGhlaWdodGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cblxuICBAaWYgaXMtc2l6ZSgkd2lkdGgpIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcImAjeyR3aWR0aH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkd2lkdGhgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW5lcmF0ZXMgdmFyaWFibGVzIGZvciBhbGwgdGV4dC1iYXNlZCBpbnB1dHMuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgdXNlIGludGVycG9sYXRpb24gb24gdGhlIHZhcmlhYmxlOiBgI3skYWxsLXRleHQtaW5wdXRzfWAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0c30ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtZm9jdXN9LFxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWhvdmVyfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1hY3RpdmV9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXSxcbi8vLyAgIHRleHRhcmVhIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2YwMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzLFxuLy8vICAgdGV4dGFyZWE6Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06aG92ZXIsXG4vLy8gICB0ZXh0YXJlYTpob3ZlciB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06YWN0aXZlLFxuLy8vICAgdGV4dGFyZWE6YWN0aXZlIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIGFzc2lnbi1pbnB1dHNcbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJHRleHQtaW5wdXRzLWxpc3Q6ICdpbnB1dFt0eXBlPVwiY29sb3JcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZVwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRldGltZVwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJlbWFpbFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJtb250aFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJudW1iZXJcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic2VhcmNoXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRlbFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0ZXh0XCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRpbWVcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidXJsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIndlZWtcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dDpub3QoW3R5cGVdKScsXG4gICAgICAgICAgICAgICAgICAgJ3RleHRhcmVhJztcblxuJGFsbC10ZXh0LWlucHV0czogICAgICAgIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QpO1xuJGFsbC10ZXh0LWlucHV0cy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGFjdGl2ZSk7XG4kYWxsLXRleHQtaW5wdXRzLWZvY3VzOiAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgZm9jdXMpO1xuJGFsbC10ZXh0LWlucHV0cy1ob3ZlcjogIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGhvdmVyKTtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENTUyBjdWJpYy1iZXppZXIgdGltaW5nIGZ1bmN0aW9ucy4gVGltaW5nIGZ1bmN0aW9ucyBjb3VydGVzeSBvZiBqcXVlcnkuZWFzaWUgKGdpdGh1Yi5jb20vamF1a2lhL2Vhc2llKVxuLy8vXG4vLy8gVGltaW5nIGZ1bmN0aW9ucyBhcmUgdGhlIHNhbWUgYXMgZGVtb2VkIGhlcmU6IGh0dHA6Ly9qcXVlcnl1aS5jb20vcmVzb3VyY2VzL2RlbW9zL2VmZmVjdC9lYXNpbmcuaHRtbFxuLy8vXG4vLy8gQHR5cGUgY3ViaWMtYmV6aWVyXG5cbiRlYXNlLWluLXF1YWQ6ICAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wODUsIDAuNjgwLCAwLjUzMCk7XG4kZWFzZS1pbi1jdWJpYzogICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuJGVhc2UtaW4tcXVhcnQ6ICAgICBjdWJpYy1iZXppZXIoMC44OTUsICAwLjAzMCwgMC42ODUsIDAuMjIwKTtcbiRlYXNlLWluLXF1aW50OiAgICAgY3ViaWMtYmV6aWVyKDAuNzU1LCAgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4kZWFzZS1pbi1zaW5lOiAgICAgIGN1YmljLWJlemllcigwLjQ3MCwgIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xuJGVhc2UtaW4tZXhwbzogICAgICBjdWJpYy1iZXppZXIoMC45NTAsICAwLjA1MCwgMC43OTUsIDAuMDM1KTtcbiRlYXNlLWluLWNpcmM6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XG4kZWFzZS1pbi1iYWNrOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xuXG4kZWFzZS1vdXQtcXVhZDogICAgIGN1YmljLWJlemllcigwLjI1MCwgIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xuJGVhc2Utb3V0LWN1YmljOiAgICBjdWJpYy1iZXppZXIoMC4yMTUsICAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWFydDogICAgY3ViaWMtYmV6aWVyKDAuMTY1LCAgMC44NDAsIDAuNDQwLCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVpbnQ6ICAgIGN1YmljLWJlemllcigwLjIzMCwgIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xuJGVhc2Utb3V0LXNpbmU6ICAgICBjdWJpYy1iZXppZXIoMC4zOTAsICAwLjU3NSwgMC41NjUsIDEuMDAwKTtcbiRlYXNlLW91dC1leHBvOiAgICAgY3ViaWMtYmV6aWVyKDAuMTkwLCAgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtY2lyYzogICAgIGN1YmljLWJlemllcigwLjA3NSwgIDAuODIwLCAwLjE2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWJhY2s6ICAgICBjdWJpYy1iZXppZXIoMC4xNzUsICAwLjg4NSwgMC4zMjAsIDEuMjc1KTtcblxuJGVhc2UtaW4tb3V0LXF1YWQ6ICBjdWJpYy1iZXppZXIoMC40NTUsICAwLjAzMCwgMC41MTUsIDAuOTU1KTtcbiRlYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKDAuNjQ1LCAgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVhcnQ6IGN1YmljLWJlemllcigwLjc3MCwgIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1aW50OiBjdWJpYy1iZXppZXIoMC44NjAsICAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1zaW5lOiAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XG4kZWFzZS1pbi1vdXQtZXhwbzogIGN1YmljLWJlemllcigxLjAwMCwgIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LWNpcmM6ICBjdWJpYy1iZXppZXIoMC43ODUsICAwLjEzNSwgMC4xNTAsIDAuODYwKTtcbiRlYXNlLWluLW91dC1iYWNrOiAgY3ViaWMtYmV6aWVyKDAuNjgwLCAtMC41NTAsIDAuMjY1LCAxLjU1MCk7XG4iLCJAbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IGlmKGxlbmd0aCgkY29sb3IpID09IDIsIG50aCgkY29sb3IsIDIpLCB0cmFuc3BhcmVudCk7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG5cbiAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSBvciAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcbiAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSB1cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdXAtbGVmdCkge1xuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cC1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAtbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0KSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24tcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1kb3duKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGNoYW5nZSB0aGUgYHdvcmQtd3JhcGAgcHJvcGVydHkuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdyYXAgW2JyZWFrLXdvcmRdXG4vLy8gICBWYWx1ZSBmb3IgdGhlIGB3b3JkLWJyZWFrYCBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLndyYXBwZXIge1xuLy8vICAgICBAaW5jbHVkZSB3b3JkLXdyYXAoYnJlYWstd29yZCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAud3JhcHBlciB7XG4vLy8gICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4vLy8gICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbi8vLyAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuLy8vICAgfVxuXG5AbWl4aW4gd29yZC13cmFwKCR3cmFwOiBicmVhay13b3JkKSB7XG4gIG92ZXJmbG93LXdyYXA6ICR3cmFwO1xuICB3b3JkLXdyYXA6ICR3cmFwO1xuXG4gIEBpZiAkd3JhcCA9PSBicmVhay13b3JkIHtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIH0gQGVsc2Uge1xuICAgIHdvcmQtYnJlYWs6ICR3cmFwO1xuICB9XG59XG4iLCIvLyBUaGUgZm9sbG93aW5nIGZlYXR1cmVzIGhhdmUgYmVlbiBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgTUFKT1IgdmVyc2lvbiByZWxlYXNlXG5cbkBtaXhpbiBpbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQHdhcm4gXCJUaGUgaW5saW5lLWJsb2NrIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQG1peGluIGJ1dHRvbiAoJHN0eWxlOiBzaW1wbGUsICRiYXNlLWNvbG9yOiAjNDI5NGYwLCAkdGV4dC1zaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IHN0cmluZyBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBudW1iZXIge1xuICAgICRwYWRkaW5nOiAkdGV4dC1zaXplO1xuICAgICR0ZXh0LXNpemU6ICRiYXNlLWNvbG9yO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IGNvbG9yIHtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICRzdHlsZTtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSBpbmhlcml0IHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICRiYXNlLWNvbG9yO1xuICAgICR0ZXh0LXNpemU6ICRzdHlsZTtcbiAgICAkYmFzZS1jb2xvcjogIzQyOTRmMDtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSAjNDI5NGYwIHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gIEB3YXJuIFwiVGhlIGJ1dHRvbiBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbi8vIFNlbGVjdG9yIFN0eWxlIEJ1dHRvblxuQG1peGluIGJ1dHRvbnN0eWxlKCR0eXBlLCAkYi1jb2xvciwgJHQtc2l6ZSwgJHBhZCkge1xuICAvLyBHcmF5c2NhbGUgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAaWYgJHR5cGUgPT0gc2hpbnkgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBwaWxsIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBmbGF0IGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIC8vIENvbG9yZWQgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT0gc2hpbnkge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBwaWxsIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBmbGF0IHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cbn1cblxuLy8gU2ltcGxlIEJ1dHRvblxuQG1peGluIHNpbXBsZSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC04JSwgICRsaWdodG5lc3M6ICAxNSUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTExJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgMTUlLCAkbGlnaHRuZXNzOiAtMTglKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgJHRleHQtc2hhZG93O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC03JSwgJGxpZ2h0bmVzczogIDUlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDglLCAkbGlnaHRuZXNzOiAtMTQlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA5JSwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDclLCAkbGlnaHRuZXNzOiAtMTclKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICB9XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZSwgaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gU2hpbnkgQnV0dG9uXG5AbWl4aW4gc2hpbnkoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTE3LCAkZ3JlZW46IC0xMTEsICRibHVlOiAtODEpO1xuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTI2LCAkZ3JlZW46IC0xMjcsICRibHVlOiAtMTIyKTtcbiAgJGZvdXJ0aC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTc5LCAgJGdyZWVuOiAtNzAsICAkYmx1ZTogLTQ2KTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogIDM3LCAgJGdyZWVuOiAgMjksICAkYmx1ZTogIDEyKTtcbiAgJHNlY29uZC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTU2LCAgJGdyZWVuOiAtNTAsICAkYmx1ZTogLTMzKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTE0MCwgJGdyZWVuOiAtMTQxLCAkYmx1ZTogLTExNCk7XG4gICR0aGlyZC1zdG9wOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgICRncmVlbjogLTc1LCAgJGJsdWU6IC00OCk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAkZm91cnRoLXN0b3A6ICAgZ3JheXNjYWxlKCRmb3VydGgtc3RvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc2Vjb25kLXN0b3A6ICAgZ3JheXNjYWxlKCRzZWNvbmQtc3RvcCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICAgICR0aGlyZC1zdG9wOiAgICBncmF5c2NhbGUoJHRoaXJkLXN0b3ApO1xuICB9XG5cbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGJhc2UtY29sb3IgMCUsICRzZWNvbmQtc3RvcCA1MCUsICR0aGlyZC1zdG9wIDUwJSwgJGZvdXJ0aC1zdG9wIDEwMCUpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRmaXJzdC1zdG9wLWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTMsICRncmVlbjogLTE1LCAkYmx1ZTogLTE4KTtcbiAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTY2LCAkZ3JlZW46IC02MiwgJGJsdWU6IC01MSk7XG4gICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC05MywgJGdyZWVuOiAtODUsICRibHVlOiAtNjYpO1xuICAgICRmb3VydGgtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICRncmVlbjogLTgwLCAkYmx1ZTogLTYzKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJGZpcnN0LXN0b3AtaG92ZXIpO1xuICAgICAgJHNlY29uZC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJHNlY29uZC1zdG9wLWhvdmVyKTtcbiAgICAgICR0aGlyZC1zdG9wLWhvdmVyOiAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wLWhvdmVyKTtcbiAgICAgICRmb3VydGgtc3RvcC1ob3ZlcjogZ3JheXNjYWxlKCRmb3VydGgtc3RvcC1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGZpcnN0LXN0b3AtaG92ZXIgIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWNvbmQtc3RvcC1ob3ZlciA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXJkLXN0b3AtaG92ZXIgIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm91cnRoLXN0b3AtaG92ZXIgMTAwJSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMTEsICRncmVlbjogLTExNiwgJGJsdWU6IC0xMjIpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICB9XG5cbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMjBweCAwICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIFBpbGwgQnV0dG9uXG5AbWl4aW4gcGlsbCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXItYm90dG9tOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTExJSwgJGxpZ2h0bmVzczogLTI2JSk7XG4gICRib3JkZXItc2lkZXM6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA0LCAkc2F0dXJhdGlvbjogLTIxJSwgJGxpZ2h0bmVzczogLTIxJSk7XG4gICRib3JkZXItdG9wOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTMwJSwgJGxpZ2h0bmVzczogLTE1JSk7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTElLCAgJGxpZ2h0bmVzczogIDclKTtcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTQlLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDUsICRzYXR1cmF0aW9uOiAtMTklLCAkbGlnaHRuZXNzOiAtMTUlKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAkYm9yZGVyLXNpZGVzOiAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xuICAgICRib3JkZXItdG9wOiAgICBncmF5c2NhbGUoJGJvcmRlci10b3ApO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlci10b3AgJGJvcmRlci1zaWRlcyAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGlnaHRuZXNzOiAtNC41JSk7XG4gICAgJGJvcmRlci1ib3R0b206ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTMuNSUsICRsaWdodG5lc3M6IC0zMiUpO1xuICAgICRib3JkZXItc2lkZXM6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA0LCAkc2F0dXJhdGlvbjogLTIlLCAgICAkbGlnaHRuZXNzOiAtMjclKTtcbiAgICAkYm9yZGVyLXRvcDogICAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xNyUsICAgJGxpZ2h0bmVzczogLTIxJSk7XG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICRzYXR1cmF0aW9uOiAtMSUsICAgICRsaWdodG5lc3M6ICAzJSk7XG4gICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtNCUsICAgICRsaWdodG5lc3M6IC0xNS41JSk7XG4gICAgJHRleHQtc2hhZG93LWhvdmVyOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDUsICRzYXR1cmF0aW9uOiAtNSUsICAgICRsaWdodG5lc3M6IC0yMiUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICAgICRib3JkZXItYm90dG9tOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICAgJGJvcmRlci1zaWRlczogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcbiAgICAgICRib3JkZXItdG9wOiAgICAgICAgICBncmF5c2NhbGUoJGJvcmRlci10b3ApO1xuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcbiAgICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuICAgICAgJHRleHQtc2hhZG93LWhvdmVyOiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3ctaG92ZXIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcblxuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDQsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0xMCUpO1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA2LCAgJHNhdHVyYXRpb246IC0yLjUlLCAkbGlnaHRuZXNzOiAtMzAlKTtcbiAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogMTEsICRzYXR1cmF0aW9uOiAgNiUsICAgJGxpZ2h0bmVzczogLTMxJSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDksICAkc2F0dXJhdGlvbjogIDIlLCAgICRsaWdodG5lc3M6IC0yMS41JSk7XG4gICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDUsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0yMS41JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgZ3JheXNjYWxlKCRhY3RpdmUtY29sb3IpO1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20tYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IDNweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIEZsYXQgQnV0dG9uXG5AbWl4aW4gZmxhdCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKXtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNCUsICRsaWdodG5lc3M6IDUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWFjdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gRmxleGlibGUgZ3JpZFxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ncmlkIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuLy8gRmxleGlibGUgZ3V0dGVyXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ndXR0ZXIgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xuICBAcmV0dXJuICRuICogJGd3LWNvbHVtbiArICgkbiAtIDEpICogJGd3LWd1dHRlcjtcblxuICBAd2FybiBcIlRoZSBncmlkLXdpZHRoIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQGZ1bmN0aW9uIGdvbGRlbi1yYXRpbygkdmFsdWUsICRpbmNyZW1lbnQpIHtcbiAgQHJldHVybiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZSwgJHJhdGlvOiAkZ29sZGVuKTtcblxuICBAd2FybiBcIlRoZSBnb2xkZW4tcmF0aW8gZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gUGxlYXNlIHVzZSB0aGUgbW9kdWxhci1zY2FsZSBmdW5jdGlvbiwgaW5zdGVhZC5cIjtcbn1cblxuQG1peGluIGJveC1zaXppbmcoJGJveCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtc2l6aW5nLCAkYm94LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIEB3YXJuIFwiVGhlIGJveC1zaXppbmcgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gVGhpcyBwcm9wZXJ0eSBjYW4gbm93IGJlIHVzZWQgdW4tcHJlZml4ZWQuXCI7XG59XG4iLCIvKiFcbiAqIEJvb3RzdHJhcCB2My4zLjcgKGh0dHA6Ly9nZXRib290c3RyYXAuY29tKVxuICogQ29weXJpZ2h0IDIwMTEtMjAxNiBUd2l0dGVyLCBJbmMuXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKVxuICovXG5cbi8vIENvcmUgdmFyaWFibGVzIGFuZCBtaXhpbnNcbkBpbXBvcnQgXCJib290c3RyYXAvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL21peGluc1wiO1xuXG4vLyBSZXNldCBhbmQgZGVwZW5kZW5jaWVzXG4vL0BpbXBvcnQgXCJib290c3RyYXAvbm9ybWFsaXplXCI7XG4vL0BpbXBvcnQgXCJib290c3RyYXAvcHJpbnRcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9nbHlwaGljb25zXCI7XG5cbi8vIENvcmUgQ1NTXG4vL0BpbXBvcnQgXCJib290c3RyYXAvc2NhZmZvbGRpbmdcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC90eXBlXCI7XG4vL0BpbXBvcnQgXCJib290c3RyYXAvY29kZVwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9ncmlkXCI7XG4vL0BpbXBvcnQgXCJib290c3RyYXAvdGFibGVzXCI7XG4vL0BpbXBvcnQgXCJib290c3RyYXAvZm9ybXNcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9idXR0b25zXCI7XG5cbi8vIENvbXBvbmVudHNcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9jb21wb25lbnQtYW5pbWF0aW9uc1wiO1xuLy9AaW1wb3J0IFwiYm9vdHN0cmFwL2Ryb3Bkb3duc1wiO1xuLy9AaW1wb3J0IFwiYm9vdHN0cmFwL2J1dHRvbi1ncm91cHNcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9pbnB1dC1ncm91cHNcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9uYXZzXCI7XG4vL0BpbXBvcnQgXCJib290c3RyYXAvbmF2YmFyXCI7XG4vL0BpbXBvcnQgXCJib290c3RyYXAvYnJlYWRjcnVtYnNcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9wYWdpbmF0aW9uXCI7XG4vL0BpbXBvcnQgXCJib290c3RyYXAvcGFnZXJcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9sYWJlbHNcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9iYWRnZXNcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9qdW1ib3Ryb25cIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC90aHVtYm5haWxzXCI7XG4vL0BpbXBvcnQgXCJib290c3RyYXAvYWxlcnRzXCI7XG4vL0BpbXBvcnQgXCJib290c3RyYXAvcHJvZ3Jlc3MtYmFyc1wiO1xuLy9AaW1wb3J0IFwiYm9vdHN0cmFwL21lZGlhXCI7XG4vL0BpbXBvcnQgXCJib290c3RyYXAvbGlzdC1ncm91cFwiO1xuLy9AaW1wb3J0IFwiYm9vdHN0cmFwL3BhbmVsc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9yZXNwb25zaXZlLWVtYmVkXCI7XG4vL0BpbXBvcnQgXCJib290c3RyYXAvd2VsbHNcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9jbG9zZVwiO1xuXG4vLyBDb21wb25lbnRzIHcvIEphdmFTY3JpcHRcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9tb2RhbHNcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC90b29sdGlwXCI7XG4vL0BpbXBvcnQgXCJib290c3RyYXAvcG9wb3ZlcnNcIjtcbi8vQGltcG9ydCBcImJvb3RzdHJhcC9jYXJvdXNlbFwiO1xuXG4vLyBVdGlsaXR5IGNsYXNzZXNcbkBpbXBvcnQgXCJib290c3RyYXAvdXRpbGl0aWVzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Jlc3BvbnNpdmUtdXRpbGl0aWVzXCI7IiwiJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlcjogZmFsc2UgIWRlZmF1bHQ7XG4vL1xuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vPT0gQ29sb3JzXG4vL1xuLy8jIyBHcmF5IGFuZCBicmFuZCBjb2xvcnMgZm9yIHVzZSBhY3Jvc3MgQm9vdHN0cmFwLlxuXG4kZ3JheS1iYXNlOiAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRncmF5LWRhcmtlcjogICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDEzLjUlKSAhZGVmYXVsdDsgLy8gIzIyMlxuJGdyYXktZGFyazogICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMjAlKSAhZGVmYXVsdDsgICAvLyAjMzMzXG4kZ3JheTogICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAzMy41JSkgIWRlZmF1bHQ7IC8vICM1NTVcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDQ2LjclKSAhZGVmYXVsdDsgLy8gIzc3N1xuJGdyYXktbGlnaHRlcjogICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgOTMuNSUpICFkZWZhdWx0OyAvLyAjZWVlXG5cbiRicmFuZC1wcmltYXJ5OiAgICAgICAgIGRhcmtlbigjNDI4YmNhLCA2LjUlKSAhZGVmYXVsdDsgLy8gIzMzN2FiN1xuJGJyYW5kLXN1Y2Nlc3M6ICAgICAgICAgIzVjYjg1YyAhZGVmYXVsdDtcbiRicmFuZC1pbmZvOiAgICAgICAgICAgICM1YmMwZGUgIWRlZmF1bHQ7XG4kYnJhbmQtd2FybmluZzogICAgICAgICAjZjBhZDRlICFkZWZhdWx0O1xuJGJyYW5kLWRhbmdlcjogICAgICAgICAgI2Q5NTM0ZiAhZGVmYXVsdDtcblxuXG4vLz09IFNjYWZmb2xkaW5nXG4vL1xuLy8jIyBTZXR0aW5ncyBmb3Igc29tZSBvZiB0aGUgbW9zdCBnbG9iYWwgc3R5bGVzLlxuXG4vLyoqIEJhY2tncm91bmQgY29sb3IgZm9yIGA8Ym9keT5gLlxuJGJvZHktYmc6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogR2xvYmFsIHRleHQgY29sb3Igb24gYDxib2R5PmAuXG4kdGV4dC1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuXG4vLyoqIEdsb2JhbCB0ZXh0dWFsIGxpbmsgY29sb3IuXG4kbGluay1jb2xvcjogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogTGluayBob3ZlciBjb2xvciBzZXQgdmlhIGBkYXJrZW4oKWAgZnVuY3Rpb24uXG4kbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4vLyoqIExpbmsgaG92ZXIgZGVjb3JhdGlvbi5cbiRsaW5rLWhvdmVyLWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcblxuXG4vLz09IFR5cG9ncmFwaHlcbi8vXG4vLyMjIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1zZXJpZjogICAgICAgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmICFkZWZhdWx0O1xuLy8qKiBEZWZhdWx0IG1vbm9zcGFjZSBmb250cyBmb3IgYDxjb2RlPmAsIGA8a2JkPmAsIGFuZCBgPHByZT5gLlxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgIDE0cHggIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxhcmdlOiAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuMjUpKSAhZGVmYXVsdDsgLy8gfjE4cHhcbiRmb250LXNpemUtc21hbGw6ICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkpICFkZWZhdWx0OyAvLyB+MTJweFxuXG4kZm9udC1zaXplLWgxOiAgICAgICAgICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAyLjYpKSAhZGVmYXVsdDsgLy8gfjM2cHhcbiRmb250LXNpemUtaDI6ICAgICAgICAgICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDIuMTUpKSAhZGVmYXVsdDsgLy8gfjMwcHhcbiRmb250LXNpemUtaDM6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS43KSkgIWRlZmF1bHQ7IC8vIH4yNHB4XG4kZm9udC1zaXplLWg0OiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuMjUpKSAhZGVmYXVsdDsgLy8gfjE4cHhcbiRmb250LXNpemUtaDU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oNjogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAwLjg1KSkgIWRlZmF1bHQ7IC8vIH4xMnB4XG5cbi8vKiogVW5pdC1sZXNzIGBsaW5lLWhlaWdodGAgZm9yIHVzZSBpbiBjb21wb25lbnRzIGxpa2UgYnV0dG9ucy5cbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgMS40Mjg1NzE0MjkgIWRlZmF1bHQ7IC8vIDIwLzE0XG4vLyoqIENvbXB1dGVkIFwibGluZS1oZWlnaHRcIiAoYGZvbnQtc2l6ZWAgKiBgbGluZS1oZWlnaHRgKSBmb3IgdXNlIHdpdGggYG1hcmdpbmAsIGBwYWRkaW5nYCwgZXRjLlxuJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UpKSAhZGVmYXVsdDsgLy8gfjIwcHhcblxuLy8qKiBCeSBkZWZhdWx0LCB0aGlzIGluaGVyaXRzIGZyb20gdGhlIGA8Ym9keT5gLlxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgIDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuXG4vLz09IEljb25vZ3JhcGh5XG4vL1xuLy8jIyBTcGVjaWZ5IGN1c3RvbSBsb2NhdGlvbiBhbmQgZmlsZW5hbWUgb2YgdGhlIGluY2x1ZGVkIEdseXBoaWNvbnMgaWNvbiBmb250LiBVc2VmdWwgZm9yIHRob3NlIGluY2x1ZGluZyBCb290c3RyYXAgdmlhIEJvd2VyLlxuXG4vLyoqIExvYWQgZm9udHMgZnJvbSB0aGlzIGRpcmVjdG9yeS5cblxuLy8gW2NvbnZlcnRlcl0gSWYgJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciBpZiB1c2VkLCBwcm92aWRlIHBhdGggcmVsYXRpdmUgdG8gdGhlIGFzc2V0cyBsb2FkIHBhdGguXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGJlY2F1c2Ugc29tZSBhc3NldCBoZWxwZXJzLCBzdWNoIGFzIFNwcm9ja2V0cywgZG8gbm90IHdvcmsgd2l0aCBmaWxlLXJlbGF0aXZlIHBhdGhzLlxuJGljb24tZm9udC1wYXRoOiBpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCBcImJvb3RzdHJhcC9cIiwgXCIuLi9mb250cy9ib290c3RyYXAvXCIpICFkZWZhdWx0O1xuXG4vLyoqIEZpbGUgbmFtZSBmb3IgYWxsIGZvbnQgZmlsZXMuXG4kaWNvbi1mb250LW5hbWU6ICAgICAgICAgIFwiZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhclwiICFkZWZhdWx0O1xuLy8qKiBFbGVtZW50IElEIHdpdGhpbiBTVkcgaWNvbiBmaWxlLlxuJGljb24tZm9udC1zdmctaWQ6ICAgICAgICBcImdseXBoaWNvbnNfaGFsZmxpbmdzcmVndWxhclwiICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29tcG9uZW50c1xuLy9cbi8vIyMgRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLiBWYWx1ZXMgYmFzZWQgb24gMTRweCB0ZXh0IGFuZCAxLjQyOCBsaW5lLWhlaWdodCAofjIwcHggdG8gc3RhcnQpLlxuXG4kcGFkZGluZy1iYXNlLXZlcnRpY2FsOiAgICAgNnB4ICFkZWZhdWx0O1xuJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsOiAgIDEycHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOiAgICAxMHB4ICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDogIDE2cHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOiAgICA1cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOiAgMTBweCAhZGVmYXVsdDtcblxuJHBhZGRpbmcteHMtdmVydGljYWw6ICAgICAgIDFweCAhZGVmYXVsdDtcbiRwYWRkaW5nLXhzLWhvcml6b250YWw6ICAgICA1cHggIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1sYXJnZTogICAgICAgICAxLjMzMzMzMzMgIWRlZmF1bHQ7IC8vIGV4dHJhIGRlY2ltYWxzIGZvciBXaW4gOC4xIENocm9tZVxuJGxpbmUtaGVpZ2h0LXNtYWxsOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgIDRweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICA2cHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgM3B4ICFkZWZhdWx0O1xuXG4vLyoqIEdsb2JhbCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogR2xvYmFsIGJhY2tncm91bmQgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyoqIFdpZHRoIG9mIHRoZSBgYm9yZGVyYCBmb3IgZ2VuZXJhdGluZyBjYXJldHMgdGhhdCBpbmRpY2F0ZSBkcm9wZG93bnMuXG4kY2FyZXQtd2lkdGgtYmFzZTogICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBDYXJldHMgaW5jcmVhc2Ugc2xpZ2h0bHkgaW4gc2l6ZSBmb3IgbGFyZ2VyIGNvbXBvbmVudHMuXG4kY2FyZXQtd2lkdGgtbGFyZ2U6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gVGFibGVzXG4vL1xuLy8jIyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbi8vKiogUGFkZGluZyBmb3IgYDx0aD5gcyBhbmQgYDx0ZD5gcy5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGZvciBjZWxscyBpbiBgLnRhYmxlLWNvbmRlbnNlZGAuXG4kdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZzogIDVweCAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYWxsIHRhYmxlcy5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYC50YWJsZS1zdHJpcGVkYC5cbiR0YWJsZS1iZy1hY2NlbnQ6ICAgICAgICAgICAgICAgI2Y5ZjlmOSAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLWhvdmVyYC5cbiR0YWJsZS1iZy1ob3ZlcjogICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiR0YWJsZS1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgJHRhYmxlLWJnLWhvdmVyICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGFibGUgYW5kIGNlbGwgYm9yZGVycy5cbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09IEJ1dHRvbnNcbi8vXG4vLyMjIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcblxuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4kYnRuLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1wcmltYXJ5LWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXN1Y2Nlc3MtYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4taW5mby1iZzogICAgICAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJvcmRlcjogICAgICAgICAgICAgICAgZGFya2VuKCRidG4taW5mby1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi13YXJuaW5nLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKCRidG4tZGFuZ2VyLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuXG4vLz09IEZvcm1zXG4vL1xuLy8jI1xuXG4vLyoqIGA8aW5wdXQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0IGRpc2FibGVkPmAgYmFja2dyb3VuZCBjb2xvclxuJGlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBgPGlucHV0PmBzXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbi8vKiogYDxpbnB1dD5gIGJvcmRlciBjb2xvclxuJGlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcblxuLy8gVE9ETzogUmVuYW1lIGAkaW5wdXQtYm9yZGVyLXJhZGl1c2AgdG8gYCRpbnB1dC1ib3JkZXItcmFkaXVzLWJhc2VgIGluIHY0XG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbi8vIFRoaXMgaGFzIG5vIGVmZmVjdCBvbiBgPHNlbGVjdD5gcyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICRib3JkZXItcmFkaXVzLWxhcmdlICFkZWZhdWx0O1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgJGJvcmRlci1yYWRpdXMtc21hbGwgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBpbnB1dHMgb24gZm9jdXNcbiRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICM2NmFmZTkgIWRlZmF1bHQ7XG5cbi8vKiogUGxhY2Vob2xkZXIgdGV4dCBjb2xvclxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtYmFzZTogICAgICAgICAgICAgICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG4vLyoqIExhcmdlIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtbGFyZ2U6ICAgICAgICAgICAgIChjZWlsKCRmb250LXNpemUtbGFyZ2UgKiAkbGluZS1oZWlnaHQtbGFyZ2UpICsgKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcbi8vKiogU21hbGwgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1zbWFsbDogICAgICAgICAgICAgKGZsb29yKCRmb250LXNpemUtc21hbGwgKiAkbGluZS1oZWlnaHQtc21hbGwpICsgKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcblxuLy8qKiBgLmZvcm0tZ3JvdXBgIG1hcmdpblxuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgMTVweCAhZGVmYXVsdDtcblxuJGxlZ2VuZC1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRsZWdlbmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vKiogRGlzYWJsZWQgY3Vyc29yIGZvciBmb3JtIGNvbnRyb2xzIGFuZCBidXR0b25zLlxuJGN1cnNvci1kaXNhYmxlZDogICAgICAgICAgICAgICAgbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cblxuLy89PSBEcm9wZG93bnNcbi8vXG4vLyMjIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8qKiBCYWNrZ3JvdW5kIGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAuXG4kZHJvcGRvd24tYm9yZGVyOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4xNSkgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAgKipmb3IgSUU4KiouXG4kZHJvcGRvd24tZmFsbGJhY2stYm9yZGVyOiAgICAgICAjY2NjICFkZWZhdWx0O1xuLy8qKiBEaXZpZGVyIGNvbG9yIGZvciBiZXR3ZWVuIGRyb3Bkb3duIGl0ZW1zLlxuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qKiBEcm9wZG93biBsaW5rIHRleHQgY29sb3IuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBjb2xvciBmb3IgZHJvcGRvd24gbGlua3MuXG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGdyYXktZGFyaywgNSUpICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBiYWNrZ3JvdW5kIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSB0ZXh0IGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4vLyoqIERpc2FibGVkIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBmb3IgaGVhZGVycyB3aXRoaW4gZHJvcGRvd24gbWVudXMuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBEZXByZWNhdGVkIGAkZHJvcGRvd24tY2FyZXQtY29sb3JgIGFzIG9mIHYzLjEuMFxuJGRyb3Bkb3duLWNhcmV0LWNvbG9yOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuXG4vLy0tIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cbi8vXG4vLyBOb3RlOiBUaGVzZSB2YXJpYWJsZXMgYXJlIG5vdCBnZW5lcmF0ZWQgaW50byB0aGUgQ3VzdG9taXplci5cblxuJHppbmRleC1uYXZiYXI6ICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcbiR6aW5kZXgtbmF2YmFyLWZpeGVkOiAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tncm91bmQ6ICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcblxuXG4vLz09IE1lZGlhIHF1ZXJpZXMgYnJlYWtwb2ludHNcbi8vXG4vLyMjIERlZmluZSB0aGUgYnJlYWtwb2ludHMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIEV4dHJhIHNtYWxsIHNjcmVlbiAvIHBob25lXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4teHNgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi14czogICAgICAgICAgICAgICAgICA0ODBweCAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14cy1taW5gIGFzIG9mIHYzLjIuMFxuJHNjcmVlbi14cy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXhzICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXBob25lYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tcGhvbmU6ICAgICAgICAgICAgICAgJHNjcmVlbi14cy1taW4gIWRlZmF1bHQ7XG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXNtYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tc206ICAgICAgICAgICAgICAgICAgNzY4cHggIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tc20gIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tdGFibGV0YCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tdGFibGV0OiAgICAgICAgICAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbWRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1tZDogICAgICAgICAgICAgICAgICA5OTJweCAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1tZCAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tZGVza3RvcDogICAgICAgICAgICAgJHNjcmVlbi1tZC1taW4gIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbGc6ICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1sZy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLWxnICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZy1kZXNrdG9wOiAgICAgICAgICAkc2NyZWVuLWxnLW1pbiAhZGVmYXVsdDtcblxuLy8gU28gbWVkaWEgcXVlcmllcyBkb24ndCBvdmVybGFwIHdoZW4gcmVxdWlyZWQsIHByb3ZpZGUgYSBtYXhpbXVtXG4kc2NyZWVuLXhzLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLXNtLW1pbiAtIDEpICFkZWZhdWx0O1xuJHNjcmVlbi1zbS1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1tZC1taW4gLSAxKSAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbGctbWluIC0gMSkgIWRlZmF1bHQ7XG5cblxuLy89PSBHcmlkIHN5c3RlbVxuLy9cbi8vIyMgRGVmaW5lIHlvdXIgY3VzdG9tIHJlc3BvbnNpdmUgZ3JpZC5cblxuLy8qKiBOdW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBiZXR3ZWVuIGNvbHVtbnMuIEdldHMgZGl2aWRlZCBpbiBoYWxmIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQuXG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgMzBweCAhZGVmYXVsdDtcbi8vIE5hdmJhciBjb2xsYXBzZVxuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlY29tZXMgdW5jb2xsYXBzZWQuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50OiAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVnaW5zIGNvbGxhcHNpbmcuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heDogKCRncmlkLWZsb2F0LWJyZWFrcG9pbnQgLSAxKSAhZGVmYXVsdDtcblxuXG4vLz09IENvbnRhaW5lciBzaXplc1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4kY29udGFpbmVyLXRhYmxldDogICAgICAgICAgICAgKDcyMHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLXNtLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1zbTogICAgICAgICAgICAgICAgICRjb250YWluZXItdGFibGV0ICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuJGNvbnRhaW5lci1kZXNrdG9wOiAgICAgICAgICAgICg5NDBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1tZC1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbWQ6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wOiAgICAgICgxMTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tbGctbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLWxnOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wICFkZWZhdWx0O1xuXG5cbi8vPT0gTmF2YmFyXG4vL1xuLy8jI1xuXG4vLyBCYXNpY3Mgb2YgYSBuYXZiYXJcbiRuYXZiYXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRuYXZiYXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICFkZWZhdWx0O1xuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAoKCRuYXZiYXItaGVpZ2h0IC0gJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKSAvIDIpICFkZWZhdWx0O1xuJG5hdmJhci1jb2xsYXBzZS1tYXgtaGVpZ2h0OiAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuJG5hdmJhci1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAjZjhmOGY4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGxpbmtzXG4kbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgIzc3NyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgI2NjYyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvciwgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgIzg4OCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT09IEludmVydGVkIG5hdmJhclxuLy8gUmVzZXQgaW52ZXJ0ZWQgbmF2YmFyIGJhc2ljc1xuJG5hdmJhci1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWxpZ2h0LCAxNSUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAjMjIyICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgbGlua3NcbiRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1saWdodCwgMTUlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gTmF2c1xuLy9cbi8vIyNcblxuLy89PT0gU2hhcmVkIG5hdiBzdHlsZXNcbiRuYXYtbGluay1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAxNXB4ICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4kbmF2LWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy89PSBUYWJzXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICNkZGQgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG5cbi8vPT0gUGlsbHNcbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFnaW5hdGlvblxuLy9cbi8vIyNcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyOiAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy89PSBQYWdlclxuLy9cbi8vIyNcblxuJHBhZ2VyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kcGFnZXItaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHBhZ2VyLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG4kcGFnZXItZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vLz09IEp1bWJvdHJvblxuLy9cbi8vIyNcblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1oZWFkaW5nLWNvbG9yOiAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tZm9udC1zaXplOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNSkpICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1oZWFkaW5nLWZvbnQtc2l6ZTogICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogNC41KSkgIWRlZmF1bHQ7XG5cblxuLy89PSBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vL1xuLy8jIyBEZWZpbmUgY29sb3JzIGZvciBmb3JtIGZlZWRiYWNrIHN0YXRlcyBhbmQsIGJ5IGRlZmF1bHQsIGFsZXJ0cy5cblxuJHN0YXRlLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgICAgIzNjNzYzZCAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICNkZmYwZDggIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtc3VjY2Vzcy1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtaW5mby10ZXh0OiAgICAgICAgICAgICAgICAjMzE3MDhmICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgI2Q5ZWRmNyAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJvcmRlcjogICAgICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1pbmZvLWJnLCAtMTApLCA3JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS13YXJuaW5nLXRleHQ6ICAgICAgICAgICAgICM4YTZkM2IgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1iZzogICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXdhcm5pbmctYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWRhbmdlci10ZXh0OiAgICAgICAgICAgICAgI2E5NDQ0MiAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICNmMmRlZGUgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtZGFuZ2VyLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cblxuLy89PSBUb29sdGlwc1xuLy9cbi8vIyNcblxuLy8qKiBUb29sdGlwIG1heCB3aWR0aFxuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgdGV4dCBjb2xvclxuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCBiYWNrZ3JvdW5kIGNvbG9yXG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG5cbi8vKiogVG9vbHRpcCBhcnJvdyB3aWR0aFxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIGFycm93IGNvbG9yXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuXG4vLz09IFBvcG92ZXJzXG4vL1xuLy8jI1xuXG4vLyoqIFBvcG92ZXIgYm9keSBiYWNrZ3JvdW5kIGNvbG9yXG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgbWF4aW11bSB3aWR0aFxuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBib3JkZXIgY29sb3JcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMikgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgZmFsbGJhY2sgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciB0aXRsZSBiYWNrZ3JvdW5kIGNvbG9yXG4kcG9wb3Zlci10aXRsZS1iZzogICAgICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgYXJyb3cgd2lkdGhcbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IHdpZHRoXG4kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDogICAgICAgICAgICgkcG9wb3Zlci1hcnJvdy13aWR0aCArIDEpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICAgIGZhZGVfaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAwLjA1KSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBmYWxsYmFjayBjb2xvclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I6ICBkYXJrZW4oJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuXG5cbi8vPT0gTGFiZWxzXG4vL1xuLy8jI1xuXG4vLyoqIERlZmF1bHQgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWRlZmF1bHQtYmc6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIFByaW1hcnkgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXByaW1hcnktYmc6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIFN1Y2Nlc3MgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyoqIEluZm8gbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWluZm8tYmc6ICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4vLyoqIFdhcm5pbmcgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXdhcm5pbmctYmc6ICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4vLyoqIERhbmdlciBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgbGFiZWwgdGV4dCBjb2xvclxuJGxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIGEgbGlua2VkIGxhYmVsXG4kbGFiZWwtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gTW9kYWxzXG4vL1xuLy8jI1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIHRpdGxlXG4kbW9kYWwtdGl0bGUtcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCB0aXRsZSBsaW5lLWhlaWdodFxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBjb250ZW50IGFyZWFcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3JcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMikgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yICoqZm9yIElFOCoqXG4kbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICAgICM5OTkgIWRlZmF1bHQ7XG5cbi8vKiogTW9kYWwgYmFja2Ryb3AgYmFja2dyb3VuZCBjb2xvclxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbi8vKiogTW9kYWwgYmFja2Ryb3Agb3BhY2l0eVxuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgLjUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGhlYWRlciBib3JkZXIgY29sb3JcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICNlNWU1ZTUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGZvb3RlciBib3JkZXIgY29sb3JcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBBbGVydHNcbi8vXG4vLyMjIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZzogICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgIGJvbGQgIWRlZmF1bHQ7XG5cbiRhbGVydC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWluZm8tYmc6ICAgICAgICAgICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtd2FybmluZy1iZzogICAgICAgICAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1kYW5nZXItYmc6ICAgICAgICAgICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLz09IFByb2dyZXNzIGJhcnNcbi8vXG4vLyMjXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgd2hvbGUgcHJvZ3Jlc3MgY29tcG9uZW50XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBQcm9ncmVzcyBiYXIgdGV4dCBjb2xvclxuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVmFyaWFibGUgZm9yIHNldHRpbmcgcm91bmRlZCBjb3JuZXJzIG9uIHByb2dyZXNzIGJhci5cbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBTdWNjZXNzIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1zdWNjZXNzLWJnOiAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyoqIFdhcm5pbmcgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmc6ICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbi8vKiogRGFuZ2VyIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1kYW5nZXItYmc6ICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcbi8vKiogSW5mbyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItaW5mby1iZzogICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuXG5cbi8vPT0gTGlzdCBncm91cFxuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9uIGAubGlzdC1ncm91cC1pdGVtYFxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgLmxpc3QtZ3JvdXAtaXRlbWAgYm9yZGVyIGNvbG9yXG4kbGlzdC1ncm91cC1ib3JkZXI6ICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4vLyoqIExpc3QgZ3JvdXAgYm9yZGVyIHJhZGl1c1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2Ygc2luZ2xlIGxpc3QgaXRlbXMgb24gaG92ZXJcbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vKiogQm9yZGVyIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGVsZW1lbnRzXG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyOiAgICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yOiAgbGlnaHRlbigkbGlzdC1ncm91cC1hY3RpdmUtYmcsIDQwJSkgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtbGluay1jb2xvcjogICAgICAgICAjNTU1ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjogICAkbGlzdC1ncm91cC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFuZWxzXG4vL1xuLy8jI1xuXG4kcGFuZWwtYmc6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhbmVsLWJvZHktcGFkZGluZzogICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRwYW5lbC1oZWFkaW5nLXBhZGRpbmc6ICAgICAgIDEwcHggMTVweCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItcGFkZGluZzogICAgICAgICRwYW5lbC1oZWFkaW5nLXBhZGRpbmcgIWRlZmF1bHQ7XG4kcGFuZWwtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgZWxlbWVudHMgd2l0aGluIHBhbmVsc1xuJHBhbmVsLWlubmVyLWJvcmRlcjogICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItYmc6ICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kZWZhdWx0LXRleHQ6ICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcGFuZWwtZGVmYXVsdC1ib3JkZXI6ICAgICAgICAjZGRkICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtaGVhZGluZy1iZzogICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuJHBhbmVsLXByaW1hcnktdGV4dDogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYW5lbC1wcmltYXJ5LWJvcmRlcjogICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhbmVsLXByaW1hcnktaGVhZGluZy1iZzogICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYW5lbC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1oZWFkaW5nLWJnOiAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWhlYWRpbmctYmc6ICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctaGVhZGluZy1iZzogICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kYW5nZXItdGV4dDogICAgICAgICAgICRzdGF0ZS1kYW5nZXItdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLWRhbmdlci1oZWFkaW5nLWJnOiAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcblxuXG4vLz09IFRodW1ibmFpbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBpbWFnZVxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYmFja2dyb3VuZCBjb2xvclxuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgY29sb3JcbiR0aHVtYm5haWwtYm9yZGVyOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgcmFkaXVzXG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEN1c3RvbSB0ZXh0IGNvbG9yIGZvciB0aHVtYm5haWwgY2FwdGlvbnNcbiR0aHVtYm5haWwtY2FwdGlvbi1jb2xvcjogICAgICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGNhcHRpb25cbiR0aHVtYm5haWwtY2FwdGlvbi1wYWRkaW5nOiAgIDlweCAhZGVmYXVsdDtcblxuXG4vLz09IFdlbGxzXG4vL1xuLy8jI1xuXG4kd2VsbC1iZzogICAgICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHdlbGwtYm9yZGVyOiAgICAgICAgICAgICAgICAgZGFya2VuKCR3ZWxsLWJnLCA3JSkgIWRlZmF1bHQ7XG5cblxuLy89PSBCYWRnZXNcbi8vXG4vLyMjXG5cbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIExpbmtlZCBiYWRnZSB0ZXh0IGNvbG9yIG9uIGhvdmVyXG4kYmFkZ2UtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuJGJhZGdlLWJnOiAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogQmFkZ2UgdGV4dCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcbiRiYWRnZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBCYWRnZSBiYWNrZ3JvdW5kIGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuJGJhZGdlLWFjdGl2ZS1iZzogICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1saW5lLWhlaWdodDogICAgICAgICAgIDEgIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAxMHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gQnJlYWRjcnVtYnNcbi8vXG4vLyMjXG5cbiRicmVhZGNydW1iLXBhZGRpbmctdmVydGljYWw6ICAgOHB4ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuLy8qKiBCcmVhZGNydW1iIGJhY2tncm91bmQgY29sb3JcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogQnJlYWRjcnVtYiB0ZXh0IGNvbG9yXG4kYnJlYWRjcnVtYi1jb2xvcjogICAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3Igb2YgY3VycmVudCBwYWdlIGluIHRoZSBicmVhZGNydW1iXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBUZXh0dWFsIHNlcGFyYXRvciBmb3IgYmV0d2VlbiBicmVhZGNydW1iIGVsZW1lbnRzXG4kYnJlYWRjcnVtYi1zZXBhcmF0b3I6ICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuXG5cbi8vPT0gQ2Fyb3VzZWxcbi8vXG4vLyMjXG5cbiRjYXJvdXNlbC10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgwLDAsMCwuNikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENsb3NlXG4vL1xuLy8jI1xuXG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgIDAgMXB4IDAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENvZGVcbi8vXG4vLyMjXG5cbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICNjNzI1NGUgIWRlZmF1bHQ7XG4kY29kZS1iZzogICAgICAgICAgICAgICAgICAgICAjZjlmMmY0ICFkZWZhdWx0O1xuXG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuJHByZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcHJlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBUeXBlXG4vL1xuLy8jI1xuXG4vLyoqIEhvcml6b250YWwgb2Zmc2V0IGZvciBmb3JtcyBhbmQgbGlzdHMuXG4kY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsOiAxODBweCAhZGVmYXVsdDtcbi8vKiogVGV4dCBtdXRlZCBjb2xvclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zIGJvcmRlciBjb2xvclxuJGFiYnItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEhlYWRpbmdzIHNtYWxsIGNvbG9yXG4kaGVhZGluZ3Mtc21hbGwtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBzbWFsbCBjb2xvclxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgZm9udCBzaXplXG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgYm9yZGVyIGNvbG9yXG4kYmxvY2txdW90ZS1ib3JkZXItY29sb3I6ICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBQYWdlIGhlYWRlciBib3JkZXIgY29sb3JcbiRwYWdlLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFdpZHRoIG9mIGhvcml6b250YWwgZGVzY3JpcHRpb24gbGlzdCB0aXRsZXNcbiRkbC1ob3Jpem9udGFsLW9mZnNldDogICAgICAgICRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWwgIWRlZmF1bHQ7XG4vLyoqIFBvaW50IGF0IHdoaWNoIC5kbC1ob3Jpem9udGFsIGJlY29tZXMgaG9yaXpvbnRhbFxuJGRsLWhvcml6b250YWwtYnJlYWtwb2ludDogICAgJGdyaWQtZmxvYXQtYnJlYWtwb2ludCAhZGVmYXVsdDtcbi8vKiogSG9yaXpvbnRhbCBsaW5lIGNvbG9yLlxuJGhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiIsIi8vIE1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwibWl4aW5zL2hpZGUtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy9vcGFjaXR5XCI7XG5AaW1wb3J0IFwibWl4aW5zL2ltYWdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xhYmVsc1wiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC1maWx0ZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc3BvbnNpdmUtdmlzaWJpbGl0eVwiO1xuQGltcG9ydCBcIm1peGlucy9zaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYi1mb2N1c1wiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1vdmVyZmxvd1wiO1xuQGltcG9ydCBcIm1peGlucy92ZW5kb3ItcHJlZml4ZXNcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcIm1peGlucy9hbGVydHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1peGlucy9wYW5lbHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Byb2dyZXNzLWJhclwiO1xuQGltcG9ydCBcIm1peGlucy90YWJsZS1yb3dcIjtcblxuLy8gU2tpbnNcbkBpbXBvcnQgXCJtaXhpbnMvYmFja2dyb3VuZC12YXJpYW50XCI7XG5AaW1wb3J0IFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JhZGllbnRzXCI7XG5cbi8vIExheW91dFxuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGlucy9jZW50ZXItYmxvY2tcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbmF2LXZlcnRpY2FsLWFsaWduXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWQtZnJhbWV3b3JrXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWRcIjtcbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuLy9cbi8vIEhlYWRzIHVwISB2MyBsYXVuY2hlZCB3aXRoIG9ubHkgYC5oaWRlLXRleHQoKWAsIGJ1dCBwZXIgb3VyIHBhdHRlcm4gZm9yXG4vLyBtaXhpbnMgYmVpbmcgcmV1c2VkIGFzIGNsYXNzZXMgd2l0aCB0aGUgc2FtZSBuYW1lLCB0aGlzIGRvZXNuJ3QgaG9sZCB1cC4gQXNcbi8vIG9mIHYzLjAuMSB3ZSBoYXZlIGFkZGVkIGAudGV4dC1oaWRlKClgIGFuZCBkZXByZWNhdGVkIGAuaGlkZS10ZXh0KClgLlxuLy9cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvY29tbWl0L2FhMDM5NmVhZTc1N1xuXG4vLyBEZXByZWNhdGVkIGFzIG9mIHYzLjAuMSAoaGFzIGJlZW4gcmVtb3ZlZCBpbiB2NClcbkBtaXhpbiBoaWRlLXRleHQoKSB7XG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBOZXcgbWl4aW4gdG8gdXNlIGFzIG9mIHYzLjAuMVxuQG1peGluIHRleHQtaGlkZSgpIHtcbiAgQGluY2x1ZGUgaGlkZS10ZXh0O1xufVxuIiwiLy8gT3BhY2l0eVxuXG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eSkge1xuICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgLy8gSUU4IGZpbHRlclxuICAkb3BhY2l0eS1pZTogKCRvcGFjaXR5ICogMTAwKTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PSRvcGFjaXR5LWllKTtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuQG1peGluIGltZy1yZXNwb25zaXZlKCRkaXNwbGF5OiBibG9jaykge1xuICBkaXNwbGF5OiAkZGlzcGxheTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBoZWlnaHQ6IGF1dG87IC8vIFBhcnQgMjogU2NhbGUgdGhlIGhlaWdodCBhY2NvcmRpbmcgdG8gdGhlIHdpZHRoLCBvdGhlcndpc2UgeW91IGdldCBzdHJldGNoaW5nXG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLiBOb3RlIHRoYXQgdGhlXG4vLyBzcGVsbGluZyBvZiBgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvYCBpcyBpbnRlbnRpb25hbC5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWltYWdlLXBhdGgoXCIjeyRmaWxlLTF4fVwiKSwgXCIjeyRmaWxlLTF4fVwiKSk7XG5cbiAgQG1lZGlhXG4gIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtaW1hZ2UtcGF0aChcIiN7JGZpbGUtMnh9XCIpLCBcIiN7JGZpbGUtMnh9XCIpKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG59XG4iLCIvLyBMYWJlbHNcblxuQG1peGluIGxhYmVsLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAmW2hyZWZdIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXG4vL1xuLy8gV2hlbiB5b3UgbmVlZCB0byByZW1vdmUgYSBncmFkaWVudCBiYWNrZ3JvdW5kLCBkbyBub3QgZm9yZ2V0IHRvIHVzZSB0aGlzIHRvIHJlc2V0XG4vLyB0aGUgSUUgZmlsdGVyIGZvciBJRTkgYW5kIGJlbG93LlxuXG5AbWl4aW4gcmVzZXQtZmlsdGVyKCkge1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpO1xufVxuIiwiLy8gUmVzaXplIGFueXRoaW5nXG5cbkBtaXhpbiByZXNpemFibGUoJGRpcmVjdGlvbikge1xuICByZXNpemU6ICRkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG4gIG92ZXJmbG93OiBhdXRvOyAvLyBQZXIgQ1NTMyBVSSwgYHJlc2l6ZWAgb25seSBhcHBsaWVzIHdoZW4gYG92ZXJmbG93YCBpc24ndCBgdmlzaWJsZWBcbn1cbiIsIi8vIFJlc3BvbnNpdmUgdXRpbGl0aWVzXG5cbi8vXG4vLyBNb3JlIGVhc2lseSBpbmNsdWRlIGFsbCB0aGUgc3RhdGVzIGZvciByZXNwb25zaXZlLXV0aWxpdGllcy5sZXNzLlxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCRwYXJlbnQpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZSN7JHBhcmVudH0gIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0ciN7JHBhcmVudH0gICAgIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgjeyRwYXJlbnR9LFxuICB0ZCN7JHBhcmVudH0gICAgIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCRwYXJlbnQpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBTaXppbmcgc2hvcnRjdXRzXG5cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodCkge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG59XG5cbkBtaXhpbiBzcXVhcmUoJHNpemUpIHtcbiAgQGluY2x1ZGUgc2l6ZSgkc2l6ZSwgJHNpemUpO1xufVxuIiwiLy8gV2ViS2l0LXN0eWxlIGZvY3VzXG5cbkBtaXhpbiB0YWItZm9jdXMoKSB7XG4gIC8vIFdlYktpdC1zcGVjaWZpYy4gT3RoZXIgYnJvd3NlcnMgd2lsbCBrZWVwIHRoZWlyIGRlZmF1bHQgb3V0bGluZSBzdHlsZS5cbiAgLy8gKEluaXRpYWxseSB0cmllZCB0byBhbHNvIGZvcmNlIGRlZmF1bHQgdmlhIGBvdXRsaW5lOiBpbml0aWFsYCxcbiAgLy8gYnV0IHRoYXQgc2VlbXMgdG8gZXJyb25lb3VzbHkgcmVtb3ZlIHRoZSBvdXRsaW5lIGluIEZpcmVmb3ggYWx0b2dldGhlci4pXG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCgpIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZS5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cbiIsIi8vIFR5cG9ncmFwaHlcblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gIGEjeyRwYXJlbnR9OmhvdmVyLFxuICBhI3skcGFyZW50fTpmb2N1cyB7XG4gICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIFRleHQgb3ZlcmZsb3dcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtb3ZlcmZsb3coKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gVmVuZG9yIFByZWZpeGVzXG4vL1xuLy8gQWxsIHZlbmRvciBtaXhpbnMgYXJlIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGR1ZSB0byB0aGUgaW50cm9kdWN0aW9uIG9mXG4vLyBBdXRvcHJlZml4ZXIgaW4gb3VyIEdydW50ZmlsZS4gVGhleSBoYXZlIGJlZW4gcmVtb3ZlZCBpbiB2NC5cblxuLy8gLSBBbmltYXRpb25zXG4vLyAtIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIC0gQm94IHNoYWRvd1xuLy8gLSBCb3ggc2l6aW5nXG4vLyAtIENvbnRlbnQgY29sdW1uc1xuLy8gLSBIeXBoZW5zXG4vLyAtIFBsYWNlaG9sZGVyIHRleHRcbi8vIC0gVHJhbnNmb3JtYXRpb25zXG4vLyAtIFRyYW5zaXRpb25zXG4vLyAtIFVzZXIgU2VsZWN0XG5cblxuLy8gQW5pbWF0aW9uc1xuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuICAgICAgIC1vLWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAgICAgICBhbmltYXRpb246ICRhbmltYXRpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUoJG5hbWUpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogJG5hbWU7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6ICRuYW1lO1xufVxuQG1peGluIGFuaW1hdGlvbi1kdXJhdGlvbigkZHVyYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKCR0aW1pbmctZnVuY3Rpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLWRlbGF5KCRkZWxheSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogJGRlbGF5O1xuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogJGRlbGF5O1xufVxuQG1peGluIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQoJGl0ZXJhdGlvbi1jb3VudCkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRpdGVyYXRpb24tY291bnQ7XG4gICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGl0ZXJhdGlvbi1jb3VudDtcbn1cbkBtaXhpbiBhbmltYXRpb24tZGlyZWN0aW9uKCRkaXJlY3Rpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSgkZmlsbC1tb2RlKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGwtbW9kZTtcbiAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbC1tb2RlO1xufVxuXG4vLyBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyBQcmV2ZW50IGJyb3dzZXJzIGZyb20gZmxpY2tlcmluZyB3aGVuIHVzaW5nIENTUyAzRCB0cmFuc2Zvcm1zLlxuLy8gRGVmYXVsdCB2YWx1ZSBpcyBgdmlzaWJsZWAsIGJ1dCBjYW4gYmUgY2hhbmdlZCB0byBgaGlkZGVuYFxuXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xufVxuXG4vLyBEcm9wIHNoYWRvd3Ncbi8vXG4vLyBOb3RlOiBEZXByZWNhdGVkIGAuYm94LXNoYWRvdygpYCBhcyBvZiB2My4xLjAgc2luY2UgYWxsIG9mIEJvb3RzdHJhcCdzXG4vLyBzdXBwb3J0ZWQgYnJvd3NlcnMgdGhhdCBoYXZlIGJveCBzaGFkb3cgY2FwYWJpbGl0aWVzIG5vdyBzdXBwb3J0IGl0LlxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdzsgLy8gaU9TIDw0LjMgJiBBbmRyb2lkIDw0LjFcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG4vLyBCb3ggc2l6aW5nXG5AbWl4aW4gYm94LXNpemluZygkYm94bW9kZWwpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XG4gICAgIC1tb3otYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRib3htb2RlbDtcbn1cblxuLy8gQ1NTMyBDb250ZW50IENvbHVtbnNcbkBtaXhpbiBjb250ZW50LWNvbHVtbnMoJGNvbHVtbi1jb3VudCwgJGNvbHVtbi1nYXA6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgICAgLW1vei1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgICAgICAgY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xuICAgICAtbW96LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xuICAgICAgICAgIGNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xufVxuXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxuQG1peGluIGh5cGhlbnMoJG1vZGU6IGF1dG8pIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6ICRtb2RlO1xuICAgICAtbW96LWh5cGhlbnM6ICRtb2RlO1xuICAgICAgLW1zLWh5cGhlbnM6ICRtb2RlOyAvLyBJRTEwK1xuICAgICAgIC1vLWh5cGhlbnM6ICRtb2RlO1xuICAgICAgICAgIGh5cGhlbnM6ICRtb2RlO1xufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yOiAkaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpIHtcbiAgLy8gRmlyZWZveFxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIG9wYWNpdHk6IDE7IC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2XG4gIH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGNvbG9yOyB9IC8vIEludGVybmV0IEV4cGxvcmVyIDEwK1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICB7IGNvbG9yOiAkY29sb3I7IH0gLy8gU2FmYXJpIGFuZCBDaHJvbWVcbn1cblxuLy8gVHJhbnNmb3JtYXRpb25zXG5AbWl4aW4gc2NhbGUoJHJhdGlvLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xufVxuXG5AbWl4aW4gc2NhbGVYKCRyYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XG59XG5AbWl4aW4gc2NhbGVZKCRyYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XG59XG5AbWl4aW4gc2tldygkeCwgJHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy80ODg1OyBJRTkrXG4gICAgICAgLW8tdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbn1cbkBtaXhpbiB0cmFuc2xhdGUoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbn1cbkBtaXhpbiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xufVxuQG1peGluIHJvdGF0ZSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiByb3RhdGVYKCRkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiByb3RhdGVZKCRkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbn1cbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG4gICAgIC1tb3otcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47IC8vIElFOSBvbmx5XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbn1cblxuXG4vLyBUcmFuc2l0aW9uc1xuXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHRyYW5zaXRpb24tcHJvcGVydHkuLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0cmFuc2l0aW9uLWRlbGF5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdHJhbnNpdGlvbi1kdXJhdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCR0aW1pbmctZnVuY3Rpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRyYW5zZm9ybSgkdHJhbnNpdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG59XG5cblxuLy8gVXNlciBzZWxlY3Rcbi8vIEZvciBzZWxlY3RpbmcgdGV4dCBvbiB0aGUgcGFnZVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdCkge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0OyAvLyBJRTEwK1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuIiwiLy8gQWxlcnRzXG5cbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkdGV4dC1jb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJHRleHQtY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGJvcmRlcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAyNSUpO1xuICB9XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxNyUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDI1JSk7XG4gICAgfVxuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAuYmFkZ2Uge1xuICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cbiIsIi8vIFBhbmVsc1xuXG5AbWl4aW4gcGFuZWwtdmFyaWFudCgkYm9yZGVyLCAkaGVhZGluZy10ZXh0LWNvbG9yLCAkaGVhZGluZy1iZy1jb2xvciwgJGhlYWRpbmctYm9yZGVyKSB7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmID4gLnBhbmVsLWhlYWRpbmcge1xuICAgIGNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGhlYWRpbmctYm9yZGVyO1xuXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJiA+IC5wYW5lbC1mb290ZXIge1xuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICA+IGxpIHtcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYSYsIGJ1dHRvbiYgdG8gYS5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9LCBidXR0b24ubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfVxuICB9XG5cbiAgYS5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9LFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgIH1cbiAgICAmLmFjdGl2ZSxcbiAgICAmLmFjdGl2ZTpob3ZlcixcbiAgICAmLmFjdGl2ZTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAjZTVlNWU1KSB7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG59XG4iLCIvLyBGb3JtIHZhbGlkYXRpb24gc3RhdGVzXG4vL1xuLy8gVXNlZCBpbiBmb3Jtcy5sZXNzIHRvIGdlbmVyYXRlIHRoZSBmb3JtIHZhbGlkYXRpb24gQ1NTIGZvciB3YXJuaW5ncywgZXJyb3JzLFxuLy8gYW5kIHN1Y2Nlc3Nlcy5cblxuQG1peGluIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCR0ZXh0LWNvbG9yOiAjNTU1LCAkYm9yZGVyLWNvbG9yOiAjY2NjLCAkYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNSkge1xuICAvLyBDb2xvciB0aGUgbGFiZWwgYW5kIGhlbHAgdGV4dFxuICAuaGVscC1ibG9jayxcbiAgLmNvbnRyb2wtbGFiZWwsXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94LFxuICAucmFkaW8taW5saW5lLFxuICAuY2hlY2tib3gtaW5saW5lLFxuICAmLnJhZGlvIGxhYmVsLFxuICAmLmNoZWNrYm94IGxhYmVsLFxuICAmLnJhZGlvLWlubGluZSBsYWJlbCxcbiAgJi5jaGVja2JveC1pbmxpbmUgbGFiZWwgIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gIH1cbiAgLy8gU2V0IHRoZSBib3JkZXIgYW5kIGJveCBzaGFkb3cgb24gc3BlY2lmaWMgaW5wdXRzIHRvIG1hdGNoXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTsgLy8gUmVkZWNsYXJlIHNvIHRyYW5zaXRpb25zIHdvcmtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXItY29sb3IsIDEwJSk7XG4gICAgICAkc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDZweCBsaWdodGVuKCRib3JkZXItY29sb3IsIDIwJSk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3cpO1xuICAgIH1cbiAgfVxuICAvLyBTZXQgdmFsaWRhdGlvbiBzdGF0ZXMgYWxzbyBmb3IgYWRkb25zXG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxuICAvLyBPcHRpb25hbCBmZWVkYmFjayBpY29uXG4gIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1ib3JkZXItZm9jdXNgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCRjb2xvcjogJGlucHV0LWJvcmRlci1mb2N1cykge1xuICAkY29sb3ItcmdiYTogcmdiYShyZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpLCAuNik7XG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCAkY29sb3ItcmdiYSk7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIFJlbGF0aXZlIHRleHQgc2l6ZSwgcGFkZGluZywgYW5kIGJvcmRlci1yYWRpaSBjaGFuZ2VzIGZvciBmb3JtIGNvbnRyb2xzLiBGb3Jcbi8vIGhvcml6b250YWwgc2l6aW5nLCB3cmFwIGNvbnRyb2xzIGluIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy4gYDxzZWxlY3Q+YFxuLy8gZWxlbWVudCBnZXRzIHNwZWNpYWwgbG92ZSBiZWNhdXNlIGl0J3Mgc3BlY2lhbCwgYW5kIHRoYXQncyBhIGZhY3QhXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiBpbnB1dC1zaXplKCRwYXJlbnQsICRpbnB1dC1oZWlnaHQsICRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgc2VsZWN0I3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgdGV4dGFyZWEjeyRwYXJlbnR9LFxuICBzZWxlY3RbbXVsdGlwbGVdI3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG4iLCIvLyBQcm9ncmVzcyBiYXJzXG5cbkBtaXhpbiBwcm9ncmVzcy1iYXItdmFyaWFudCgkY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gIC8vIERlcHJlY2F0ZWQgcGFyZW50IGNsYXNzIHJlcXVpcmVtZW50IGFzIG9mIHYzLjIuMFxuICAucHJvZ3Jlc3Mtc3RyaXBlZCAmIHtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkO1xuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlID4gdGhlYWQgPiB0cixcbiAgLnRhYmxlID4gdGJvZHkgPiB0cixcbiAgLnRhYmxlID4gdGZvb3QgPiB0ciB7XG4gICAgPiB0ZC4jeyRzdGF0ZX0sXG4gICAgPiB0aC4jeyRzdGF0ZX0sXG4gICAgJi4jeyRzdGF0ZX0gPiB0ZCxcbiAgICAmLiN7JHN0YXRlfSA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIge1xuICAgID4gdGQuI3skc3RhdGV9OmhvdmVyLFxuICAgID4gdGguI3skc3RhdGV9OmhvdmVyLFxuICAgICYuI3skc3RhdGV9OmhvdmVyID4gdGQsXG4gICAgJjpob3ZlciA+IC4jeyRzdGF0ZX0sXG4gICAgJi4jeyRzdGF0ZX06aG92ZXIgPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG4gIGEjeyRwYXJlbnR9OmhvdmVyLFxuICBhI3skcGFyZW50fTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuIiwiLy8gR3JhZGllbnRzXG5cblxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0xKTsgLy8gSUU5IGFuZCBkb3duXG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBPcGVyYSAxMlxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTApOyAvLyBJRTkgYW5kIGRvd25cbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG59XG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTEpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xufVxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAjNTU1LCAkb3V0ZXItY29sb3I6ICMzMzMpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8vIENsZWFyZml4XG4vL1xuLy8gRm9yIG1vZGVybiBicm93c2Vyc1xuLy8gMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbi8vICAgIGNvbnRlbnRlZGl0YWJsZSBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4vLyAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbi8vICAgIHRoYXQgYXJlIGNsZWFyZml4ZWQuXG4vLyAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuLy8gICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuLy9cbi8vIFNvdXJjZTogaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiOyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxuXG5AbWl4aW4gY2VudGVyLWJsb2NrKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbiIsIi8vIE5hdmJhciB2ZXJ0aWNhbCBhbGlnblxuLy9cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGVsZW1lbnRzIGluIHRoZSBuYXZiYXIuXG4vLyBFeGFtcGxlOiBhbiBlbGVtZW50IGhhcyBhIGhlaWdodCBvZiAzMHB4LCBzbyB3cml0ZSBvdXQgYC5uYXZiYXItdmVydGljYWwtYWxpZ24oMzBweCk7YCB0byBjYWxjdWxhdGUgdGhlIGFwcHJvcHJpYXRlIHRvcCBtYXJnaW4uXG5cbkBtaXhpbiBuYXZiYXItdmVydGljYWwtYWxpZ24oJGVsZW1lbnQtaGVpZ2h0KSB7XG4gIG1hcmdpbi10b3A6ICgoJG5hdmJhci1oZWlnaHQgLSAkZWxlbWVudC1oZWlnaHQpIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICgoJG5hdmJhci1oZWlnaHQgLSAkZWxlbWVudC1oZWlnaHQpIC8gMik7XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRpOiAxLCAkbGlzdDogXCIuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9XCIpIHtcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkbGlzdDogXCIjeyRsaXN0fSwgLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICAgIHBhZGRpbmctbGVmdDogIGNlaWwoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICB9XG59XG5cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBmbG9hdC1ncmlkLWNvbHVtbnMoJGNsYXNzLCAkaTogMSwgJGxpc3Q6IFwiLmNvbC0jeyRjbGFzc30tI3skaX1cIikge1xuICBAZm9yICRpIGZyb20gKDEgKyAxKSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICRsaXN0OiBcIiN7JGxpc3R9LCAuY29sLSN7JGNsYXNzfS0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5cbkBtaXhpbiBjYWxjLWdyaWQtY29sdW1uKCRpbmRleCwgJGNsYXNzLCAkdHlwZSkge1xuICBAaWYgKCR0eXBlID09IHdpZHRoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS0jeyRpbmRleH0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdXNoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLSN7JGluZGV4fSB7XG4gICAgICBsZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1c2gtMCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1bGwpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtI3skaW5kZXh9IHtcbiAgICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVsbCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtMCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBvZmZzZXQpIHtcbiAgICAuY29sLSN7JGNsYXNzfS1vZmZzZXQtI3skaW5kZXh9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gbG9vcC1ncmlkLWNvbHVtbnMoJGNvbHVtbnMsICRjbGFzcywgJHR5cGUpIHtcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgQGluY2x1ZGUgY2FsYy1ncmlkLWNvbHVtbigkaSwgJGNsYXNzLCAkdHlwZSk7XG4gIH1cbn1cblxuXG4vLyBDcmVhdGUgZ3JpZCBmb3Igc3BlY2lmaWMgY2xhc3NcbkBtaXhpbiBtYWtlLWdyaWQoJGNsYXNzKSB7XG4gIEBpbmNsdWRlIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHdpZHRoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdWxsKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdXNoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBvZmZzZXQpO1xufVxuIiwiLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG5AbWl4aW4gY29udGFpbmVyLWZpeGVkKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6ICBmbG9vcigoJGd1dHRlciAvIDIpKTtcbiAgcGFkZGluZy1yaWdodDogY2VpbCgoJGd1dHRlciAvIDIpKTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8vIENyZWF0ZXMgYSB3cmFwcGVyIGZvciBhIHNlcmllcyBvZiBjb2x1bW5zXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1sZWZ0OiAgY2VpbCgoJGd1dHRlciAvIC0yKSk7XG4gIG1hcmdpbi1yaWdodDogZmxvb3IoKCRndXR0ZXIgLyAtMikpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIGV4dHJhIHNtYWxsIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXhzLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXNtLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIG1lZGl1bSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBsYXJnZSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4iLCIvL1xuLy8gR3JpZCBzeXN0ZW1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuLmNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lci1maXhlZDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci1zbTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci1tZDtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci1sZztcbiAgfVxufVxuXG5cbi8vIEZsdWlkIGNvbnRhaW5lclxuLy9cbi8vIFV0aWxpemVzIHRoZSBtaXhpbiBtZWFudCBmb3IgZml4ZWQgd2lkdGggY29udGFpbmVycywgYnV0IHdpdGhvdXQgYW55IGRlZmluZWRcbi8vIHdpZHRoIGZvciBmbHVpZCwgZnVsbCB3aWR0aCBsYXlvdXRzLlxuXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgQGluY2x1ZGUgY29udGFpbmVyLWZpeGVkO1xufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiBhbmQgY2xlYXIgdGhlIGZsb2F0cyBvZiB5b3VyIGNvbHVtbnMuXG5cbi5yb3cge1xuICBAaW5jbHVkZSBtYWtlLXJvdztcbn1cblxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucztcblxuXG4vLyBFeHRyYSBzbWFsbCBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIGV4dHJhIHNtYWxsIGRldmljZXMgbGlrZVxuLy8gc21hcnRwaG9uZXMuXG5cbkBpbmNsdWRlIG1ha2UtZ3JpZCh4cyk7XG5cblxuLy8gU21hbGwgZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgc21hbGwgZGV2aWNlIHJhbmdlLCBmcm9tIHBob25lc1xuLy8gdG8gdGFibGV0cy5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZChzbSk7XG59XG5cblxuLy8gTWVkaXVtIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIGRlc2t0b3AgZGV2aWNlIHJhbmdlLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkKG1kKTtcbn1cblxuXG4vLyBMYXJnZSBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBsYXJnZSBkZXNrdG9wIGRldmljZSByYW5nZS5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZChsZyk7XG59XG4iLCIvLyBFbWJlZHMgcmVzcG9uc2l2ZVxuLy9cbi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLy8gTW9kaWZpZXIgY2xhc3MgZm9yIDE2OjkgYXNwZWN0IHJhdGlvXG4uZW1iZWQtcmVzcG9uc2l2ZS0xNmJ5OSB7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi8vIE1vZGlmaWVyIGNsYXNzIGZvciA0OjMgYXNwZWN0IHJhdGlvXG4uZW1iZWQtcmVzcG9uc2l2ZS00YnkzIHtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbn1cbiIsIi8vXG4vLyBVdGlsaXR5IGNsYXNzZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gRmxvYXRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuLmNlbnRlci1ibG9jayB7XG4gIEBpbmNsdWRlIGNlbnRlci1ibG9jaztcbn1cbi5wdWxsLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG4ucHVsbC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuXG4vLyBUb2dnbGluZyBjb250ZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLmhpZGUgaW4gZmF2b3Igb2YgLmhpZGRlbiBvciAuc3Itb25seSAoYXMgYXBwcm9wcmlhdGUpIGluIHYzLjAuMVxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZTtcbn1cblxuXG4vLyBIaWRlIGZyb20gc2NyZWVucmVhZGVycyBhbmQgYnJvd3NlcnNcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gRm9yIEFmZml4IHBsdWdpblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWZmaXgge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG4iLCIvL1xuLy8gUmVzcG9uc2l2ZTogVXRpbGl0eSBjbGFzc2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIElFMTAgaW4gV2luZG93cyAoUGhvbmUpIDhcbi8vXG4vLyBTdXBwb3J0IGZvciByZXNwb25zaXZlIHZpZXdzIHZpYSBtZWRpYSBxdWVyaWVzIGlzIGtpbmQgb2YgYm9ya2VkIGluIElFMTAsIGZvclxuLy8gU3VyZmFjZS9kZXNrdG9wIGluIHNwbGl0IHZpZXcgYW5kIGZvciBXaW5kb3dzIFBob25lIDguIFRoaXMgcGFydGljdWxhciBmaXhcbi8vIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgYSBzbmlwcGV0IG9mIEphdmFTY3JpcHQgdG8gc25pZmYgdGhlIHVzZXIgYWdlbnQgYW5kXG4vLyBhcHBseSBzb21lIGNvbmRpdGlvbmFsIENTUyB0byAqb25seSogdGhlIFN1cmZhY2UvZGVza3RvcCBXaW5kb3dzIDguIExvb2sgYXRcbi8vIG91ciBHZXR0aW5nIFN0YXJ0ZWQgcGFnZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzIGJ1Zy5cbi8vXG4vLyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBmb2xsb3dpbmc6XG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTA0OTdcbi8vIERvY3M6IGh0dHA6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jc3VwcG9ydC1pZTEwLXdpZHRoXG4vLyBTb3VyY2U6IGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTMvMDEvd2luZG93cy1waG9uZS04LWFuZC1kZXZpY2Utd2lkdGgvXG4vLyBTb3VyY2U6IGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTIvMTAvaWUxMC1zbmFwLW1vZGUtYW5kLXJlc3BvbnNpdmUtZGVzaWduL1xuXG5AYXQtcm9vdCB7XG4gIEAtbXMtdmlld3BvcnQge1xuICAgIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG4gIH1cbn1cblxuXG4vLyBWaXNpYmlsaXR5IHV0aWxpdGllc1xuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS14cywgLnZpc2libGUtc20sIC52aXNpYmxlLW1kLCBhbmQgLnZpc2libGUtbGcgYXMgb2YgdjMuMi4wXG5cbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS14cycpO1xuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXNtJyk7XG5AaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLnZpc2libGUtbWQnKTtcbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1sZycpO1xuXG4udmlzaWJsZS14cy1ibG9jayxcbi52aXNpYmxlLXhzLWlubGluZSxcbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayxcbi52aXNpYmxlLXNtLWJsb2NrLFxuLnZpc2libGUtc20taW5saW5lLFxuLnZpc2libGUtc20taW5saW5lLWJsb2NrLFxuLnZpc2libGUtbWQtYmxvY2ssXG4udmlzaWJsZS1tZC1pbmxpbmUsXG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1sZy1ibG9jayxcbi52aXNpYmxlLWxnLWlubGluZSxcbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUteHMnKTtcbn1cbi52aXNpYmxlLXhzLWJsb2NrIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUteHMtaW5saW5lIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtc20nKTtcbn1cbi52aXNpYmxlLXNtLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1zbS1pbmxpbmUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtbWQnKTtcbn1cbi52aXNpYmxlLW1kLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1tZC1pbmxpbmUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJy52aXNpYmxlLWxnJyk7XG59XG4udmlzaWJsZS1sZy1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1sZy1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4teHMnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tc20nKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tbWQnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcuaGlkZGVuLWxnJyk7XG59XG5cblxuLy8gUHJpbnQgdXRpbGl0aWVzXG4vL1xuLy8gTWVkaWEgcXVlcmllcyBhcmUgcGxhY2VkIG9uIHRoZSBpbnNpZGUgdG8gYmUgbWl4aW4tZnJpZW5kbHkuXG5cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLnZpc2libGUtcHJpbnQgYXMgb2YgdjMuMi4wXG5cbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1wcmludCcpO1xuXG5AbWVkaWEgcHJpbnQge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJy52aXNpYmxlLXByaW50Jyk7XG59XG4udmlzaWJsZS1wcmludC1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1wcmludC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1wcmludCcpO1xufVxuIiwiLnNlbGVjdDItY29udGFpbmVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gIEBpbXBvcnQgXCJzaW5nbGVcIjtcbiAgQGltcG9ydCBcIm11bHRpcGxlXCI7XG59XG5cbkBpbXBvcnQgXCJkcm9wZG93blwiO1xuXG4uc2VsZWN0Mi1jbG9zZS1tYXNrIHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiA5OTtcblxuICAvLyBzdHlsZXMgcmVxdWlyZWQgZm9yIElFIHRvIHdvcmtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG59XG5cbi5zZWxlY3QyLWhpZGRlbi1hY2Nlc3NpYmxlIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xufVxuXG5AaW1wb3J0IFwidGhlbWUvZGVmYXVsdC9sYXlvdXRcIjtcbkBpbXBvcnQgXCJ0aGVtZS9jbGFzc2ljL2xheW91dFwiO1xuIiwiLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgaGVpZ2h0OiAyOHB4O1xuXG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuJltkaXI9XCJydGxcIl0ge1xuICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgfVxuICB9XG59XG4iLCIuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIG1pbi1oZWlnaHQ6IDMycHg7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxufVxuXG4uc2VsZWN0Mi1zZWFyY2gtLWlubGluZSB7XG4gIGZsb2F0OiBsZWZ0O1xuXG4gIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLnNlbGVjdDItZHJvcGRvd24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICBkaXNwbGF5OiBibG9jaztcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xMDAwMDBweDtcblxuICB3aWR0aDogMTAwJTtcblxuICB6LWluZGV4OiAxMDUxO1xufVxuXG4uc2VsZWN0Mi1yZXN1bHRzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gIHBhZGRpbmc6IDZweDtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblxuICAmW2FyaWEtc2VsZWN0ZWRdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgbGVmdDogMDtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLWRyb3Bkb3duLS1hYm92ZSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4uc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItZHJvcGRvd24tLWJlbG93IHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG5cbi5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNHB4O1xuXG4gIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5zZWxlY3QyLXNlYXJjaC0taGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHtcbiAgQGltcG9ydCBcInNpbmdsZVwiO1xuICBAaW1wb3J0IFwibXVsdGlwbGVcIjtcblxuICAmLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSB7XG4gICAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUsIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxuXG4gICYuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWJlbG93IHtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSwgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgfVxuICB9XG5cbiAgLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93biB7XG4gICAgLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIHtcbiAgICAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICB9XG4gIH1cblxuICAuc2VsZWN0Mi1yZXN1bHRzID4gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuXG4gIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgJltyb2xlPWdyb3VwXSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICZbYXJpYS1kaXNhYmxlZD10cnVlXSB7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICB9XG5cbiAgICAmW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XG5cbiAgICAgIC5zZWxlY3QyLXJlc3VsdHNfX2dyb3VwIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyZW07XG5cbiAgICAgICAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNlbTtcblxuICAgICAgICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTNlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNGVtO1xuXG4gICAgICAgICAgICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTRlbTtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1ZW07XG5cbiAgICAgICAgICAgICAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTVlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDZlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1ODk3ZmI7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgLnNlbGVjdDItcmVzdWx0c19fZ3JvdXAge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA2cHg7XG4gIH1cbn1cbiIsIi5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgIGNvbG9yOiAjNDQ0O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjOTk5O1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgaGVpZ2h0OiAyNnB4O1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgdG9wOiAxcHg7XG4gICAgcmlnaHQ6IDFweDtcblxuICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgYiB7XG4gICAgICBib3JkZXItY29sb3I6ICM4ODggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiA1cHggNHB4IDAgNHB4O1xuXG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG5cbiAgICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTJweDtcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG4mW2Rpcj1cInJ0bFwiXSB7XG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgICAgbGVmdDogMXB4O1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbiYuc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkIHtcbiAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4mLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIHtcbiAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgICAgYiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzg4OCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDRweCA1cHggNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogdGV4dDtcblxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzk5OTtcblxuICAgIG1hcmdpbi10b3A6IDVweDtcblxuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNGU0ZTQ7XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBmbG9hdDogbGVmdDtcblxuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgfVxuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgIG1hcmdpbi1yaWdodDogMnB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogIzMzMztcbiAgICB9XG4gIH1cbn1cblxuJltkaXI9XCJydGxcIl0ge1xuICAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSwgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciwgLnNlbGVjdDItc2VhcmNoLS1pbmxpbmUge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4mLnNlbGVjdDItY29udGFpbmVyLS1mb2N1cyB7XG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICAgIGJvcmRlcjogc29saWQgYmxhY2sgMXB4O1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuJi5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQge1xuICAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJkZWZhdWx0c1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9ncmFkaWVudHNcIjtcblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIHtcbiAgQGltcG9ydCBcInNpbmdsZVwiO1xuICBAaW1wb3J0IFwibXVsdGlwbGVcIjtcblxuICAuc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIHtcbiAgICAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIHtcbiAgICAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmctY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAuc2VsZWN0Mi1kcm9wZG93bi0tYWJvdmUge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cblxuICAuc2VsZWN0Mi1kcm9wZG93bi0tYmVsb3cge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gIH1cblxuICAuc2VsZWN0Mi1yZXN1bHRzID4gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XG4gICAgbWF4LWhlaWdodDogJHJlc3VsdHMtbWF4LWhlaWdodDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG5cbiAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICAmW3JvbGU9Z3JvdXBdIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJlthcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgICAgIGNvbG9yOiAkcmVzdWx0cy1jaG9pY2UtZmctdW5zZWxlY3RhYmxlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZXN1bHRzLWNob2ljZS1iZy1ob3Zlci1jb2xvcjtcbiAgICBjb2xvcjogJHJlc3VsdHMtY2hvaWNlLWZnLWhvdmVyLWNvbG9yO1xuICB9XG5cbiAgLnNlbGVjdDItcmVzdWx0c19fZ3JvdXAge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA2cHg7XG4gIH1cblxuICAmLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgICBib3JkZXItY29sb3I6ICRmb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cbn1cbiIsIiRyZW1vdmUtY29sb3I6ICM4ODggIWRlZmF1bHQ7XG4kcmVtb3ZlLWhvdmVyLWNvbG9yOiAjNTU1ICFkZWZhdWx0O1xuJHJlbW92ZS13aWR0aDogMjBweCAhZGVmYXVsdDtcblxuJHNlbGVjdGlvbi1jb2xvcjogIzQ0NCAhZGVmYXVsdDtcblxuJGJvcmRlci1jb2xvcjogI2FhYSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzOiA0cHggIWRlZmF1bHQ7XG5cbiRmb2N1cy1ib3JkZXItY29sb3I6ICM1ODk3ZmIgIWRlZmF1bHQ7XG5cbiRjb250YWluZXItaGVpZ2h0OiAyOHB4ICFkZWZhdWx0O1xuXG4kc2VsZWN0aW9uLWJnLXRvcC1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kc2VsZWN0aW9uLWJnLWJvdHRvbS1jb2xvcjogI2VlZWVlZSAhZGVmYXVsdDtcblxuJGNvbnRhaW5lci1wbGFjZWhvbGRlci1jb2xvcjogIzk5OSAhZGVmYXVsdDtcblxuJGNvbnRhaW5lci1mb2N1cy1ib3JkZXItY29sb3I6IGJsdWUgIWRlZmF1bHQ7XG5cbiRzZWxlY3Rpb24tb3BlbmVkLWJnLXRvcC1jb2xvcjogJHNlbGVjdGlvbi1iZy1ib3R0b20tY29sb3IgIWRlZmF1bHQ7XG4kc2VsZWN0aW9uLW9wZW5lZC1iZy1ib3R0b20tY29sb3I6ICRzZWxlY3Rpb24tYmctdG9wLWNvbG9yICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tei1pbmRleDogMSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWJnLWNvbG9yOiAkc2VsZWN0aW9uLWJnLXRvcC1jb2xvciAhZGVmYXVsdDtcblxuJHJlc3VsdHMtbWF4LWhlaWdodDogMjAwcHggIWRlZmF1bHQ7XG4kcmVzdWx0cy1uZXN0ZWQtcGFkZGluZzogMjBweCAhZGVmYXVsdDtcblxuJHJlc3VsdHMtY2hvaWNlLWJnLWhvdmVyLWNvbG9yOiAjMzg3NWQ3ICFkZWZhdWx0O1xuJHJlc3VsdHMtY2hvaWNlLWZnLWhvdmVyLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcblxuJHJlc3VsdHMtY2hvaWNlLWZnLXVuc2VsZWN0YWJsZS1jb2xvcjogZ3JleSAhZGVmYXVsdDtcbiIsIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC1zYXNzL2Jsb2IvMy4zLXN0YWJsZS9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fZ3JhZGllbnRzLnNjc3MjTDE3LUwyN1xuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAgLy8gT3BlcmEgMTJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duXG59XG4iLCIuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IG1peCgkc2VsZWN0aW9uLWJnLXRvcC1jb2xvciwgJHNlbGVjdGlvbi1iZy1ib3R0b20tY29sb3IpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuXG4gIG91dGxpbmU6IDA7XG5cbiAgQGluY2x1ZGUgZ3JhZGllbnQtdmVydGljYWwoJHNlbGVjdGlvbi1iZy10b3AtY29sb3IsICRzZWxlY3Rpb24tYmctYm90dG9tLWNvbG9yLCA1MCUsIDEwMCUpO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRmb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBjb2xvcjogIzQ0NDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgfVxuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM5OTk7XG4gIH1cblxuICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuXG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuXG4gICAgaGVpZ2h0OiAyNnB4O1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgdG9wOiAxcHg7XG4gICAgcmlnaHQ6IDFweDtcblxuICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtdmVydGljYWwoI2VlZWVlZSwgI2NjY2NjYywgNTAlLCAxMDAlKTtcblxuICAgIGIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjODg4IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogNXB4IDRweCAwIDRweDtcblxuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbGVmdDogNTAlO1xuXG4gICAgICBtYXJnaW4tbGVmdDogLTRweDtcbiAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgdG9wOiA1MCU7XG4gICAgICB3aWR0aDogMDtcbiAgICB9XG4gIH1cbn1cblxuJltkaXI9XCJydGxcIl0ge1xuICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG5cbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuXG4gICAgICBsZWZ0OiAxcHg7XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuJi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiB7XG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZm9jdXMtYm9yZGVyLWNvbG9yO1xuXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICBiIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjODg4IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgNHB4IDVweCA0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zZWxlY3QyLWNvbnRhaW5lci0tYWJvdmUge1xuICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG5cbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LXZlcnRpY2FsKCRzZWxlY3Rpb24tb3BlbmVkLWJnLWJvdHRvbS1jb2xvciwgJHNlbGVjdGlvbi1vcGVuZWQtYmctdG9wLWNvbG9yLCAwJSwgNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyB7XG4gICAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcblxuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtdmVydGljYWwoJHNlbGVjdGlvbi1vcGVuZWQtYmctdG9wLWNvbG9yLCAkc2VsZWN0aW9uLW9wZW5lZC1iZy1ib3R0b20tY29sb3IsIDUwJSwgMTAwJSk7XG4gICAgfVxuICB9XG59XG4iLCIuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cbiAgY3Vyc29yOiB0ZXh0O1xuXG4gIG91dGxpbmU6IDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGZvY3VzLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcblxuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gICAgY29sb3I6ICRyZW1vdmUtY29sb3I7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkcmVtb3ZlLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4mW2Rpcj1cInJ0bFwiXSB7XG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuJi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiB7XG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRmb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSB7XG4gICAgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxuXG4gICYuc2VsZWN0Mi1jb250YWluZXItLWJlbG93IHtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIERlZmF1bHQgVmFyaWFibGVzXG5cbi8vIFNsaWNrIGljb24gZW50aXR5IGNvZGVzIG91dHB1dHMgdGhlIGZvbGxvd2luZ1xuLy8gXCJcXDIxOTBcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGkFwiXG4vLyBcIlxcMjE5MlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaSXCJcbi8vIFwiXFwyMDIyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLigKJcIlxuXG4kc2xpY2stZm9udC1wYXRoOiBcIi4vZm9udHMvXCIgIWRlZmF1bHQ7XG4kc2xpY2stZm9udC1mYW1pbHk6IFwic2xpY2tcIiAhZGVmYXVsdDtcbiRzbGljay1sb2FkZXItcGF0aDogXCIuL1wiICFkZWZhdWx0O1xuJHNsaWNrLWFycm93LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU6ICRzbGljay1kb3QtY29sb3IgIWRlZmF1bHQ7XG4kc2xpY2stcHJldi1jaGFyYWN0ZXI6IFwiXFwyMTkwXCIgIWRlZmF1bHQ7XG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6IFwiXFwyMTkyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNoYXJhY3RlcjogXCJcXDIwMjJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3Qtc2l6ZTogNnB4ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktZGVmYXVsdDogMC43NSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW9uLWhvdmVyOiAxICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC4yNSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIHNsaWNrLWltYWdlLXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhpbWFnZS11cmwpIHtcbiAgICAgICAgQHJldHVybiBpbWFnZS11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWxvYWRlci1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG5AZnVuY3Rpb24gc2xpY2stZm9udC11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoZm9udC11cmwpIHtcbiAgICAgICAgQHJldHVybiBmb250LXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stZm9udC1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG4vKiBTbGlkZXIgKi9cblxuLnNsaWNrLWxpc3Qge1xuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmIHNsaWNrLWltYWdlLXVybChcImFqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICB9XG59XG5cbi8qIEljb25zICovXG5AaWYgJHNsaWNrLWZvbnQtZmFtaWx5ID09IFwic2xpY2tcIiB7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3RcIik7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cbn1cblxuLyogQXJyb3dzICovXG5cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjb2xvcjogJHNsaWNrLWFycm93LWNvbG9yO1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG59XG5cbi5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTI1cHg7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0yNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IC0yNXB4O1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIERvdHMgKi9cblxuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMjVweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogJHNsaWNrLWRvdC1jaGFyYWN0ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2xpY2stZG90LXNpemU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG4vKiFcbiAqIEhhbWJ1cmdlcnNcbiAqIEBkZXNjcmlwdGlvbiBUYXN0eSBDU1MtYW5pbWF0ZWQgaGFtYnVyZ2Vyc1xuICogQGF1dGhvciBKb25hdGhhbiBTdWggQGpvbnN1aFxuICogQHNpdGUgaHR0cHM6Ly9qb25zdWguY29tL2hhbWJ1cmdlcnNcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zdWgvaGFtYnVyZ2Vyc1xuICovXG5cbi8vIFNldHRpbmdzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGhhbWJ1cmdlci1wYWRkaW5nLXggICAgICAgICAgICAgICAgICAgICAgIDogMTVweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItcGFkZGluZy15ICAgICAgICAgICAgICAgICAgICAgICA6IDE1cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLXdpZHRoICAgICAgICAgICAgICAgICAgICAgOiA0MHB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgICAgICAgICAgICAgICAgICAgIDogNHB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICAgICAgICAgICAgICAgICAgIDogNnB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1jb2xvciAgICAgICAgICAgICAgICAgICAgIDogIzAwMCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICA6IDRweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItb3BhY2l0eSAgICAgICAgICAgICAgICAgICA6IDAuNyAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItdHJhbnNpdGlvbi1kdXJhdGlvbiAgICAgICA6IDAuMTVzICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ob3Zlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFkZWZhdWx0O1xuXG4vLyBUbyB1c2UgQ1NTIGZpbHRlcnMgYXMgdGhlIGhvdmVyIGVmZmVjdCBpbnN0ZWFkIG9mIG9wYWNpdHksXG4vLyBzZXQgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyIGFzIHRydWUgYW5kXG4vLyBjaGFuZ2UgdGhlIHZhbHVlIG9mICRoYW1idXJnZXItaG92ZXItZmlsdGVyIGFjY29yZGluZ2x5LlxuJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyOiBmYWxzZSAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItZmlsdGVyICAgIDogb3BhY2l0eSg1MCUpICFkZWZhdWx0O1xuXG4vLyBUeXBlcyAoUmVtb3ZlIG9yIGNvbW1lbnQgb3V0IHdoYXQgeW91IGRvbuKAmXQgbmVlZClcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kaGFtYnVyZ2VyLXR5cGVzOiAoXG4gIDNkeCxcbiAgM2R4LXIsXG4gIDNkeSxcbiAgM2R5LXIsXG4gIGFycm93LFxuICBhcnJvdy1yLFxuICBhcnJvd2FsdCxcbiAgYXJyb3dhbHQtcixcbiAgYm9yaW5nLFxuICBjb2xsYXBzZSxcbiAgY29sbGFwc2UtcixcbiAgZWxhc3RpYyxcbiAgZWxhc3RpYy1yLFxuICBlbXBoYXRpYyxcbiAgZW1waGF0aWMtcixcbiAgc2xpZGVyLFxuICBzbGlkZXItcixcbiAgc3BpbixcbiAgc3Bpbi1yLFxuICBzcHJpbmcsXG4gIHNwcmluZy1yLFxuICBzdGFuZCxcbiAgc3RhbmQtcixcbiAgc3F1ZWV6ZSxcbiAgdm9ydGV4LFxuICB2b3J0ZXgtclxuKSAhZGVmYXVsdDtcblxuLy8gQmFzZSBIYW1idXJnZXIgKFdlIG5lZWQgdGhpcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AaW1wb3J0IFwiYmFzZVwiO1xuXG4vLyBIYW1idXJnZXIgdHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AaW1wb3J0IFwidHlwZXMvM2R4XCI7XG5AaW1wb3J0IFwidHlwZXMvM2R4LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHlcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHktclwiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93XCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3ctclwiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93YWx0XCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3dhbHQtclwiO1xuQGltcG9ydCBcInR5cGVzL2JvcmluZ1wiO1xuQGltcG9ydCBcInR5cGVzL2NvbGxhcHNlXCI7XG5AaW1wb3J0IFwidHlwZXMvY29sbGFwc2UtclwiO1xuQGltcG9ydCBcInR5cGVzL2VsYXN0aWNcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbGFzdGljLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbXBoYXRpY1wiO1xuQGltcG9ydCBcInR5cGVzL2VtcGhhdGljLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zbGlkZXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zbGlkZXItclwiO1xuQGltcG9ydCBcInR5cGVzL3NwcmluZ1wiO1xuQGltcG9ydCBcInR5cGVzL3NwcmluZy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvc3RhbmRcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zdGFuZC1yXCI7XG5AaW1wb3J0IFwidHlwZXMvc3BpblwiO1xuQGltcG9ydCBcInR5cGVzL3NwaW4tclwiO1xuQGltcG9ydCBcInR5cGVzL3NxdWVlemVcIjtcbkBpbXBvcnQgXCJ0eXBlcy92b3J0ZXhcIjtcbkBpbXBvcnQgXCJ0eXBlcy92b3J0ZXgtclwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29va2luZyB1cCBhZGRpdGlvbmFsIHR5cGVzOlxuLy9cbi8vIFRoZSBTYXNzIGZvciBlYWNoIGhhbWJ1cmdlciB0eXBlIHNob3VsZCBiZSBuZXN0ZWRcbi8vIGluc2lkZSBhbiBAaWYgZGlyZWN0aXZlIHRvIGNoZWNrIHdoZXRoZXIgb3Igbm90XG4vLyBpdCBleGlzdHMgaW4gJGhhbWJ1cmdlci10eXBlcyBzbyBvbmx5IHRoZSBDU1MgZm9yXG4vLyBpbmNsdWRlZCB0eXBlcyBhcmUgZ2VuZXJhdGVkLlxuLy9cbi8vIGUuZy4gaGFtYnVyZ2Vycy90eXBlcy9fbmV3LXR5cGUuc2Nzc1xuLy9cbi8vIEBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBuZXctdHlwZSkge1xuLy8gICAuaGFtYnVyZ2VyLS1uZXctdHlwZSB7XG4vLyAgICAgLi4uXG4vLyAgIH1cbi8vIH1cbiIsIi8vIEhhbWJ1cmdlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5oYW1idXJnZXIge1xuICBwYWRkaW5nOiAkaGFtYnVyZ2VyLXBhZGRpbmcteSAkaGFtYnVyZ2VyLXBhZGRpbmcteDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkaGFtYnVyZ2VyLWhvdmVyLXRyYW5zaXRpb24tZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkaGFtYnVyZ2VyLWhvdmVyLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uO1xuXG4gIC8vIE5vcm1hbGl6ZSAoPGJ1dHRvbj4pXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAmOmhvdmVyIHtcbiAgICBAaWYgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyID09IHRydWUge1xuICAgICAgZmlsdGVyOiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgb3BhY2l0eTogJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG4uaGFtYnVyZ2VyLWJveCB7XG4gIHdpZHRoOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoO1xuICBoZWlnaHQ6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMyArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaGFtYnVyZ2VyLWlubmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIC0yO1xuXG4gICYsXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoO1xuICAgIGhlaWdodDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1sYXllci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkaGFtYnVyZ2VyLWxheWVyLWJvcmRlci1yYWRpdXM7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgfVxuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xO1xuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgM2R4KSB7XG4gIC8qXG4gICAqIDNEWFxuICAgKi9cbiAgLmhhbWJ1cmdlci0tM2R4IHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBwZXJzcGVjdGl2ZTogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgM2R4LXIpIHtcbiAgLypcbiAgICogM0RYIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLTNkeC1yIHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBwZXJzcGVjdGl2ZTogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTE4MGRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIDNkeSkge1xuICAvKlxuICAgKiAzRFlcbiAgICovXG4gIC5oYW1idXJnZXItLTNkeSB7XG4gICAgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgcGVyc3BlY3RpdmU6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKC0xODBkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZywgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZykgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCAzZHktcikge1xuICAvKlxuICAgKiAzRFkgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tM2R5LXIge1xuICAgIC5oYW1idXJnZXItYm94IHtcbiAgICAgIHBlcnNwZWN0aXZlOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZywgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZykgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBhcnJvdykge1xuICAvKlxuICAgKiBBcnJvd1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tYXJyb3cuaXMtYWN0aXZlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjIsIDAsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTAuMiwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGFycm93LXIpIHtcbiAgLypcbiAgICogQXJyb3cgUmlnaHRcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93LXIuaXMtYWN0aXZlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMiwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMiwgMCwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBhcnJvd2FsdCkge1xuICAvKlxuICAgKiBBcnJvdyBBbHRcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93YWx0IHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMC4yNSwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIDAuMXMgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAwLjI1LCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYXJyb3dhbHQtcikge1xuICAvKlxuICAgKiBBcnJvdyBBbHQgUmlnaHRcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93YWx0LXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMC4yLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTAuMjUsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIDAuMXMgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMjUsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYm9yaW5nKSB7XG4gIC8qXG4gICAqIEJvcmluZ1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tYm9yaW5nIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICYsXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgY29sbGFwc2UpIHtcbiAgLypcbiAgICogQ29sbGFwc2VcbiAgICovXG4gIC5oYW1idXJnZXItLWNvbGxhcHNlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTNzO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xM3M7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMiArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKiAtMTtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjEycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgMC4yMnMgbGluZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE2cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIDAuMjVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgY29sbGFwc2Utcikge1xuICAvKlxuICAgKiBDb2xsYXBzZSBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZS1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTNzO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xM3M7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMiArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKiAtMTtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjEycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMSwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4yMnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyAwLjIycyBsaW5lYXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyAwLjI1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGVsYXN0aWMpIHtcbiAgLypcbiAgICogRWxhc3RpY1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tZWxhc3RpYyB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gMjtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjc1cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZztcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjEyNXMgMC4yNzVzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjc1cyBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJHktb2Zmc2V0OiAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCwgMCkgcm90YXRlKDEzNWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDc1cztcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQgKiAtMiwgMCkgcm90YXRlKC0yNzBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDc1cztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGVsYXN0aWMtcikge1xuICAvKlxuICAgKiBFbGFzdGljIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLWVsYXN0aWMtciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gMjtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjc1cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZztcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjEyNXMgMC4yNzVzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjc1cyBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJHktb2Zmc2V0OiAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCwgMCkgcm90YXRlKC0xMzVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA3NXM7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0ICogLTIsIDApIHJvdGF0ZSgyNzBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDc1cztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGVtcGhhdGljKSB7XG4gIC8qXG4gICAqIEVtcGhhdGljXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1lbXBoYXRpYyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjEyNXMgY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpLFxuICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgbGVmdCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xMjVzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSxcbiAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0IDAuMTI1cyAwLjE3NXMgZWFzZS1pbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDIsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjEyNXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTI1cyAwLjE3NXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDIsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuMTI1cyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xMjVzIDAuMTc1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGVtcGhhdGljLXIpIHtcbiAgLypcbiAgICogRW1waGF0aWMgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tZW1waGF0aWMtciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjEyNXMgY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpLFxuICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgbGVmdCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xMjVzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSxcbiAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0IDAuMTI1cyAwLjE3NXMgZWFzZS1pbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTIsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGxlZnQgMC4xMjVzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEyNXMgMC4xNzVzIGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuMTI1cyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xMjVzIDAuMTc1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNsaWRlcikge1xuICAvKlxuICAgKiBTbGlkZXJcbiAgICovXG4gIC5oYW1idXJnZXItLXNsaWRlciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gMjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZztcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJHktb2Zmc2V0OiAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCwgMCkgcm90YXRlKDQ1ZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAvIC03LCAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAtMSwgMCk7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCAqIC0yLCAwKSByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNsaWRlci1yKSB7XG4gIC8qXG4gICAqIFNsaWRlciBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zbGlkZXItciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gMjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZztcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJHktb2Zmc2V0OiAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCwgMCkgcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAvIDcsICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIC0xLCAwKTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0ICogLTIsIDApIHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzcHJpbmcpIHtcbiAgLypcbiAgICogU3ByaW5nXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zcHJpbmcge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIDI7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMTNzIGxpbmVhcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZztcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjIycztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyAwLjIycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0LCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIDAuMjJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc3ByaW5nLXIpIHtcbiAgLypcbiAgICogU3ByaW5nIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLXNwcmluZy1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTNzO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMiArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKiAtMTtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMHMgbGluZWFyO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDBzIDAuMjJzIGxpbmVhcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE1cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIDAuMjJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc3RhbmQpIHtcbiAgLypcbiAgICogU3RhbmRcbiAgICovXG4gIC5oYW1idXJnZXItLXN0YW5kIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMDc1cyBsaW5lYXI7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4wNzVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjA3NXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMTVzIGxpbmVhcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzdGFuZC1yKSB7XG4gIC8qXG4gICAqIFN0YW5kIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLXN0YW5kLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4wNzVzIGxpbmVhcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjA3NXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMDc1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMTVzIGxpbmVhcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzcGluKSB7XG4gIC8qXG4gICAqIFNwaW5cbiAgICovXG4gIC5oYW1idXJnZXItLXNwaW4ge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yMnM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMjVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyBlYXNlLWluO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMjVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjIycyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xMnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyAwLjEycyBlYXNlLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4yMnMgMC4xMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzcGluLXIpIHtcbiAgLypcbiAgICogU3BpbiBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zcGluLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yMnM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMjVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyBlYXNlLWluO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMjVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjIycyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTIyNWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgMC4xMnMgZWFzZS1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4yMnMgMC4xMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzcXVlZXplKSB7XG4gIC8qXG4gICAqIFNxdWVlemVcbiAgICovXG4gIC5oYW1idXJnZXItLXNxdWVlemUge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wNzVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMTJzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4wNzVzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjEycyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjA3NXMgMC4xMnMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwLjEycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHZvcnRleCkge1xuICAvKlxuICAgKiBWb3J0ZXhcbiAgICovXG4gIC5oYW1idXJnZXItLXZvcnRleCB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcztcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLCBvcGFjaXR5O1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJvdHRvbSwgdHJhbnNmb3JtO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3NjVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgdm9ydGV4LXIpIHtcbiAgLypcbiAgICogVm9ydGV4IFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLXZvcnRleC1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIG9wYWNpdHk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm90dG9tLCB0cmFuc2Zvcm07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC03NjVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAncmVzZXQnO1xuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ21peGlucyc7XG5AaW1wb3J0ICdzZXR0aW5ncyc7XG5AaW1wb3J0ICdpY29tb29uLWZvbnQnO1xuIiwiLyogUkVTRVQgQ1NTICovXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsXG5ibG9ja3F1b3RlLCBwcmUsIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSwgZGVsLCBkZm4sIGVtLCBpbWcsIGlucyxcbmtiZCwgcSwgcywgc2FtcCwgc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhciwgYiwgdSwgaSwgY2VudGVyLCBkbCwgZHQsIGRkLCBvbCwgdWwsXG5saSwgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsIHRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLCBhcnRpY2xlLCBhc2lkZSxcbmNhbnZhcywgZGV0YWlscywgZW1iZWQsIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIG1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLFxuc3VtbWFyeSwgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXktcm9sZSByZXNldCBmb3Igb2xkZXIgYnJvd3NlcnMgKi9cbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsXG5mb290ZXIsIGhlYWRlciwgbWVudSwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuYm9keSB7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbm9sLCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuYmxvY2txdW90ZSwgcSB7XG4gIHF1b3Rlczogbm9uZTsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGNvbnRlbnQ6IG5vbmU7IH0gfVxuXG5xIHtcbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGNvbnRlbnQ6IG5vbmU7IH0gfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbioge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBibG9jazsgfVxuIiwiLy8gRm9udHNcbiRmb250LXJlZ3VsYXI6ICdCcmFuZG9uR3JvdGVzcXVlLVJlZ3VsYXInLCBzYW5zLXNlcmlmO1xuJGZvbnQtbWVkaXVtOiAnQnJhbmRvbkdyb3Rlc3F1ZS1NZWRpdW0nLCBzYW5zLXNlcmlmO1xuJGZvbnQtYmxhY2s6ICdCcmFuZG9uR3JvdGVzcXVlLUJsYWNrJywgc2Fucy1zZXJpZjtcbiRmb250LWJvbGQ6ICdCcmFuZG9uR3JvdGVzcXVlLUJvbGQnLCBzYW5zLXNlcmlmO1xuJGZvbnQtbGlnaHQ6ICdCcmFuZG9uR3JvdGVzcXVlLUxpZ2h0Jywgc2Fucy1zZXJpZjtcbiRmdXR1cmEtYm9vazogJ0Z1dHVyYS1TdGRCb29rJywgc2Fucy1zZXJpZjtcbiRoZWx2ZXRpY2EtdGhpbjogJ0hlbHZldGljYS1UaGluJywgc2Fucy1zZXJpZjtcbiRoZWx2ZXRpY2EtbGlnaHQ6ICdIZWx2ZXRpY2EtTGlnaHQnLCBzYW5zLXNlcmlmO1xuJGhlbHZldGljYS1tZWRpdW06ICdIZWx2ZXRpY2EtTWVkaXVtJywgc2Fucy1zZXJpZjtcblxuXG4vLyBGb250IHNpemVzXG4kY2FydC1mb250LXNpemU6IDE5cHg7XG5cblxuLy8gU2l6ZXNcbiRoZWFkZXItaGVpZ2h0OiA2MHB4O1xuXG5cbi8vIENvbG9yczpcbiRjb2xvci1ibGFjazogIzI1MjUyNTtcbiR0ZXh0LWJsYWNrOiAjNmU2ZTZlO1xuJGNvbG9yLXZhbGlkYXRpb246ICNhOTQ0NDI7XG4iLCIvL3Jlc3BvbnNpdmUgbWVkaWEgcXVlcmllc1xuQG1peGluIG1xKCR3aWR0aCkge1xuICBAaWYgJHdpZHRoID09IGRlc2t0b3Age1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ0MHB4KSB7XG4gICAgICBAY29udGVudDsgfSB9XG4gIEBlbHNlIGlmICR3aWR0aCA9PSBsYXB0b3Age1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM2NnB4KSB7XG4gICAgICBAY29udGVudDsgfSB9XG4gIEBlbHNlIGlmICR3aWR0aCA9PSBsYXB0b3Atc21hbGwge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICBAY29udGVudDsgfSB9XG4gIEBlbHNlIGlmICR3aWR0aCA9PSB0YWJsZXQtYmlnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgQGNvbnRlbnQ7IH0gfVxuICBAZWxzZSBpZiAkd2lkdGggPT0gdGFibGV0IHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgICBAY29udGVudDsgfSB9XG4gIEBlbHNlIGlmICR3aWR0aCA9PSB0YWJsZXQtc21hbGwge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIEBjb250ZW50OyB9IH1cbiAgQGVsc2UgaWYgJHdpZHRoID09IDc2MCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjBweCkge1xuICAgICAgQGNvbnRlbnQ7IH0gfVxuICBAZWxzZSBpZiAkd2lkdGggPT0gcGhhYmxldCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzVweCkge1xuICAgICAgQGNvbnRlbnQ7IH0gfVxuICBAZWxzZSBpZiAkd2lkdGggPT0gNTQwIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU0MHB4KSB7XG4gICAgICBAY29udGVudDsgfSB9XG4gIEBlbHNlIGlmICR3aWR0aCA9PSBwaG9uZS1iaWcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIEBjb250ZW50OyB9IH1cbiAgQGVsc2UgaWYgJHdpZHRoID09IHBob25lIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNXB4KSB7XG4gICAgICBAY29udGVudDsgfSB9XG4gIEBlbHNlIGlmICR3aWR0aCA9PSBwaG9uZS1zbWFsbCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgICAgQGNvbnRlbnQ7IH0gfVxuICBAZWxzZSBpZiAkd2lkdGggPT0gcGhvbmUtc21hbGxlc3Qge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcbiAgICAgIEBjb250ZW50OyB9IH0gfVxuXG4vL3RpdGxlc1xuXG5cbi8vYm94IHNoYWRvd1xuQG1peGluIGJveC1zaGFkb3cge1xuICBib3gtc2hhZG93OiAwIDFweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuQG1peGluIGJveC1zaGFkb3ctaG92ZXIge1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG5cbi8vdW5kZXJsaW5lIGhvdmVyXG5AbWl4aW4gdW5kZXJsaW5lLWhvdmVyIHtcblxuICAmLmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogOTAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1JTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlWCgxKSk7IH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNSU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlWCgwKSk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjNzIGVhc2UtaW4tb3V0IDBzKTsgfVxuXG5cbiAgJjpob3ZlcjpiZWZvcmUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlWCgxKSk7IH0gfVxuXG5AbWl4aW4gY2hlY2tlZCB7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUgbnVsbCBudWxsIDUwJSk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwtNTAlKSk7IH1cbiIsIi8vRm9udHNcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0JyYW5kb25Hcm90ZXNxdWUtUmVndWxhcic7XG4gIHNyYzogdXJsKCdmb250cy9icmFuZG9uR3JvdGVzcXVlL0JyYW5kb24gR3JvdGVzcXVlIFJlZ3VsYXIub3RmJyk7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQnJhbmRvbkdyb3Rlc3F1ZS1NZWRpdW0nO1xuICBzcmM6IHVybCgnZm9udHMvYnJhbmRvbkdyb3Rlc3F1ZS9CcmFuZG9uIEdyb3Rlc3F1ZSBNZWRpdW0ub3RmJyk7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQnJhbmRvbkdyb3Rlc3F1ZS1CbGFjayc7XG4gIHNyYzogdXJsKCdmb250cy9icmFuZG9uR3JvdGVzcXVlL0JyYW5kb24gR3JvdGVzcXVlIEJsYWNrLm90ZicpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0JyYW5kb25Hcm90ZXNxdWUtQm9sZCc7XG4gIHNyYzogdXJsKCdmb250cy9icmFuZG9uR3JvdGVzcXVlL0JyYW5kb24gR3JvdGVzcXVlIEJvbGQub3RmJyk7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQnJhbmRvbkdyb3Rlc3F1ZS1MaWdodCc7XG4gIHNyYzogdXJsKCdmb250cy9icmFuZG9uR3JvdGVzcXVlL0JyYW5kb24gR3JvdGVzcXVlIExpZ2h0Lm90ZicpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0hlbHZldGljYS1UaGluJztcbiAgc3JjOiB1cmwoJ2ZvbnRzL0hlbHZldGljYSBOZXVlL0hlbHZldGljYU5ldWVMVFByby1UaC5vdGYnKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EtTWVkaXVtJztcbiAgc3JjOiB1cmwoJ2ZvbnRzL0hlbHZldGljYSBOZXVlL0hlbHZldGljYU5ldWVMVFByby1NZC5vdGYnKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EtTGlnaHQnO1xuICBzcmM6IHVybCgnZm9udHMvSGVsdmV0aWNhIE5ldWUvSGVsdmV0aWNhTmV1ZUxUUHJvLUx0Lm90ZicpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0Z1dHVyYS1TdGRCb29rJztcbiAgc3JjOiB1cmwoJ2ZvbnRzL0Z1dHVyYS9GdXR1cmFTdGQtQm9vay5vdGYnKTsgfVxuXG5cblxuLy9HZW5lcmFsIHNldHRpbmdzXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LXJlZ3VsYXI7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbi5jb250ZW50IHtcbiAgQGV4dGVuZCAuY29udGFpbmVyOyB9XG5cbi5jb250ZW50LWZ1bGwge1xuICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7IH1cblxuXG4vL1NsaWNrIHNsaWRlciBzZXR0aW5nc1xuLnNsaWNrLXNsaWRlciB7XG4gIGJhY2tncm91bmQ6IHVybChwbHVnaW5zL3NsaWNrL2FqYXgtbG9hZGVyLmdpZik7XG4gIC5zbGljay1saXN0IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4gICYuc2xpY2staW5pdGlhbGl6ZWQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAuc2xpY2stbGlzdCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW47IH0gfSB9XG5cbi5ob21lLXNsaWRlcyB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpY2staW5pdGlhbGl6ZWQge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5oYW1idXJnZXItaW5uZXIsIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi5oYW1idXJnZXI6aG92ZXIge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oYW1idXJnZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDk5O1xuXG4gIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTVweDtcbiAgICB0b3A6IDEwcHg7IH0gfVxuXG4udmlkZW8tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBpZnJhbWUsIG9iamVjdCwgZW1iZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuIiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gIHNyYzogdXJsKCdmb250cy9pY29tb29uL2ljb21vb24uZW90Pzk1bG5zbicpO1xuICBzcmM6IHVybCgnZm9udHMvL2ljb21vb24vaWNvbW9vbi5lb3Q/OTVsbnNuI2llZml4JykgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybCgnZm9udHMvaWNvbW9vbi9pY29tb29uLnR0Zj85NWxuc24nKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKCdmb250cy9pY29tb29uL2ljb21vb24ud29mZj85NWxuc24nKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoJ2ZvbnRzL2ljb21vb24vaWNvbW9vbi5zdmc/OTVsbnNuI2ljb21vb24nKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5cblxuW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLmljb24tYXZhdGFyX2Z1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDFcIjsgfVxuXG4uaWNvbi1ob21lX2Z1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDJcIjsgfVxuXG4uaWNvbi1zaG9wcGluZy1jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAzXCI7IH1cblxuLmljb24tbG9nb19qb3NoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAwXCI7IH1cblxuLmljb24tYXZhdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA0XCI7IH1cblxuLmljb24tY2hlY2tlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNVwiOyB9XG5cbi5pY29uLWNvaW5zIHtcbiAgLnBhdGgxOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDZcIjtcbiAgICBjb2xvcjogcmdiKDI0MSwgMjA1LCAxMTMpOyB9XG4gIC5wYXRoMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgY29sb3I6IHJnYigyMzksIDE5OSwgOTQpOyB9XG4gIC5wYXRoMzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgY29sb3I6IHJnYigyMDMsIDE2OSwgODApOyB9XG4gIC5wYXRoNDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA5XCI7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgY29sb3I6IHJnYigyMDMsIDE2OSwgODApOyB9XG4gIC5wYXRoNTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgY29sb3I6IHJnYigyMDMsIDE2OSwgODApOyB9XG4gIC5wYXRoNjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgY29sb3I6IHJnYigyMDMsIDE2OSwgODApOyB9XG4gIC5wYXRoNzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBjXCI7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgY29sb3I6IHJnYigyMDMsIDE2OSwgODApOyB9XG4gIC5wYXRoODpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBkXCI7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgY29sb3I6IHJnYigyMDMsIDE2OSwgODApOyB9XG4gIC5wYXRoOTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBlXCI7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgY29sb3I6IHJnYigyMDMsIDE2OSwgODApOyB9XG4gIC5wYXRoMTA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwZlwiO1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIGNvbG9yOiByZ2IoMjAzLCAxNjksIDgwKTsgfVxuICAucGF0aDExOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTBcIjtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBjb2xvcjogcmdiKDIwMywgMTY5LCA4MCk7IH1cbiAgLnBhdGgxMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTExXCI7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgY29sb3I6IHJnYigyMDMsIDE2OSwgODApOyB9XG4gIC5wYXRoMTM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxMlwiO1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIGNvbG9yOiByZ2IoMjAzLCAxNjksIDgwKTsgfVxuICAucGF0aDE0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTNcIjtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBjb2xvcjogcmdiKDIwMywgMTY5LCA4MCk7IH1cbiAgLnBhdGgxNTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE0XCI7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgY29sb3I6IHJnYigyMDMsIDE2OSwgODApOyB9XG4gIC5wYXRoMTY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxNVwiO1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIGNvbG9yOiByZ2IoMjAzLCAxNjksIDgwKTsgfVxuICAucGF0aDE3OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTZcIjtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBjb2xvcjogcmdiKDIwMywgMTY5LCA4MCk7IH1cbiAgLnBhdGgxODpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE3XCI7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgY29sb3I6IHJnYigyMDMsIDE2OSwgODApOyB9XG4gIC5wYXRoMTk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxOFwiO1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIGNvbG9yOiByZ2IoMjAzLCAxNjksIDgwKTsgfVxuICAucGF0aDIwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTlcIjtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBjb2xvcjogcmdiKDIwMywgMTY5LCA4MCk7IH1cbiAgLnBhdGgyMTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTFhXCI7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgY29sb3I6IHJnYigyMDMsIDE2OSwgODApOyB9XG4gIC5wYXRoMjI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxYlwiO1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIGNvbG9yOiByZ2IoMjAzLCAxNjksIDgwKTsgfVxuICAucGF0aDIzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWNcIjtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBjb2xvcjogcmdiKDIwMywgMTY5LCA4MCk7IH0gfVxuXG4uaWNvbi1kYXNoYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MWRcIjsgfVxuXG4uaWNvbi1lZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFlXCI7IH1cblxuLmljb24taG9tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxZlwiOyB9XG5cbi5pY29uLWhvbWUyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTIwXCI7IH1cblxuLmljb24tbWFzdGVyY2FyZCB7XG4gIC5wYXRoMTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTIxXCI7XG4gICAgY29sb3I6IHJnYigyMjYsIDg3LCA3Nik7IH1cbiAgLnBhdGgyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjJcIjtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBjb2xvcjogcmdiKDI0NCwgMTgwLCA4OSk7IH0gfVxuXG4uaWNvbi1uZXdzbGV0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTIzXCI7IH1cblxuLmljb24tcGF5cGFsIHtcbiAgLnBhdGgxOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjRcIjtcbiAgICBjb2xvcjogcmdiKDM4LCAxNjYsIDIwOSk7IH1cbiAgLnBhdGgyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjVcIjtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBjb2xvcjogcmdiKDUwLCA3NywgOTEpOyB9XG4gIC5wYXRoMzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI2XCI7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgY29sb3I6IHJnYig1MCwgNzcsIDkxKTsgfSB9XG5cbi5pY29uLXNob3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjdcIjsgfVxuXG4uaWNvbi10cmFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyOFwiOyB9XG5cbi5pY29uLXZpc2Ege1xuICAucGF0aDE6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyOVwiO1xuICAgIGNvbG9yOiByZ2IoMzUsIDE0OCwgMTg4KTsgfVxuICAucGF0aDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyYVwiO1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIGNvbG9yOiByZ2IoMjM5LCAxOTksIDk0KTsgfSB9XG4iLCJAaW1wb3J0ICduYXZpZ2F0aW9uJztcbkBpbXBvcnQgJ2lucHV0cyc7XG4iLCIvLyBOYXZpZ2F0aW9uIGVmZmVjdFxuLyogT3ZlcmxheSBzdHlsZSAqL1xuXG4ub3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLCAwLjkzKTtcbiAgei1pbmRleDogLTE7XG5cbiAgLm92ZXJsYXktY2xvc2Uge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDQwcHg7XG4gICAgdG9wOiAxMDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL2Nyb3NzLnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiA2MCU7XG4gICAgdGV4dC1pbmRlbnQ6IDIwMCU7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgei1pbmRleDogMTAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICBuYXYge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxNzVweDtcbiAgICBoZWlnaHQ6IDYwJTtcbiAgICBmb250LXNpemU6IDM1cHg7XG5cbiAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgIHRvcDogODVweDtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDsgfSB9XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDU0cHg7XG5cbiAgICAgICYubG9jYWxlLWZsYWcge1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4gICAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4OyB9XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICNCQ0JDQkM7IH0gfVxuICAgICAgZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogI0JDQkNCQzsgfSB9XG4gICAgICAuc3VibWl0LWZsYWcge1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAgICAgJi5mbGFnLWRlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvZmxhZ19kZS5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAgICAgICAmLmZsYWctZW4ge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9mbGFnX2VuLnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG4gICAgICAgICYuZmxhZy1mciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL2ZsYWdfZnIucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cbiAgICAgICAgJi5mbGFnLWl0IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvZmxhZ19pdC5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfSB9IH0gfSB9XG5cbi8qIE92ZXJsYXkgY2xvc2luZyBjcm9zcyAqL1xuXG4vKiBNZW51IHN0eWxlICovXG5cbi8qIEVmZmVjdHMgKi9cblxuLm92ZXJsYXktaHVnZWluYyB7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIHZpc2liaWxpdHkgMHMgMC41cztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCB2aXNpYmlsaXR5IDBzIDAuNXM7XG4gICYub3BlbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41czsgfVxuICBuYXYge1xuICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xuICAgIHVsIHtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNSUpIHJvdGF0ZVgoMzVkZWcpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNSUpIHJvdGF0ZVgoMzVkZWcpO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjVzLCBvcGFjaXR5IDAuNXM7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cywgb3BhY2l0eSAwLjVzOyB9IH1cbiAgJi5vcGVuIG5hdiB1bCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7IH1cbiAgJi5jbG9zZSBuYXYgdWwge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1JSkgcm90YXRlWCgtMzVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNSUpIHJvdGF0ZVgoLTM1ZGVnKTsgfSB9XG5cbi8vQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwLjVlbSlcbi8vICAub3ZlcmxheVxuLy8gICAgbmF2XG4vLyAgICAgIGhlaWdodDogNzAlXG4vLyAgICAgIGZvbnQtc2l6ZTogMzRweFxuLy8gICAgdWwgbGlcbi8vICAgICAgbWluLWhlaWdodDogMzRweFxuIiwiIiwiQGltcG9ydCAnaGVhZGVyJztcbkBpbXBvcnQgJ2Zvb3Rlcic7XG4iLCIvL0hlYWRlclxuaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk7XG5cbiAgaGVpZ2h0OiAkaGVhZGVyLWhlaWdodDtcbiAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xuICBjb2xvcjogI2ZmZjtcblxuICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICBoZWlnaHQ6IDY1cHg7IH1cblxuICAuY29udGVudC1mdWxsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogIzI1MjUyNTtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbiAgLmhvbWUtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIyMHB4O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZmY7XG4gICAgaGVpZ2h0OiAkaGVhZGVyLWhlaWdodDtcblxuICAgIEBpbmNsdWRlIG1xKGxhcHRvcC1zbWFsbCkge1xuICAgICAgd2lkdGg6IDEwMHB4OyB9XG5cbiAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICB6LWluZGV4OiAxMTsgfVxuXG4gICAgc3BhbiB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIG51bGwgbnVsbCA1MCUpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLC01MCUpKTtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDsgfSB9XG5cbiAgLnRvcC1idXR0b25zIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIG51bGwgbnVsbCk7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiAzMjBweDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNmZmY7XG4gICAgaGVpZ2h0OiAkaGVhZGVyLWhlaWdodDtcblxuICAgIEBpbmNsdWRlIG1xKGxhcHRvcC1zbWFsbCkge1xuICAgICAgd2lkdGg6IDE1MHB4OyB9XG5cbiAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC5sb2NhbGUtZmxhZyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogJGhlYWRlci1oZWlnaHQ7XG4gICAgICB3aWR0aDogMzMlO1xuXG4gICAgICBmb3JtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC5zdWJtaXQtZmxhZyB7XG4gICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgICAgIG1hcmdpbjogMTVweCBhdXRvO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgJi5mbGFnLWRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9mbGFnX2RlLnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cbiAgICAgICAgICAmLmZsYWctZW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL2ZsYWdfZW4ucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAgICAgICAgICYuZmxhZy1mciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvZmxhZ19mci5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG4gICAgICAgICAgJi5mbGFnLWl0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9mbGFnX2l0LnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH0gfSB9IH1cblxuICAgIGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgd2lkdGg6IDMzJTtcbiAgICAgIGhlaWdodDogJGhlYWRlci1oZWlnaHQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgJi5hY3RpdmU6YWZ0ZXIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgzNywgMzcsIDM3LCAwKTtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzI1MjUyNTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7IH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUgbnVsbCBudWxsIDUwJSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwtNTAlKSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDsgfVxuXG4gICAgICBzcGFuLm5vdC1udW1iZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgICByaWdodDogMjVweDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZTgwMDAwO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgIGIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7IH0gfSB9IH1cblxuICAudG9wLW5hdi1ob2xkZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHBhZGRpbmc6IDAgMzIwcHggMCAyMjBweDtcbiAgICBoZWlnaHQ6ICRoZWFkZXItaGVpZ2h0O1xuXG4gICAgQGluY2x1ZGUgbXEobGFwdG9wLXNtYWxsKSB7XG4gICAgICBwYWRkaW5nOiAwIDE2MHB4OyB9XG5cbiAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6ICRoZWFkZXItaGVpZ2h0O1xuICAgICAgZm9udDoge1xuICAgICAgICBmYW1pbHk6ICRmb250LWJvbGQ7XG4gICAgICAgIHNpemU6IDIwcHg7IH1cbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsaW5lLWhlaWdodDogJGhlYWRlci1oZWlnaHQ7XG5cblxuXG4gICAgICAmLm1lbi1zaG9lcy1saW5rIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTMwcHg7XG5cbiAgICAgICAgJi5hY3RpdmU6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDcycHgpO1xuICAgICAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMzcsIDM3LCAzNywgMCk7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzI1MjUyNTtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDIwcHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4OyB9IH1cblxuICAgICAgJi53b21lbi1zaG9lcy1saW5rIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA5MHB4O1xuXG4gICAgICAgICYuYWN0aXZlOmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgbGVmdDogY2FsYyg1MCUgKyA3MnB4KTtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDM3LCAzNywgMzcsIDApO1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICMyNTI1MjU7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAyMHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDsgfSB9IH0gfVxuXG4gIC5oZWFkZXItbG9nby1ob2xkZXIge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsIDUwJSk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLDApKTtcbiAgICB3aWR0aDogMjIwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibGFjaztcbiAgICB6LWluZGV4OiA5O1xuICAgIHBhZGRpbmctdG9wOiA3cHg7XG5cbiAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKDAsMCkpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDY1cHg7IH1cblxuICAgIC5sb2dvLWhvbGRlciB7XG4gICAgICB3aWR0aDogMTMwcHg7XG4gICAgICBoZWlnaHQ6IDEwMnB4O1xuICAgICAgbWFyZ2luOiAtOHB4IGF1dG8gMDtcblxuICAgICAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGhlaWdodDogNjVweDsgfVxuXG4gICAgICBzdmcge1xuICAgICAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTdweDsgfSB9XG5cbiAgICAgIC5zdDAsIC5zdDEge1xuICAgICAgICBmaWxsOiAjZmZmOyB9IH1cblxuICAgIGkge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMzFweDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLDEpKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4xcyBlYXNlLWluLW91dCk7IH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICBpIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSwxLjEpKTsgfSB9IH0gfVxuXG4jbWFpbi1uYXYge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogJGhlYWRlci1oZWlnaHQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC45Myk7IH1cblxuLy9Nb2JpbGUgbWVudVxuLm1vYmlsZS1vbmx5IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4ubG9nby1ob2xkZXIge1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA2NXB4O1xuICBtYXJnaW46IC04cHggYXV0byAwO1xuXG4gIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbiAgc3ZnIHtcbiAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xN3B4OyB9IH1cblxuICAuc3QwLCAuc3QxIHtcbiAgICBmaWxsOiAjZmZmOyB9IH1cbiIsIi8vIEZvb3RlclxuZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogIzI1MjUyNTtcbiAgcGFkZGluZzogNTVweCAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1mYW1pbHk6ICRoZWx2ZXRpY2EtdGhpbjtcblxuICAuY29udGVudCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7IH1cblxuICAuZm9vdGVyLXBhcnQtaG9sZGVyIHtcbiAgICBAZXh0ZW5kIC5jb2wtbWQtNDtcblxuICAgIC5mb290ZXItcGFydCB7XG4gICAgICBwYWRkaW5nOiAwIDMwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG5cbiAgICAgIEBpbmNsdWRlIG1xKHBob25lLWJpZykge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cblxuICAgIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcblxuICAgICAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG5cbiAgICAgIGEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0ge1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkaGVsdmV0aWNhLXRoaW47XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDsgfVxuXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkaGVsdmV0aWNhLXRoaW47XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4gICAgdWwge1xuICAgICAgbGkge1xuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMnMgbGluZWFyKTsgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjQkNCQ0JDOyB9IH0gfSB9IH1cblxuLmZvb3Rlci1pY29uIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4ycyBsaW5lYXIpO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAjYTVhNWE1OyB9IH1cbiIsIkBpbXBvcnQgJ2hvbWVwYWdlJztcbkBpbXBvcnQgJ2FsbC1zaG9lcyc7XG5AaW1wb3J0ICdjYXJ0JztcbkBpbXBvcnQgJ2xvZ2luJztcbkBpbXBvcnQgJ3JlZ2lzdHJhdGlvbic7XG5AaW1wb3J0ICdjaG9vc2UtYWRkcmVzcyc7XG5AaW1wb3J0ICdwcm9maWxlJztcbkBpbXBvcnQgJ3Byb2ZpbGUtb3JkZXInO1xuQGltcG9ydCAnc2hpcHBpbmctYWRkcmVzcyc7XG5AaW1wb3J0ICdwcm9maWxlLWFjYyc7XG5AaW1wb3J0ICdvcmRlcic7XG5AaW1wb3J0ICdvcmRlci1wYXltZW50JztcbkBpbXBvcnQgJ2NyZWF0ZS1zaG9lJztcbkBpbXBvcnQgJ25ldy1wYWdlcyc7XG5AaW1wb3J0ICduZXcnO1xuIiwiLy8gU2xpZGVyIHNldHRpbmdzXG4uaG9tZS1zbGlkZXMge1xuXG4gIC5zbGljay1zbGlkZSB7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4gIC5zbGljay1wcmV2LCAuc2xpY2stbmV4dCB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjM1LDIzNSwyMzUsMC41KTtcbiAgICB6LWluZGV4OiA5O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4xcyBsaW5lYXIpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzNSwyMzUsMjM1LDEpOyB9XG5cbiAgICAmOmhvdmVyOmFmdGVyIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsMCwwLDEpOyB9XG4gICAgJjpob3ZlcjphZnRlciB7XG4gICAgICBjb2xvcjogcmdiYSgwLDAsMCwxKTsgfSB9XG5cbiAgLnNsaWNrLXByZXY6OmJlZm9yZSwgLnNsaWNrLW5leHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZm9udC1zaXplOiAwOyB9XG5cbiAgLnNsaWNrLXByZXY6OmFmdGVyLCAuc2xpY2stbmV4dDo6YWZ0ZXIge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICAgIHNpemU6IDMxcHg7IH1cbiAgICBjb2xvcjogcmdiYSgwLDAsMCwwLjUpO1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4xcyBsaW5lYXIpOyB9XG5cblxuXG4gIC5zbGljay1wcmV2OjphZnRlciB7XG4gICAgY29udGVudDogJ1xcZjEwNCc7XG4gICAgcGFkZGluZy1yaWdodDogM3B4OyB9XG5cbiAgLnNsaWNrLW5leHQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFxmMTA1JztcbiAgICBwYWRkaW5nLWxlZnQ6IDNweDsgfVxuXG4gIC5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAyMHB4OyB9XG5cbiAgLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAyMHB4OyB9IH1cblxuLy8gRmVhdHVyZWQgcHJvZHVjdHNcbi5mZWF0dXJlZC1wcm9kdWN0cyB7XG5cbiAgQGluY2x1ZGUgbXEobGFwdG9wLXNtYWxsKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMDsgfVxuXG4gIC5jb250ZW50LWZ1bGwge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAuZmVhdHVyZWQtcHJvZHVjdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgQGluY2x1ZGUgbXEobGFwdG9wLXNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7IH1cblxuICAgICAgQGluY2x1ZGUgbXEodGFibGV0LXNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzJTsgfVxuXG4gICAgICBAaW5jbHVkZSBtcSg1NDApIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfVxuXG4gICAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4ycyBlYXNlLW91dCk7IH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDAuOSkpOyB9IH0gfSB9IH1cbiIsIi8vIEFsbCBzaG9lc1xuLmlubmVyLXBhZ2Utd3JhcCB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgbWFyZ2luLXRvcDogNjBweDsgfVxuXG4gIC5zaG9lcy1saXN0LWhvbGRlciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAuc2luZ2xlLXNob2UtaG9sZGVyIHtcbiAgICAgIEBleHRlbmQgLmNvbC1sZy0zO1xuICAgICAgQGV4dGVuZCAuY29sLW1kLTQ7XG4gICAgICBAZXh0ZW5kIC5jb2wteHMtNjtcblxuICAgICAgQGluY2x1ZGUgbXEocGhhYmxldCkge1xuICAgICAgICB3aWR0aDogMjkwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgICAgIGZsb2F0OiBub25lOyB9XG5cblxuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgLnNpbmdsZS1zaG9lIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDAgMjBweDtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjJzIGxpbmVhciAwcyk7XG5cblxuICAgICAgICBoNSB7XG4gICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgZmFtaWx5OiAkZm9udC1ib2xkO1xuICAgICAgICAgICAgc2l6ZTogMjBweDsgfVxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBjb2xvcjogJHRleHQtYmxhY2s7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBmYW1pbHk6ICRmb250LWJvbGQ7XG4gICAgICAgICAgICBzaXplOiAxNnB4OyB9XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWJsYWNrO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgZmFtaWx5OiAkZm9udC1saWdodDtcbiAgICAgICAgICAgIHNpemU6IDIwcHg7IH1cbiAgICAgICAgICBjb2xvcjogJHRleHQtYmxhY2s7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbiAgICAgICAgLmltZy1ob2xkZXIge1xuICAgICAgICAgIHdpZHRoOiAyNDBweDtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAxMHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNzNweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSBudWxsIG51bGwgNTAlKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwtNTAlKSk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4gICAgICAgIC5idG4taG9sZGVyIHtcbiAgICAgICAgICB3aWR0aDogMjE1cHg7XG4gICAgICAgICAgaGVpZ2h0OiA1MnB4O1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4ycyBlYXNlLWluLW91dCk7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzQ3NDc0NztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0NnB4O1xuICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICBmYW1pbHk6ICRmdXR1cmEtYm9vaztcbiAgICAgICAgICAgICAgc2l6ZTogMTdweDsgfVxuICAgICAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMnMgZWFzZS1pbi1vdXQpOyB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMzMzM7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgIGNvbG9yOiAjZmZmOyB9IH0gfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3ctaG92ZXI7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZDFkMWQxO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfSB9IH0gfSB9XG4iLCIvLyBDYXJ0XG4uaW5uZXItcGFnZS13cmFwIHtcblxuICBoMiB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiAkaGVsdmV0aWNhLXRoaW47XG4gICAgICBzaXplOiAzM3B4OyB9XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldC1zbWFsbCkge1xuICAgICAgZm9udC1zaXplOiAyOHB4OyB9IH0gfVxuXG4uY2FydC13cmFwIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzI1MjUyNTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDkwcHg7XG5cbiAgJi5pcy1lbXB0eSB7XG4gICAgaGVpZ2h0OiA2MDBweDtcbiAgICBwYWRkaW5nLXRvcDogODBweDtcblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogNjBweCAwOyB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkaGVsdmV0aWNhLXRoaW47XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4gIC5yb3ctaG9sZGVyIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzI1MjUyNTtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6ICRoZWx2ZXRpY2EtdGhpbjtcbiAgICAgIHNpemU6IDE5cHg7IH1cbiAgICBjb2xvcjogIzI1MjUyNTtcblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgcGFkZGluZzogNTBweCAwOyB9XG5cbiAgICAuYXJ0aWNsZS1waWMge1xuICAgICAgQGV4dGVuZCAuY29sLW1kLTY7IH1cblxuICAgIC5hcnRpY2xlLXByaWNlLCAuYXJ0aWNsZS1xdWFudGl0eSwgLmFydGljbGUtc3VtIHtcbiAgICAgIEBleHRlbmQgLmNvbC1tZC0yO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbiAgICAmLmhlYWRlciB7XG5cbiAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDsgfSB9XG5cblxuXG4gICAgJi5wcm9kdWN0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgaS5jYXJ0LXJlbW92ZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwNTcnO1xuICAgICAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDE1cHggMjBweCBudWxsIG51bGwpO1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgei1pbmRleDogOTk7IH1cblxuICAgICAgLmFydGljbGUtcHJpY2UsIC5hcnRpY2xlLXF1YW50aXR5LCAuYXJ0aWNsZS1zdW0ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAlO1xuICAgICAgICBmb250LXNpemU6ICRjYXJ0LWZvbnQtc2l6ZTtcblxuICAgICAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cblxuICAgICAgLmltZy1ob2xkZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogNTBweDtcbiAgICAgICAgd2lkdGg6IDI3MHB4O1xuICAgICAgICBoZWlnaHQ6IDI3MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgICAgICAgICBjb250ZW50OiAnQXJ0aWtlbDonO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyNzBweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICAgICAgd2lkdGg6IDI3MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsMCkpOyB9IH0gfVxuXG4gICAgICAuYXJ0aWNsZS1wcmljZSB7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICAgICAgY29udGVudDogJ1ByZWlzIC8gU3RrLjonO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfSB9XG5cbiAgICAgIC5hcnRpY2xlLXF1YW50aXR5IHtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgICAgICAgICBjb250ZW50OiAnTWVuZ2U6JztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH0gfVxuXG4gICAgICAuYXJ0aWNsZS1zdW0ge1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdQcmVpczonO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfSB9IH0gfVxuXG5cbiAgLmNhcnQtc3VtIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgcGFkZGluZzogNDBweCAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbiAgICAuY291cG9uLWNvZGUtaG9sZGVyIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuXG4gICAgICBkaXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKDU0MCkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuICAgICAgbGFiZWwge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgZmFtaWx5OiAkaGVsdmV0aWNhLWxpZ2h0O1xuICAgICAgICAgIHNpemU6ICRjYXJ0LWZvbnQtc2l6ZTsgfVxuICAgICAgICBjb2xvcjogIzI1MjUyNTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoNTQwKSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuXG4gICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRoZWx2ZXRpY2EtdGhpbjsgfVxuXG4gICAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzI1MjUyNTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9IH1cblxuICAgICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgICAgIHdpZHRoOiAxNjBweDsgfSB9XG5cbiAgICAudG8tY2hlY2tvdXQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgcGFkZGluZy1yaWdodDogNTdweDtcbiAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuXG4gICAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4gICAgICAudG90YWwtY29zdCB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyN3B4O1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgIGZhbWlseTogJGhlbHZldGljYS1saWdodDtcbiAgICAgICAgICAgIHNpemU6ICRjYXJ0LWZvbnQtc2l6ZTsgfVxuICAgICAgICAgIGNvbG9yOiAjMjUyNTI1O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgIGZhbWlseTogJGhlbHZldGljYS1tZWRpdW07XG4gICAgICAgICAgICBzaXplOiAkY2FydC1mb250LXNpemU7IH1cbiAgICAgICAgICBjb2xvcjogIzI1MjUyNTsgfSB9XG5cbiAgICAgIGEsIGJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjUyNTI1O1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjJzIGxpbmVhcik7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgb3BhY2l0eTogMC44OyB9IH0gfSB9IH1cblxuLmFnYi1pbmxpbmUgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwO1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNDE4M0Q3ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4jc3dpc3NCaWxsaW5nT3JkZXIge1xuICB3aWR0aDogMzAwcHg7XG4gIGhlaWdodDogNzVweDtcbiAgbWFyZ2luOiA1cHggYXV0byAwIGF1dG87IH1cblxuI3NhdmVPcmRlciB7XG4gIHdpZHRoOiAzNDJweDtcbiAgaGVpZ2h0OiA2MXB4O1xuICBtYXJnaW46IDVweCBhdXRvIDAgYXV0bzsgfVxuXG4jbG9hZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDE1MHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4jcGF5LWJ5LWNhcmQsXG4jcGF5LWJ5LWludm9pY2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiAxcHggc29saWQgIzI1MjUyNTtcbiAgcGFkZGluZzogMTVweDtcblxuICBzcGFuIHtcbiAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EtTGlnaHRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgY29sb3I6ICMyNTI1MjU7IH0gfVxuXG4jcGF5LWJ5LWludm9pY2Uge1xuICBib3JkZXItdG9wOiBub25lOyB9XG4iLCIvL0xvZ2luXG4ubG9naW4tYm94LWhvbGRlciwgLnNoaXBwaW5nLWhvbGRlciwgLnByb2ZpbGUtYWNjLWhvbGRlciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgbWluLWhlaWdodDogNDcwcHg7XG5cbiAgaDQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIGZvbnQtc2l6ZTogMTlweDtcblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldC1zbWFsbCk7IH1cblxuICAubG9naW4tcmVnLWJveCwgLmxvZ2luLXJlZy1ib3gtMyB7XG5cbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogNTAwcHg7XG4gICAgcGFkZGluZzogNzBweCAxMDBweDtcblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgcGFkZGluZzogNTBweCAyMHB4OyB9XG5cbiAgICBAaW5jbHVkZSBtcSg3NjApIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzAwMDtcblxuICAgICAgQGluY2x1ZGUgbXEoNzYwKSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDsgfSB9XG5cbiAgICBwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1saWdodDtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cblxuXG5cbiAgLmxvZ2luLWJ0biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogIzI1MjUyNTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogMCAzMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjJzIGxpbmVhcik7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuODsgfSB9XG5cbiAgLmxvZ2luLWJ0bi1ob2xkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5sb2dpbi1idG4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuICAuaW5wdXQtd3JhcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcblxuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWxpZ2h0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogN3B4OyB9XG5cbiAgICBpbnB1dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzI1MjUyNTsgfSB9XG5cbiAgLmxvZ2luLWJvdHRvbSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAubG9naW4tYnRuIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbiAgLmxvZ2luLXJlZy1ib3gtMyB7XG4gICAgd2lkdGg6IDMzJTtcbiAgICBwYWRkaW5nOiA3MHB4IDI1cHg7XG5cbiAgICBAaW5jbHVkZSBtcSg3NjApIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuXG4gIC5sb2dpbi1yZWctYm94LTMuc2Vjb25kLW9mLXR5cGUge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzAwMDtcblxuICAgIEBpbmNsdWRlIG1xKDc2MCkge1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDsgfSB9IH1cbiIsIi8vUmVnaXN0cmF0aW9uXG4ucmVnaXN0cmF0aW9uLWhvbGRlciwgLmNob29zZS1hZGRyZXNzLWhvbGRlciwgLnNoaXBwaW5nLWhvbGRlciwgLnByb2ZpbGUtYWNjLWhvbGRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG5cbiAgYS5iYWNrLWJ0biB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBiYWNrZ3JvdW5kOiAjMjUyNTI1O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGkge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDM2cHg7IH0gfVxuXG4gIGZvcm0ge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHBhZGRpbmc6IDAgMjMwcHg7XG5cbiAgICBAaW5jbHVkZSBtcShsYXB0b3Atc21hbGwpIHtcbiAgICAgIHBhZGRpbmc6IDAgMTAwcHg7IH1cblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgcGFkZGluZzogMCAyMHB4OyB9XG5cbiAgICBAaW5jbHVkZSBtcShwaG9uZS1iaWcpIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4gIC5jb2wyIHtcbiAgICBAZXh0ZW5kIC5jb2wtbWQtMjtcbiAgICBAZXh0ZW5kIC5jb2wtc20tMjsgfVxuXG4gIC5jb2w0IHtcbiAgICBAZXh0ZW5kIC5jb2wtbWQtNDtcbiAgICBAZXh0ZW5kIC5jb2wtc20tNDsgfVxuXG4gIC5jb2w2IHtcbiAgICBAZXh0ZW5kIC5jb2wtbWQtNjtcbiAgICBAZXh0ZW5kIC5jb2wtc20tNjsgfVxuXG4gIC5yZWctYmlydGgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1saWdodDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfSB9XG5cbiAgbGFiZWwsIHAge1xuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICNGMjI2MTM7IH0gfVxuXG4gIC5mb3JtLWJvdHRvbSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIG1hcmdpbjogMjBweCAwIDQwcHg7XG5cbiAgICAubmV3c2xldHRlci1jaGVja2JveCB7XG4gICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgQGluY2x1ZGUgbXEocGhvbmUtYmlnKSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cblxuICAgIC5sb2dpbi1idG4ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICBAaW5jbHVkZSBtcShwaG9uZS1iaWcpIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9IH0gfVxuXG4uaW5wdXQtd3JhcCAuc2VsZWN0Mi1jb250YWluZXIsIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLWNvbG9yOiAjMjUyNTI1OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICBoZWlnaHQ6IDQwcHg7IH1cblxuLnNlbGVjdDItc2VhcmNoLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93biB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnZhbGlkYXRpb24tZXJyb3Ige1xuICBjb2xvcjogJGNvbG9yLXZhbGlkYXRpb247IH1cblxuLnJvdy1ob2xkZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAwOyB9XG4iLCIvLyBDaG9vc2UgYWRkcmVzc1xuLmNob29zZS1hZGRyZXNzLWhvbGRlciB7XG4gIGhlaWdodDogNTk3cHg7IH1cblxuLnJlZy1pbmZvLWhvbGRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAmLmFjdGl2ZSB7XG5cbiAgICAuY2hlY2tib3gtaW5uZXIge1xuICAgICAgQGluY2x1ZGUgY2hlY2tlZDsgfSB9IH1cblxuXG4uY2hlY2tib3gtaG9sZGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG5cblxuXG4ucmVnLWluZm8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgcCB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiAkZm9udC1tZWRpdW07XG4gICAgICBzaXplOiAxN3B4OyB9XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9IH1cblxuXG4uY2hvb3NlLWFkZHJlc3MtaG9sZGVyIHtcblxuICAuZm9ybS1ob2xkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICBkaXZbZGF0YS1hZGRyZXNzPVwiYWRkcmVzcy1uZXdcIl0uYWN0aXZlIH4gLmZvcm0taG9sZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5jaG9vc2UtYWRkcmVzcy1ob2xkZXIge1xuXG4gIC5mb3JtLWJvdHRvbSB7XG5cbiAgICBidXR0b24ge1xuXG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQ6ICMyNTI1MjU7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgd2lkdGg6IDEzNXB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMnMgbGluZWFyKTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuODsgfSB9IH0gfVxuIiwiLy8gUHJvZmlsZVxuLnByb2ZpbGUtd3JhcCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMyNTI1MjU7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgbWluLWhlaWdodDogNjgwcHg7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7IH1cblxuLnByb2ZpbGUtdG9wLWhvbGRlciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjUyNTI1O1xuXG4gIC5wcm9maWxlLW5hdiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgcGFkZGluZzogMCAxMDBweDtcblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgcGFkZGluZzogMCAyMHB4OyB9XG5cbiAgICBAaW5jbHVkZSBtcShwaG9uZS1iaWcpIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cblxuICAgIGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDI1JTtcblxuICAgICAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH1cblxuICAgICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIHVuZGVybGluZS1ob3ZlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAzMHB4IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEocGhvbmUtYmlnKSB7XG4gICAgICAgICAgcGFkZGluZzogMCAxMHB4IDEwcHg7IH1cblxuICAgICAgICAuaWNvbi1ob2xkZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDcwcHg7IH1cblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSBudWxsIG51bGwgNTAlKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwtNTAlKSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDY1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDQycHg7IH1cblxuICAgICAgICAgICAgJi5pY29uLWRhc2hib2FyZCB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogODVweDtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDYwcHg7IH0gfSB9IH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7IH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1xKHBob25lLWJpZykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4OyB9IH0gfSB9IH0gfVxuXG4ucHJvZmlsZS1vdmVydmlldy1ob2xkZXIge1xuXG4gIC5tZW1iZXItbmFtZSB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiAkZm9udC1tZWRpdW07XG4gICAgICBzaXplOiAxOXB4OyB9XG4gICAgY29sb3I6ICMyNTI1MjU7XG4gICAgcGFkZGluZzogNTBweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5uZXdzbGV0dGVyLWNob29zZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG5cblxuXG4gID4gZGl2IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuICA+IHAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogIzI1MjUyNTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2Utb3V0KTsgfVxuXG4gICY6aG92ZXIgcCB7XG4gICAgY29sb3I6ICNCQ0JDQkM7IH1cblxuICAmLmFjdGl2ZSB7XG5cbiAgICAuY2hlY2tib3gtaW5uZXIge1xuICAgICAgQGluY2x1ZGUgY2hlY2tlZDsgfSB9IH1cblxuLm5ld3NsZXR0ZXItYWN0aXZhdGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIGZvbnQtZmFtaWx5OiAkaGVsdmV0aWNhLWxpZ2h0O1xuXG4gID4gZGl2LCA+IHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG5cbiAgICBAaW5jbHVkZSBtcShwaGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH1cblxuICAgIEBpbmNsdWRlIG1xKHBob25lLWJpZykge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cblxuICAuaWNvbi1ob2xkZXIge1xuICAgIGZvbnQtc2l6ZTogNTVweDtcblxuICAgIEBpbmNsdWRlIG1xKHBoYWJsZXQpIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG5cblxuLnByb2ZpbGUtb3ZlcnZpZXctYm90dG9tIHtcblxuICA+IHAge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogJGZvbnQtbGlnaHQ7XG4gICAgICBzaXplOiAyMHB4OyB9XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuICAucmVnLWluZm8taG9sZGVyIHtcblxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuICAuZWRpdC1hZGRyZXNzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAyMHB4OyB9IH0gfVxuIiwiLy8gUHJvZmlsZSBvcmRlclxuLnByb2ZpbGUtb3JkZXJzLWhvbGRlciB7XG5cbiAgLm9yZGVyLWxpbmUge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzI1MjUyNTtcbiAgICBsaW5lLWhlaWdodDogNTBweDtcblxuICAgID4gZGl2IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDIwJTtcblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICBmYW1pbHk6ICRmb250LWxpZ2h0O1xuICAgICAgICAgIHNpemU6IDE5cHg7IH1cbiAgICAgICAgY29sb3I6ICMyNTI1MjU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICBmYW1pbHk6ICRmb250LW1lZGl1bTtcbiAgICAgICAgICBzaXplOiAxOXB4OyB9XG4gICAgICAgIGNvbG9yOiAjMjUyNTI1OyB9XG5cbiAgICAgICYucHJpY2Uge1xuXG4gICAgICAgIHAge1xuICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgIGZhbWlseTogJGZvbnQtbWVkaXVtOyB9XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfSB9IH0gfSB9XG5cbi8vIE9yZGVyIGRldGFpbFxuLm9yZGVyLWRldGFpbC1ob2xkZXIge1xuXG4gIC5kZXRhaWwtb3JkZXItaW5mby1ob2xkZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjUyNTI1O1xuXG4gICAgLmJhY2stYnRuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDclO1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgYmFja2dyb3VuZDogIzI1MjUyNTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICBpIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDsgfSB9XG5cbiAgICA+IGRpdiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAzMSU7XG5cbiAgICAgIHAge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgZmFtaWx5OiAkZm9udC1saWdodDtcbiAgICAgICAgICBzaXplOiAxOXB4OyB9XG4gICAgICAgIGNvbG9yOiAjMjUyNTI1O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4OyB9IH0gfVxuXG4gIC5wcm9kdWN0LWRldGFpbHMge1xuICAgIC5yb3ctaG9sZGVyIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyNTI1MjU7XG4gICAgICBmb250OiB7XG4gICAgICAgIGZhbWlseTogJGhlbHZldGljYS10aGluO1xuICAgICAgICBzaXplOiAxOXB4OyB9XG4gICAgICBjb2xvcjogIzI1MjUyNTtcblxuICAgICAgLmFydGljbGUtcGljIHtcbiAgICAgICAgQGV4dGVuZCAuY29sLW1kLTY7IH1cblxuICAgICAgLmFydGljbGUtcHJpY2UsIC5hcnRpY2xlLXF1YW50aXR5LCAuYXJ0aWNsZS1zdW0ge1xuICAgICAgICBAZXh0ZW5kIC5jb2wtbWQtMjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbiAgICAgICYuaGVhZGVyIHtcblxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4OyB9IH1cblxuICAgICAgJi5wcm9kdWN0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5hcnRpY2xlLXByaWNlLCAuYXJ0aWNsZS1xdWFudGl0eSwgLmFydGljbGUtc3VtIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTAlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGNhcnQtZm9udC1zaXplOyB9XG5cbiAgICAgICAgLmltZy1ob2xkZXIge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICAgICAgICAgIHdpZHRoOiAyNzBweDtcbiAgICAgICAgICBoZWlnaHQ6IDI3MHB4O1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjcwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH0gfSB9IH1cblxuXG4gIC5wcm9kdWN0LWRldGFpbHMtYm90dG9tIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBwYWRkaW5nOiA0MHB4IDYwcHggMjBweDtcblxuXG4gICAgLnBkZi1idG4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGZvbnQ6IHtcbiAgICAgICAgZmFtaWx5OiAkaGVsdmV0aWNhLXRoaW47XG4gICAgICAgIHNpemU6IDE5cHg7IH1cbiAgICAgIGNvbG9yOiAjMjUyNTI1O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuICAgIC50b3RhbC1jb3N0IHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgZm9udDoge1xuICAgICAgICBmYW1pbHk6ICRoZWx2ZXRpY2EtdGhpbjtcbiAgICAgICAgc2l6ZTogMTlweDsgfVxuICAgICAgY29sb3I6ICMyNTI1MjU7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMDBweDsgfVxuXG4gICAgICBwIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH0gfSB9XG4iLCIvLyBTaGlwcGluZyBhZGRyZXNzXG4uc2hpcHBpbmctaG9sZGVyIHtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgLmZvcm0tYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgJi5zaGlwcGluZy1ib3R0b20ge1xuICAgICAgcGFkZGluZy1yaWdodDogMjQ1cHg7IH0gfSB9XG5cbi5jdXJyZW50LWFkZHJlc3NlcyB7XG4gIHBhZGRpbmc6IDAgMjQ1cHg7XG5cbiAgPiBwIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6ICRoZWx2ZXRpY2EtdGhpbjtcbiAgICAgIHNpemU6IDE5cHg7IH1cbiAgICBjb2xvcjogIzI1MjUyNTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbiAgQGluY2x1ZGUgbXEobGFwdG9wLXNtYWxsKSB7XG4gICAgcGFkZGluZzogMCAxMTVweDsgfVxuXG4gIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgIHBhZGRpbmc6IDAgMzVweDsgfVxuXG4gIEBpbmNsdWRlIG1xKHBob25lLWJpZykge1xuICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG5cbi5hZGRyZXNzZXMtaG9sZGVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMyNTI1MjU7XG4gIHBhZGRpbmc6IDIwcHggMjBweCAwO1xuXG4gID4gZGl2IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlOyB9XG5cbiAgLmNoZWNrYm94LWhvbGRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuICAucmVnLWluZm8ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbiAgLnJlZy1pbmZvLWhvbGRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIGEge1xuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjNweDsgfSB9IH0gfVxuXG5cbiIsIi8vUHJvZmlsZSBhY2Ncbi5wcm9maWxlLWFjYy1ob2xkZXIge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIC8qIENocm9tZS9PcGVyYS9TYWZhcmkgKi8ge1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBjb2xvcjogIzI1MjUyNTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtbGlnaHQ7IH1cblxuICA6Oi1tb3otcGxhY2Vob2xkZXIgLyogRmlyZWZveCAxOSsgKi8ge1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBjb2xvcjogIzI1MjUyNTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtbGlnaHQ7IH1cblxuICAtbXMtaW5wdXQtcGxhY2Vob2xkZXI6ICAvKiBJRSAxMCsgKi8ge1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBjb2xvcjogIzI1MjUyNTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtbGlnaHQ7IH1cblxuICAtbW96LXBsYWNlaG9sZGVyOiAgLyogRmlyZWZveCAxOC0gKi8ge1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBjb2xvcjogIzI1MjUyNTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtbGlnaHQ7IH1cblxuICAucmVnLWJpcnRoIHtcblxuICAgIC5hY2MtYnRuIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfSB9XG5cblxuXG5cbiAgLmFjYy1jaGFuZ2UtaW5mbyB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDsgfVxuXG5cbiAgLmNoYW5nZS1wYXNzd29yZCBwIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWxpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH0gfVxuXG4udXJsLWJ0biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiAjMjUyNTI1O1xuICBjb2xvcjogI2ZmZjtcbiAgaGVpZ2h0OiA0MHB4O1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDAgMzBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IG5vbmU7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4ycyBsaW5lYXIpO1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuODsgfSB9XG4iLCIvLyBPcmRlciBwYWdlXG4ub3JkZXItbmF2IHtcbiAgbWFyZ2luOiAwIGF1dG8gNTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNjAwcHg7XG5cbiAgQGluY2x1ZGUgbXEocGhhYmxldCkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCBudWxsIC0xMnB4IDUwJSk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAwKSk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDY1JTtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG5cbiAgdWwge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDAgNTBweDtcbiAgICAgIGZvbnQ6IHtcbiAgICAgICAgZmFtaWx5OiAkZm9udC1tZWRpdW07XG4gICAgICAgIHNpemU6IDIwcHg7IH1cbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgLTE4cHggNTAlKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLDApKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHotaW5kZXg6IDk5OyB9XG5cbiAgICAgICYuYWN0aXZlOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfSB9IH1cblxuLmJ1dHRvbnMtaG9sZGVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gIGEge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmLnJlZy1idG4ge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDsgfSB9IH1cblxuLm9yZGVyLXJlZyB7XG5cbiAgLm5ld3NsZXR0ZXItY2hlY2tib3gge1xuICAgIHdpZHRoOiA2MCU7IH0gfVxuXG5wLm1pbi10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1tZWRpdW07XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgY29sb3I6ICMyNTI1MjU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgJi5maXJzdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9IH1cblxuLmNhcnQtd3JhcC5vcmRlci1jYXJ0IC5yb3ctaG9sZGVyLnByb2R1Y3Q6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNhcnQtd3JhcC5vcmRlci1jYXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGEuYmFjay1idG4ge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZDogIzI1MjUyNTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBpIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1zaXplOiAzNnB4OyB9IH0gfVxuXG4uY2FydC13cmFwLm9yZGVyLWNhcnQgLnJvdy1ob2xkZXIge1xuICAuYXJ0aWNsZS1waWMge1xuXG4gICAgcCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4OyB9IH0gfVxuXG4ub3JkZXItY2FydCB7XG5cbiAgLm9yZGVyLWNhcnQtaW5mbyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiA3MHB4O1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuXG4gICAgaDQge1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgZm9udC1mYW1pbHk6ICRoZWx2ZXRpY2EtdGhpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LW1lZGl1bTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfSB9XG5cbiAgLnBheS1tZXRob2Qge1xuICAgIHBhZGRpbmctbGVmdDogNzBweDtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcblxuICAgIGZvbnQtc2l6ZTogMjBweDtcblxuICAgIHNwYW4ge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWJvbGQ7IH0gfSB9XG4iLCIvLyBPcmRlciBwYXltZW50XG5cbi5wYXltZW50LWhvbGRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICA+IHAge1xuXG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuICA+IGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG5cbiAgLnBheW1lbnQtc2luZ2xlLWhvbGRlciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM3MDcwNzA7XG4gICAgd2lkdGg6IDI4MHB4O1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAzMHB4IDMwcHggMzBweDtcblxuXG4gICAgLnBpYy1ob2xkZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICBpbWcge1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIG51bGwgbnVsbCA1MCUpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsLTUwJSkpO1xuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4gICAgcCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbGluZS1oZWlnaHQ6IDEwMHB4O1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWJvbGQ7IH1cblxuICAgIC5jaGVjay1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICYuYWN0aXZlIC5jaGVjay1pY29uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0xM3B4IC0xM3B4IG51bGwgbnVsbCk7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgei1pbmRleDogOTk7XG4gICAgICBjb2xvcjogIzFhZDgxMDsgfSB9IH1cbiIsIi8vQ3JlYXRlIHNob2UgcGFnZVxuLy8uY3JlYXRlLXBhZ2VcblxuLnNob2Utd3JhcCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxNDBweDtcblxuICAubGVmdC1jb250ZW50IHtcbiAgICBAZXh0ZW5kIC5jb2wtbWQtNDsgfVxuXG4gIC5yaWdodC1jb250ZW50IHtcbiAgICBAZXh0ZW5kIC5jb2wtbWQtODtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbiAgaDQge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1saWdodDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBjb2xvcjogIzMzMzsgfSB9XG5cbi5kZXRhaWxzLXdyYXAge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgIC8vb3ZlcmZsb3cteTogc2Nyb2xsXG4gICAgd2lkdGg6IDEwMCU7IH1cblxuICAuZGV0YWlscy1ob2xkZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgIG1hcmdpbi1yaWdodDogLTVweDtcblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgLy93aWR0aDogNzIwcHhcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbiAgICBAaW5jbHVkZSBtcShwaGFibGV0KSB7XG4gICAgICAvL3dpZHRoOiA2MDBweFxuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuICAgIC5zaW5nbGUtZGV0YWlsLWhvbGRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICYgLnNpbmdsZS1kZXRhaWwge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCA0cHggcmdiYShyZWQsIDAuNCk7IH0gfSB9XG5cbiAgICAuc2luZ2xlLWRldGFpbCB7XG4gICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgaGVpZ2h0OiAxMTBweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMnMgZWFzZS1vdXQpO1xuXG4gICAgICBAaW5jbHVkZSBtcShwaGFibGV0KSB7XG4gICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICBoZWlnaHQ6IDkwcHg7IH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cblxuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDUxLDUxLDUxLDAuOCk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1tZWRpdW07XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtcShwaG9uZS1iaWcpIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuXG4gICAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtcShwaGFibGV0KSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7IH1cblxuICAgICAgICBAaW5jbHVkZSBtcShwaG9uZS1iaWcpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4OyB9IH0gfSB9IH1cblxuLm1hdGVyaWFsLXdyYXAge1xuICBmbG9hdDogbGVmdDtcbiAgLy9wb3NpdGlvbjogYWJzb2x1dGVcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNzVweDtcbiAgei1pbmRleDogOTk7XG5cbiAgQGluY2x1ZGUgbXEobGFwdG9wLXNtYWxsKSB7XG4gICAgbGVmdDogLTUwcHg7IH1cblxuICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDsgfVxuXG4gIEBpbmNsdWRlIG1xKHBoYWJsZXQpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG5cbi5tYXRlcmlhbC1ob2xkZXIge1xuICAvL2ZvbnQtc2l6ZTogMFxuXG4gIC5zaW5nbGUtbWF0ZXJpYWwtaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICYuYWN0aXZlIHtcblxuICAgICAgLm1hdGVyaWFsLXBpYyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmVkICFpbXBvcnRhbnQ7IH0gfVxuXG4gICAgJjpudGgtY2hpbGQoMykge1xuIH0gICAgICAvL2Rpc3BsYXk6IG5vbmVcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuICAgIC5zaW5nbGUtbWF0ZXJpYWwge1xuICAgICAgd2lkdGg6IDcwcHg7XG5cbiAgICAgIC5tYXRlcmlhbC1waWMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCAxcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTBweDtcbiAgICAgICAgd2lkdGg6IDY1cHg7XG4gICAgICAgIGhlaWdodDogNjVweDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMnMgZWFzZS1vdXQpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHBoYWJsZXQpIHtcbiAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICBoZWlnaHQ6IDQ1cHg7IH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCA0cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSBudWxsIG51bGwgNTAlKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsLTUwJSkpO1xuICAgICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICAgIGhlaWdodDogNzBweDsgfSB9XG5cbiAgICAgIHAge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9IH0gfVxuXG4ucGxlYXNlLXNlbGVjdC1wYXJ0IHtcbiAgZm9udC1zaXplOiAyMnB4OyB9XG5cbi5wcmljZS13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuXG4gIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTUwcHgpOyB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4gICAgQGluY2x1ZGUgbXEocGhhYmxldCkge1xuICAgICAgZm9udC1zaXplOiAyMnB4OyB9IH0gfVxuXG4ucmlnaHQtY29udGVudCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmJpZy1pbWctaG9sZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvL2hlaWdodDogNTUycHhcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy93aWR0aDogODAwcHhcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDcwcHg7XG5cbiAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDQ2MHB4O1xuICAgIGhlaWdodDogMjgwcHg7IH1cblxuICBAaW5jbHVkZSBtcSg1NDApIHtcbiAgICB3aWR0aDogMzQwcHg7XG4gICAgaGVpZ2h0OiAyNjBweDsgfVxuXG4gIEBpbmNsdWRlIG1xKHBob25lLXNtYWxsKSB7XG4gICAgd2lkdGg6IDI4MHB4O1xuICAgIGhlaWdodDogMjMwcHg7IH1cblxuICAubWFpbi1waWMsIC5sYXllciB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDQ1JSBudWxsIG51bGwgNTAlKTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsLTUwJSkpO1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgdG9wOiA1MCU7IH0gfVxuXG4gIC8vJiAubGF5ZXJcbiB9ICAvLyAgcG9zaXRpb246IGFic29sdXRlXG5cbi51bmRlci10b3Age1xuICBAaW5jbHVkZSBjbGVhcmZpeDsgfVxuXG4udW5kZXItcGljdHVyZSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5jb2xvcnMtd3JhcCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIG1heC13aWR0aDogNTcwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk7XG5cbiAgQGluY2x1ZGUgbXEocGhhYmxldCkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4gIGg0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgQGluY2x1ZGUgbXEocGhhYmxldCkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuICAuY29sb3JzLWhvbGRlciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICBAaW5jbHVkZSBtcShwaGFibGV0KSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4gIC5zaW5nbGUtY29sb3Ige1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgQGluY2x1ZGUgbXEocGhhYmxldCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDZweDsgfVxuXG4gICAgJi5ncmVlbiB7XG4gICAgICBiYWNrZ3JvdW5kOiBncmVlbjsgfVxuXG4gICAgJi5yZWQge1xuICAgICAgYmFja2dyb3VuZDogcmVkOyB9XG5cbiAgICAmLmJsdWUge1xuICAgICAgYmFja2dyb3VuZDogYmx1ZTsgfVxuXG4gICAgaW1nIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfSB9IH1cblxuLmJ1eS1idG4taG9sZGVyIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuXG4gIEBpbmNsdWRlIG1xKHBoYWJsZXQpIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuXG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICMyNTI1MjU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjJzIGVhc2Utb3V0KTtcblxuICAgIEBpbmNsdWRlIG1xKHBoYWJsZXQpIHtcbiAgICAgIHdpZHRoOiAyNDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjg7IH0gfSB9XG5cbiNjb2xvci1wcmV2aWV3IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDlweDtcbiAgaGVpZ2h0OiAxMDlweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuI21hdGVyaWFsQ29sb3JzIHtcbiAgbWF4LXdpZHRoOiA0NjBweDtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qKiB0b29sdGlwIGhvdmVyICogKi9cblxuW2RhdGEtdG9vbHRpcF0sIC5jb2xvcnMtd3JhcCAuc2luZ2xlLWNvbG9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLyogQmFzZSBzdHlsZXMgZm9yIHRoZSBlbnRpcmUgdG9vbHRpcCAqL1xuXG5bZGF0YS10b29sdGlwXSB7XG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MClcIjtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLyotd2Via2l0LXRyYW5zaXRpb246XG4gICAgICogICAgICAgIG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCxcbiAgICAgKiAgICAgICAgdmlzaWJpbGl0eSAwLjJzIGVhc2UtaW4tb3V0LFxuICAgICAqICAgICAgICAtd2Via2l0LXRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjcxLCAxLjcsIDAuNzcsIDEuMjQpO1xuICAgICAqLW1vei10cmFuc2l0aW9uOlxuICAgICAqICAgICAgICBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsXG4gICAgICogICAgICAgIHZpc2liaWxpdHkgMC4ycyBlYXNlLWluLW91dCxcbiAgICAgKiAgICAgICAgLW1vei10cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMC43MSwgMS43LCAwLjc3LCAxLjI0KTtcbiAgICAgKnRyYW5zaXRpb246XG4gICAgICogICAgICAgIG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCxcbiAgICAgKiAgICAgICAgdmlzaWJpbGl0eSAwLjJzIGVhc2UtaW4tb3V0LFxuICAgICAqICAgICAgICB0cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMC43MSwgMS43LCAwLjc3LCAxLjI0KTsgKi9cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0gfVxuXG4uY29sb3JzLXdyYXAgLnNpbmdsZS1jb2xvciB7XG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MClcIjtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLyotd2Via2l0LXRyYW5zaXRpb246XG4gICAgICogICAgICAgIG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCxcbiAgICAgKiAgICAgICAgdmlzaWJpbGl0eSAwLjJzIGVhc2UtaW4tb3V0LFxuICAgICAqICAgICAgICAtd2Via2l0LXRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjcxLCAxLjcsIDAuNzcsIDEuMjQpO1xuICAgICAqLW1vei10cmFuc2l0aW9uOlxuICAgICAqICAgICAgICBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsXG4gICAgICogICAgICAgIHZpc2liaWxpdHkgMC4ycyBlYXNlLWluLW91dCxcbiAgICAgKiAgICAgICAgLW1vei10cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMC43MSwgMS43LCAwLjc3LCAxLjI0KTtcbiAgICAgKnRyYW5zaXRpb246XG4gICAgICogICAgICAgIG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCxcbiAgICAgKiAgICAgICAgdmlzaWJpbGl0eSAwLjJzIGVhc2UtaW4tb3V0LFxuICAgICAqICAgICAgICB0cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMC43MSwgMS43LCAwLjc3LCAxLjI0KTsgKi9cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0gfVxuXG4vKiBTaG93IHRoZSBlbnRpcmUgdG9vbHRpcCBvbiBob3ZlciBhbmQgZm9jdXMgKi9cblxuW2RhdGEtdG9vbHRpcF0ge1xuICAmOmhvdmVyIHtcbiAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0xMDApXCI7XG4gICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMCk7XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgJjpmb2N1cyB7XG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKVwiO1xuICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0xMDApO1xuICAgICAgb3BhY2l0eTogMTsgfSB9IH1cblxuLmNvbG9ycy13cmFwIC5zaW5nbGUtY29sb3Ige1xuICAmOmhvdmVyIHtcbiAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0xMDApXCI7XG4gICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMCk7XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgJjpmb2N1cyB7XG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKVwiO1xuICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0xMDApO1xuICAgICAgb3BhY2l0eTogMTsgfSB9XG4gICY6YmVmb3JlIHtcbiAgICB6LWluZGV4OiA5OTk5OTk5OTtcbiAgICBib3JkZXI6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiBcIlwiOyB9IH1cblxuLyogQmFzZSBzdHlsZXMgZm9yIHRoZSB0b29sdGlwJ3MgZGlyZWN0aW9uYWwgYXJyb3cgKi9cblxuW2RhdGEtdG9vbHRpcF06YmVmb3JlIHtcbiAgei1pbmRleDogOTk5OTk5OTk7XG4gIGJvcmRlcjogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29udGVudDogXCJcIjsgfVxuXG4vKiBCYXNlIHN0eWxlcyBmb3IgdGhlIHRvb2x0aXAncyBjb250ZW50IGFyZWEgKi9cblxuLmNvbG9ycy13cmFwIC5zaW5nbGUtY29sb3I6YWZ0ZXIge1xuICB6LWluZGV4OiAxMDAwO1xuICBwYWRkaW5nOiA4cHg7XG4gIHdpZHRoOiAxNjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSgwLCAwJSwgMjAlLCAwLjkpO1xuICBjb2xvcjogI2ZmZjtcbiAgY29udGVudDogYXR0cihkYXRhLWNvbG9yLXRpdGxlKTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbltkYXRhLXRvb2x0aXBdIHtcbiAgJjphZnRlciB7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgd2lkdGg6IDE2MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSgwLCAwJSwgMjAlLCAwLjkpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1jb2xvci10aXRsZSk7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLyogRGlyZWN0aW9ucyAqL1xuXG4vKiBUb3AgKGRlZmF1bHQpICovXG5cbi5jb2xvcnMtd3JhcCB7XG4gIC5zaW5nbGUtY29sb3Ige1xuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5zaW5nbGUtY29sb3ItdG9wIHtcbiAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfSB9XG5cbltkYXRhLXRvb2x0aXBdOmJlZm9yZSB7XG4gIG1hcmdpbi1sZWZ0OiAtNnB4O1xuICBtYXJnaW4tYm90dG9tOiAtMTJweDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogaHNsYSgwLCAwJSwgMjAlLCAwLjkpOyB9XG5cbi5jb2xvcnMtd3JhcCB7XG4gIC5zaW5nbGUtY29sb3I6YmVmb3JlLCAuc2luZ2xlLWNvbG9yLXRvcDpiZWZvcmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IC0xMnB4O1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogaHNsYSgwLCAwJSwgMjAlLCAwLjkpOyB9IH1cblxuW2RhdGEtdG9vbHRpcF06YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogLTgwcHg7IH1cblxuLmNvbG9ycy13cmFwIHtcbiAgLnNpbmdsZS1jb2xvcjphZnRlciwgLnNpbmdsZS1jb2xvci10b3A6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAtODBweDsgfSB9XG5cbltkYXRhLXRvb2x0aXBdIHtcbiAgJjpob3ZlciB7XG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEycHgpO1xuICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEycHgpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMnB4KTtcbiAgICAgIHotaW5kZXg6IDk5OTk5OTk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAmOmZvY3VzIHtcbiAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTJweCk7XG4gICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTJweCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEycHgpO1xuICAgICAgei1pbmRleDogOTk5OTk5OTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9IH1cblxuLmNvbG9ycy13cmFwIHtcbiAgLnNpbmdsZS1jb2xvciB7XG4gICAgJjpob3ZlciB7XG4gICAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMnB4KTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEycHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEycHgpO1xuICAgICAgICB6LWluZGV4OiA5OTk5OTk5O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgICY6Zm9jdXMge1xuICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTJweCk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMnB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMnB4KTtcbiAgICAgICAgei1pbmRleDogOTk5OTk5OTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH0gfVxuICAuc2luZ2xlLWNvbG9yLXRvcCB7XG4gICAgJjpob3ZlciB7XG4gICAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMnB4KTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEycHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEycHgpO1xuICAgICAgICB6LWluZGV4OiA5OTk5OTk5O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgICY6Zm9jdXMge1xuICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTJweCk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMnB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMnB4KTtcbiAgICAgICAgei1pbmRleDogOTk5OTk5OTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH0gfSB9XG5cbiNmcmVlLXNoaXBwaW5nIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyMDBweDtcblxuICBAaW5jbHVkZSBtcShwaGFibGV0KSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG87IH0gfVxuIiwiLy8gRmFxIHBhZ2Vcbi5mYXEtd3JhcCB7XG4gIG1pbi1oZWlnaHQ6IDUwMHB4O1xuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbiguMnMgbGluZWFyKTtcblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldC1zbWFsbCkge1xuICAgICAgZm9udC1zaXplOiAyNHB4OyB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxuXG4gICAgJi51aS1hY2NvcmRpb24taGVhZGVyLWFjdGl2ZSB7XG4gICAgICBzcGFuLmFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgc3Bhbi5pbmFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4gICAgJi51aS1hY2NvcmRpb24taGVhZGVyLWNvbGxhcHNlZCB7XG4gICAgICBzcGFuLmluYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICBzcGFuLmFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfSB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldC1zbWFsbCkge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH0gfVxuXG5cbi8vIENvbnRhY3RcbiNnbWFwIHtcbiAgaGVpZ2h0OiA1NTBweDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgaGVpZ2h0OiAzNTBweDsgfSB9XG5cbi5jb250YWN0LXdyYXAge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5jb250YWN0LWZvcm0ge1xuICBAZXh0ZW5kIC5jb250YWluZXI7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBwYWRkaW5nOiA2NXB4IDYwcHg7XG4gIG1hcmdpbjogLTE1MHB4IGF1dG8gNjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgIHBhZGRpbmc6IDI1cHg7IH1cblxuICAuZm9ybS1ob2xkZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA3MCU7XG4gICAgbWFyZ2luLXJpZ2h0OiA1JTtcblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgMCAyNXB4OyB9XG5cbiAgICAuZm91ci1pbnB1dHMge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgIC5pbnB1dC13cmFwIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEocGhhYmxldCkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiByZWQ7IH0gfVxuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuXG4gICAgICAgICAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDM1cHg7IH0gfSB9IH1cblxuXG4gICAgLnRleHRhcmVhLWhvbGRlciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgICAgQGluY2x1ZGUgbXEocGhhYmxldCkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiByZWQ7IH0gfVxuXG4gICAgICB0ZXh0YXJlYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgICAgICAgaGVpZ2h0OiAxNTBweDsgfSB9IH1cblxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICB3aWR0aDogMTUwcHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtbWVkaXVtO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjJzIGxpbmVhcik7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIG1xKHBoYWJsZXQpIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7IH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGNvbG9yOiAjMjUyNTI1OyB9IH0gfVxuXG4gIC5hZGRyZXNzLWhvbGRlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG5cbiAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbiAgICAudGV4dC1ob2xkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LW1lZGl1bTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9IH0gfSB9XG5cbi8vIFN0YXRpYyBwYWdlc1xuLnN0YXRpYy1wYWdlcyB7XG4gIG1pbi1oZWlnaHQ6IDYwMHB4O1xuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7IH1cblxuICB1bCBsaSB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuXG4gIGg1IHtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXJlZ3VsYXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIGIge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LW1lZGl1bTtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfSB9XG5cbi8vU2l6ZSBtb2RhbFxuLm1vZGFsLXdyYXAge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUpO1xuXG4gIC5tb2RhbC1jb250ZW50LCAubW9kYWwtaW5mby1zaXplLWNvbnRlbnQge1xuICAgIHdpZHRoOiA1MDBweDtcbiAgICBwYWRkaW5nOiA0MHB4IDUwcHg7XG4gICAgYmFja2dyb3VuZDogIzI1MjUyNTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIG51bGwgbnVsbCA1MCUpO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwtNTAlKSk7XG5cbiAgICAmLm1vZGFsLWluZm8tc2l6ZS1jb250ZW50IHtcbiAgICAgIHRvcDogNTIlOyB9XG5cbiAgICAuc2l6ZS1tb2RhbC1jbG9zZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4gICAgLnNpemUtaW5mby1tb2RhbC1jbG9zZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4gICAgQGluY2x1ZGUgbXEobGFwdG9wKSB7XG4gICAgICB3aWR0aDogOTklO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLDApKTtcbiAgICAgIHRvcDogMTVweCAhaW1wb3J0YW50OyB9XG5cbiAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgIGhlaWdodDogOTB2aDtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG5cbiAgICBwLCBoNSwgaDQge1xuICAgICAgY29sb3I6ICNmOGY4Zjg7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH1cblxuICAgIGg1IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuICAgIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbiAgICAudGFibGUge1xuICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG5cbiAgICAgIHRkIHtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbiAgICAgIHRyIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7IH1cblxuICAgICAgdHIuYm9sZC1yb3cgdGQge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfSB9XG5cbiAgICAubWFpbi13cmFwIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAvLy52aWRlby13cmFwXG4gICAgICAvLyAgZmxvYXQ6IGxlZnRcbiAgICAgIC8vICB3aWR0aDogNjAlXG4gICAgICAvLyAgbWFyZ2luLXJpZ2h0OiAxMCVcbiAgICAgIC8vXG4gICAgICAvLyAgK21xKHRhYmxldClcbiAgICAgIC8vICAgIGZsb2F0OiBub25lXG4gICAgICAvLyAgICBtYXgtd2lkdGg6IDQwMHB4XG4gICAgICAvLyAgICB3aWR0aDogOTUlXG4gICAgICAvLyAgICBtYXJnaW46IDAgYXV0byAyNXB4XG4gICAgICAvLyAgICB0ZXh0LWFsaWduOiBjZW50ZXJcblxuICAgICAgLmZvcm0taG9sZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIC8vZmxvYXQ6IGxlZnRcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuXG4gICAgICAgIC5pbnB1dC13cmFwIHtcbiAgICAgICAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuICAgICAgICAuc2luZ2xlLWltZy13cmFwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7IH1cblxuICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICAgICAgY29sb3I6ICNmOGY4Zjg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICBjb2xvcjogcmVkOyB9IH1cblxuICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4gICAgICAgIGJ1dHRvbiNhZGRUb0NhcnQge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICB3aWR0aDogMTA1cHg7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyNTI1MjU7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMnMgbGluZWFyKTtcblxuICAgICAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7IH1cblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGNvbG9yOiAjMjUyNTI1O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9IH0gfSB9IH1cblxuICAubW9kYWwtaW5mby1zaXplLWNvbnRlbnQge1xuICAgIHdpZHRoOiA3NTVweDtcblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgaGVpZ2h0OiA5MHZoO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgcGFkZGluZzogMjBweCAyMHB4IDQwcHggMjBweDtcbiAgICAgIHdpZHRoOiA5OSU7XG5cbiAgICAgIGlmcmFtZSB7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfVxuXG4gICAgICB0YWJsZSB7XG4gICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICAgIHRkIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfSB9XG5cbiAgICBAaW5jbHVkZSBtcShwaG9uZS1iaWcpIHtcbiAgICAgIGhlaWdodDogOTB2aDtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMjBweCA0MHB4IDIwcHg7XG4gICAgICB3aWR0aDogOTklO1xuXG4gICAgICBpZnJhbWUge1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH1cblxuICAgICAgdGFibGUge1xuICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgICB0ZCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH0gfVxuXG4gICAgQGluY2x1ZGUgbXEocGhhYmxldCkge1xuICAgICAgaGVpZ2h0OiA5MHZoO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgcGFkZGluZzogMjBweCAyMHB4IDQwcHggMjBweDtcbiAgICAgIHdpZHRoOiA5OSU7XG5cbiAgICAgIGlmcmFtZSB7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfVxuXG4gICAgICB0YWJsZSB7XG4gICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICAgIHRkIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfSB9IH0gfVxuXG4uc3VjLWZhaWwge1xuICBwYWRkaW5nLXRvcDogNjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogNDdweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4gIGkge1xuICAgIGZvbnQtc2l6ZTogOTBweDtcblxuICAgICYuZmEtY2hlY2stY2lyY2xlIHtcbiAgICAgIGNvbG9yOiAjODdEMzdDOyB9XG5cbiAgICAmLmZhLXRpbWVzLWNpcmNsZSB7XG4gICAgICBjb2xvcjogI0VGNDgzNjsgfSB9IH1cbiIsIi8vTmV3IGNzc1xuLnNpemUtc2VsZWN0LXdyYXAge1xuICB6LWluZGV4OiA5OTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMzVweDtcbiAgdG9wOiAxMDBweDtcbiAgYmFja2dyb3VuZDogdXJsKGh0dHA6Ly9pNjIudGlueXBpYy5jb20vMTV4dmJkNS5wbmcpIG5vLXJlcGVhdCA5MiUgMDtcbiAgaGVpZ2h0OiAyOXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNTI1MjU7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LWZhbWlseTogJGZvbnQtYmxhY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cblxuICBzZWxlY3Qge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgaGVpZ2h0OiAyOXB4O1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgIHdpZHRoOiAxNDBweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LWZhbWlseTogJGZ1dHVyYS1ib29rO1xuXG4gICAgQGluY2x1ZGUgbXEocGhhYmxldCkge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG5cbiAgICBvcHRpb24ge1xuICAgICAgYmFja2dyb3VuZDogI0Q4RDdEODtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgY29sb3I6ICMyMjI7XG5cbiAgICAgIEBpbmNsdWRlIG1xKHBoYWJsZXQpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH0gfSB9XG5cbiNzaXplLWluZm8ge1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICB6LWluZGV4OiA5OTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAxMDBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgdG9wOiAtMjlweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH0gfVxuXG4uYXZhdGFyLWhvbGRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDMzJTtcbiAgZmxvYXQ6IHJpZ2h0O1xuXG4gIGEuYXZhdGFyLWljb24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbiAgLmxvZ291dC1idG4ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAmOmhvdmVyIC5sb2dvdXQtYnRuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA2MHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMTUwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogIzI1MjUyNTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC00cHgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjJzIGxpbmVhcik7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYTVhNWE1OyB9IH0gfVxuXG5cbmhlYWRlciBhIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjJzIGxpbmVhcik7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICNhNWE1YTU7IH0gfVxuXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBZ0ZBQTs7OztHQUlHO0FpQ0tILEFBQUEsVUFBVSxFa0RvQ1YsQWxEcENBLFFrRG9DUSxFc0JHUixBeEV2Q0EsYXdFdUNhLEN4RXZDRjtFREhULFlBQVksRUFBRSxJQUFJO0VBQ2xCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFlBQVksRUFBRyxJQUFvQjtFQUNuQyxhQUFhLEVBQUUsSUFBbUIsR0NZbkM7RUFaRCxBTElFLFVLSlEsQUxJOUQsT0FBOEQsRXVEZ0NWLEFsRHBDQSxRa0RvQ1EsQXZEaEM1RCxPQUE4RCxFNkVtQ1YsQXhFdkNBLGF3RXVDYSxBN0VuQ2pFLE9BQThELEVLSlYsQUxLRSxVS0xRLEFMSzlELE1BQTZELEV1RCtCVCxBbERwQ0EsUWtEb0NRLEF2RC9CNUQsTUFBNkQsRTZFa0NULEF4RXZDQSxhd0V1Q2EsQTdFbENqRSxNQUE2RCxDQUFDO0lBQ04sT0FBTyxFQUFFLEdBQUc7SUFDWixPQUFPLEVBQUUsS0FBSyxHQUNmO0VLUkgsQUxTRSxVS1RRLEFMUzlELE1BQTZELEV1RDJCVCxBbERwQ0EsUWtEb0NRLEF2RDNCNUQsTUFBNkQsRTZFOEJULEF4RXZDQSxhd0V1Q2EsQTdFOUJqRSxNQUE2RCxDQUFDO0lBQ04sS0FBSyxFQUFFLElBQUksR0FDWjtFS1JELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJQUgxQixBQUFBLFVBQVUsRWtEb0NWLEFsRHBDQSxRa0RvQ1EsRXNCR1IsQXhFdkNBLGF3RXVDYSxDeEV2Q0Y7TUFJUCxLQUFLLEVoQzJVc0IsS0FBNEIsR2dDblUxRDtFQU5DLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJQU4xQixBQUFBLFVBQVUsRWtEb0NWLEFsRHBDQSxRa0RvQ1EsRXNCR1IsQXhFdkNBLGF3RXVDYSxDeEV2Q0Y7TUFPUCxLQUFLLEVoQzZVc0IsS0FBNEIs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LEVBQUUsQUFBQSxHQUFHLEVBQUUsQUFBQSxHQUFHLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxHQUFHLEVBQUUsQUFBQSxHQUFHO0FBQ25GLEFBQUEsR0FBRyxFQUFFLEFBQUEsQ0FBQyxFQUFFLEFBQUEsQ0FBQyxFQUFFLEFBQUEsSUFBSSxFQUFFLEFBQUEsS0FBSyxFQUFFLEFBQUEsTUFBTSxFQUFFLEFBQUEsTUFBTSxFQUFFLEFBQUEsR0FBRyxFQUFFLEFBQUEsR0FBRyxFQUFFLEFBQUEsRUFBRSxFQUFFLEFBQUEsR0FBRyxFQUFFLEFBQUEsQ0FBQyxFQUFFLEFBQUEsQ0FBQyxFQUFFLEFBQUEsQ0FBQyxFQUFFLEFBQUEsTUFBTSxFQUFFLEFBQUEsRUFBRSxFQUFFLEFBQUEsRUFBRSxFQUFFLEFBQUEsRUFBRSxFQUFFLEFBQUEsRUFBRSxFQUFFLEFBQUEsRUFBRTtBQUM5RixBQUFBLEVBQUUsRUFBRSxBQUFBLFFBQVEsRUFBRSxBQUFBLElBQUksRUFBRSxBQUFBLEtBQUssRUFBRSxBQUFBLE1BQU0sRUFBRSxBQUFBLEtBQUssRUFBRSxBQUFBLE9BQU8sRUFBRSxBQUFBLEtBQUssRUFBRSxBQUFBLEtBQUssRUFBRSxBQUFBLEtBQUssRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLE9BQU8sRUFBRSxBQUFBLEtBQUs7QUFDbEcsQUFBQSxNQUFNLEVBQUUsQUFBQSxPQUFPLEVBQUUsQUFBQSxLQUFLLEVBQUUsQUFBQSxNQUFNLEVBQUUsQUFBQSxVQUFVLEVBQUUsQUFBQSxNQUFNLEVBQUUsQUFBQSxNQUFNLEVBQUUsQUFBQSxJQUFJLEVBQUUsQUFBQSxHQUFHLEVBQUUsQUFBQSxNQUFNLEVBQUUsQUFBQSxJQUFJLEVBQUUsQUFBQSxPQUFPO0FBQzVGLEFBQUEsT0FBTyxFQUFFLEFBQUEsSUFBSSxFQUFFLEFBQUEsSUFBSSxFQUFFLEFBQUEsS0FBSyxFQUFFLEFBQUEsS0FBSyxDQUFDO0VBQ2hDLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFF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 */
