.space-0 {
  margin-right: 0px;
  margin-left: 0px; }
  .space-0 > div {
    padding-right: 0px;
    padding-left: 0px; }

.compare-modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100%;
  height: 100%;
  outline: 0;
  pointer-events: none;
  opacity: 0;
  filter: opacity(0);
  visibility: hidden; }
  .compare-modal.open {
    opacity: 1;
    filter: opacity(1);
    visibility: visible; }

.compare-modal .compare-content,
.compare-modal .compare-bar {
  pointer-events: auto; }

.compare-modal .compare-content {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #292a30;
  padding: 15px 15px 78px 15px;
  opacity: 0;
  filter: opacity(0);
  visibility: hidden; }
  .compare-modal .compare-content.open {
    opacity: 1;
    filter: opacity(1);
    visibility: visible; }

.compare-modal .compare-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 78px;
  background: #292a30;
  padding: 15px; }

.compare-content-inner {
  background: #fff;
  position: relative;
  height: 100%;
  width: 100%;
  overflow-x: hidden;
  padding: 0 0px 15px;
  border-top: 1px solid #e6e6e6;
  border-left: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6; }
  .compare-content-inner::-webkit-scrollbar {
    width: 4px;
    height: 40px; }
  .compare-content-inner::-webkit-scrollbar-button {
    display: none; }
  .compare-content-inner::-webkit-scrollbar-thumb {
    background: var(--color-main); }
  .compare-content-inner::-webkit-scrollbar-track {
    background: #f1f1f1; }

.compare-bar-items .compare-bar-item {
  position: relative;
  display: inline-block;
  margin-left: 10px; }
  .compare-bar-items .compare-bar-item img {
    height: 48px;
    width: 48px;
    object-fit: cover;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px; }
  .compare-bar-items .compare-bar-item .compare-bar-remove {
    right: 2px;
    left: auto;
    opacity: 0;
    filter: opacity(0);
    visibility: hidden; }
    .compare-bar-items .compare-bar-item .compare-bar-remove i {
      width: 12px;
      height: 12px;
      line-height: 10px;
      border-radius: 0;
      -webkit-border-radius: 0;
      -moz-border-radius: 0;
      -ms-border-radius: 0;
      -o-border-radius: 0; }
  .compare-bar-items .compare-bar-item:hover .compare-bar-remove {
    opacity: 1;
    filter: opacity(1);
    visibility: visible; }

.compare-bar-remove {
  cursor: pointer;
  width: 12px;
  height: 12px;
  line-height: 12px;
  text-align: center;
  position: absolute;
  top: 2px;
  left: 2px;
  -webkit-box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.1);
  z-index: 1; }
  .compare-bar-remove i {
    font-size: 10px;
    width: 14px;
    height: 14px;
    line-height: 12px;
    color: #292a30;
    border: 1px solid #6d6d6d;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%; }
  .compare-bar-remove:hover {
    background: #fff; }
    .compare-bar-remove:hover i {
      color: var(--color-hightlight);
      border: 1px solid var(--color-hightlight); }

.compare-bar-btn {
  height: 48px;
  line-height: 48px;
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
  background: var(--color-hightlight);
  color: #fff;
  padding: 0 20px 0 68px;
  margin-left: 15px;
  position: relative;
  cursor: pointer; }
  .compare-bar-btn i {
    position: absolute;
    top: 0;
    left: 0;
    height: 48px;
    width: 48px;
    text-align: center;
    line-height: 48px;
    font-size: 20px;
    background: rgba(0, 0, 0, 0.1); }

.title-compare {
  background-color: #f1f1f1;
  padding: 10px; }

.sticky-title-compare {
  background: #fff;
  z-index: 15;
  border-bottom: 1px solid #f1f1f1; }

.compare-content-close {
  position: fixed;
  top: 15px;
  right: 20px;
  z-index: 99; }
  .compare-content-close i {
    font-size: 32px;
    color: var(--color-hightlight); }

.compare-bar-close {
  font-size: 30px;
  color: #fff; }

.ratio-compare {
  position: relative;
  padding-top: 60%; }

.ratio-compare img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: auto !important;
  object-fit: contain !important; }

.inner-compare {
  height: 100%;
  padding: 15px;
  border-right: 1px solid #e6e6e6; }

.placeholder-empty {
  position: relative;
  height: 100%;
  width: 100%; }
  .placeholder-empty::before {
    position: absolute;
    content: '';
    display: inline-block;
    width: 60px;
    height: 8px;
    background-color: #eee;
    border-radius: 2px;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }

.placeholder-add {
  position: relative;
  width: 100%;
  height: 100%;
  display: inline-block; }
  .placeholder-add i {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 32px;
    border: 1px dashed #bdbdbd;
    padding: 15px; }

.product-action .btn-product-action.added-compare i::before {
  content: "\f058";
  font-weight: 900; }

div:not(.compare-modal) > div > .compare-bar,
div:not(.compare-modal) > div > .compare-content .compare-content-inner .compare-content-close {
  display: none !important; }

div:not(.compare-modal) > div > .compare-content .compare-content-inner {
  padding: 0; }

div:not(.compare-modal) > div > .compare-content .compare-content-inner .sticky-title-compare {
  z-index: 1; }

@media (min-width: 1200px) {
  .compare-modal .inner-compare {
    padding: 20px 20px 15px; } }

@media (max-width: 767px) {
  .product-status {
    display: none; }
  .compare-bar-btn {
    padding: 0; }
    .compare-bar-btn span {
      display: none; }
    .compare-bar-btn i {
      position: static; }
  .compare-content .product-title, .compare-content .btn-product-action {
    font-size: 14px; } }

.is-mobile .product-status {
  display: none; }

.is-mobile .compare-bar-btn {
  padding: 0; }
  .is-mobile .compare-bar-btn span {
    display: none; }
  .is-mobile .compare-bar-btn i {
    position: static; }

.is-mobile .compare-content .product-title, .is-mobile .compare-content .btn-product-action {
  font-size: 14px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS5jc3MiLCJzb3VyY2VzIjpbImNvbXBhcmUuc2NzcyIsInZhcnMvX3ZhcmlhYmxlcy5zY3NzIiwibWl4aW5zL19taXhpbnMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwidmFycy92YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIm1peGlucy9taXhpbnNcIjtcclxuLnNwYWNlLTB7XHJcblx0bWFyZ2luLXJpZ2h0OiAwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xyXG4gICAgPmRpdntcclxuICAgIFx0cGFkZGluZy1yaWdodDogMHB4O1xyXG4gICAgXHRwYWRkaW5nLWxlZnQ6IDBweDtcclxuICAgIH1cclxufVxyXG4uY29tcGFyZS1tb2RhbHtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgei1pbmRleDogJHppbmRleC1jb21wYXJlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBvcGFjaXR5LWgoKTtcclxuICAgICYub3BlbiB7XHJcbiAgICBcdEBpbmNsdWRlIG9wYWNpdHktcygpO1xyXG4gICAgfVxyXG59XHJcbi5jb21wYXJlLW1vZGFse1xyXG5cdC5jb21wYXJlLWNvbnRlbnQsXHJcblx0LmNvbXBhcmUtYmFye1xyXG5cdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XHJcblx0fVxyXG5cdC5jb21wYXJlLWNvbnRlbnR7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0ICAgIHRvcDogMDtcclxuXHQgICAgbGVmdDogMDtcclxuXHQgICAgd2lkdGg6IDEwMCU7XHJcblx0ICAgIGhlaWdodDogMTAwJTtcclxuXHQgICAgYmFja2dyb3VuZDogcmdiKDQxLCA0MiwgNDgpO1xyXG5cdFx0cGFkZGluZzogMTVweCAxNXB4IDc4cHggMTVweDtcclxuXHRcdEBpbmNsdWRlIG9wYWNpdHktaCgpO1xyXG5cdCAgICAmLm9wZW4ge1xyXG5cdCAgICBcdEBpbmNsdWRlIG9wYWNpdHktcygpO1xyXG5cdCAgICB9XHJcblx0fVxyXG5cdC5jb21wYXJlLWJhcntcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHQgICAgYm90dG9tOiAwO1xyXG5cdCAgICBsZWZ0OiAwO1xyXG5cdCAgICB3aWR0aDogMTAwJTtcclxuXHQgICAgaGVpZ2h0OiA3OHB4O1xyXG5cdCAgICBiYWNrZ3JvdW5kOiByZ2IoNDEsIDQyLCA0OCk7XHJcblx0XHRwYWRkaW5nOiAxNXB4O1xyXG5cdH1cclxufVxyXG5cclxuLmNvbXBhcmUtY29udGVudC1pbm5lcntcclxuXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgcGFkZGluZzogMCAwcHggMTVweDtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTZlNmU2O1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTZlNmU2O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XHJcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcblx0ICAgIHdpZHRoOiA0cHg7XHJcblx0ICAgIGhlaWdodDogNDBweDtcclxuXHR9XHJcblx0Jjo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uIHtcclxuXHQgICAgZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblx0Jjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG5cdCAgICBiYWNrZ3JvdW5kOiAkdGV4dC1jb2xvci1zZWNvbmQ7XHJcblx0fVxyXG5cdCY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuXHQgICAgYmFja2dyb3VuZDogI2YxZjFmMTtcclxuXHR9XHJcbn1cclxuXHJcbi5jb21wYXJlLWJhci1pdGVtcyB7XHJcblx0LmNvbXBhcmUtYmFyLWl0ZW17XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRtYXJnaW4tbGVmdDogMTBweDtcclxuXHRcdGltZyB7XHJcblx0XHRcdGhlaWdodDogNDhweDtcclxuXHRcdFx0d2lkdGg6IDQ4cHg7XHJcblx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xyXG5cdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCk7XHJcblx0XHR9XHJcblx0XHQuY29tcGFyZS1iYXItcmVtb3Zle1xyXG5cdFx0XHRyaWdodDogMnB4O1xyXG5cdFx0XHRsZWZ0OiBhdXRvO1xyXG5cdFx0XHRAaW5jbHVkZSBvcGFjaXR5LWgoKTtcclxuXHRcdFx0aSB7XHJcblx0XHQgICAgXHR3aWR0aDogMTJweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDEycHg7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEwcHg7XHJcblx0XHRcdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Jjpob3ZlciAuY29tcGFyZS1iYXItcmVtb3Zle1xyXG5cdFx0XHRAaW5jbHVkZSBvcGFjaXR5LXMoKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmNvbXBhcmUtYmFyLXJlbW92ZXtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0d2lkdGg6IDEycHg7XHJcblx0aGVpZ2h0OiAxMnB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxMnB4O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAycHg7XHJcbiAgICBsZWZ0OiAycHg7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMTNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAxM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgaXtcclxuICAgIFx0Zm9udC1zaXplOiAxMHB4O1xyXG4gICAgXHR3aWR0aDogMTRweDtcclxuXHRcdGhlaWdodDogMTRweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxMnB4O1xyXG5cdFx0Y29sb3I6ICMyOTJhMzA7XHJcbiAgICBcdGJvcmRlcjogMXB4IHNvbGlkICM2ZDZkNmQ7XHJcblx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVye1xyXG4gICAgXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgXHRpe1xyXG4gICAgXHRcdGNvbG9yOiB2YXIoLS1jb2xvci1oaWdodGxpZ2h0KTtcclxuICAgIFx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1oaWdodGxpZ2h0KTtcclxuICAgIFx0fVxyXG4gICAgXHRcclxuICAgIH1cclxufVxyXG4uY29tcGFyZS1iYXItYnRue1xyXG5cdGhlaWdodDogNDhweDtcclxuXHRsaW5lLWhlaWdodDogNDhweDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHRiYWNrZ3JvdW5kOiAkdGV4dC1jb2xvci10aGlyZDtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHRwYWRkaW5nOiAwIDIwcHggMCA2OHB4O1xyXG5cdG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0aSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0aGVpZ2h0OiA0OHB4O1xyXG5cdFx0d2lkdGg6IDQ4cHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRsaW5lLWhlaWdodDogNDhweDtcclxuXHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjEpO1xyXG5cdH1cclxufVxyXG4udGl0bGUtY29tcGFyZXtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xyXG5cdHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuLnN0aWNreS10aXRsZS1jb21wYXJle1xyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0ei1pbmRleDogMTU7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMWYxZjE7XHJcbn1cclxuLmNvbXBhcmUtY29udGVudC1jbG9zZXtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0dG9wOiAxNXB4O1xyXG5cdHJpZ2h0OiAyMHB4O1xyXG5cdHotaW5kZXg6IDk5O1xyXG5cdGl7XHJcblx0XHRmb250LXNpemU6IDMycHg7XHJcblx0XHRjb2xvcjogJHRleHQtY29sb3ItdGhpcmQ7XHJcblx0fVxyXG59XHJcbi5jb21wYXJlLWJhci1jbG9zZXtcclxuXHRmb250LXNpemU6IDMwcHg7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG4ucmF0aW8tY29tcGFyZXtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0cGFkZGluZy10b3A6IDYwJTtcclxufVxyXG4ucmF0aW8tY29tcGFyZSBpbWd7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIG9iamVjdC1maXQ6IGNvbnRhaW4gIWltcG9ydGFudDtcclxufVxyXG4uaW5uZXItY29tcGFyZXtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0cGFkZGluZzogMTVweDtcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTZlNmU2O1xyXG59XHJcbi5wbGFjZWhvbGRlci1lbXB0eXtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdCY6OmJlZm9yZXtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdCAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0ICAgIHdpZHRoOiA2MHB4O1xyXG5cdCAgICBoZWlnaHQ6IDhweDtcclxuXHQgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcclxuXHQgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG5cdCAgICAtbW96LWJvcmRlci1yYWRpdXM6IDJweDtcclxuXHQgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7XHJcblx0ICAgIHRvcDogNTAlO1xyXG4gIFx0XHRsZWZ0OiA1MCU7XHJcbiAgXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG5cdH1cclxufVxyXG4ucGxhY2Vob2xkZXItYWRke1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdGkge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiA1MCU7XHJcbiAgXHRcdGxlZnQ6IDUwJTtcclxuICBcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgXHRcdGZvbnQtc2l6ZTogMzJweDtcclxuICBcdFx0Ym9yZGVyOiAxcHggZGFzaGVkICNiZGJkYmQ7XHJcbiAgXHRcdHBhZGRpbmc6IDE1cHg7XHJcblx0fVxyXG59XHJcbi5wcm9kdWN0LWFjdGlvbntcclxuXHQuYnRuLXByb2R1Y3QtYWN0aW9uIHtcclxuXHRcdCYuYWRkZWQtY29tcGFyZXtcclxuXHRcdFx0aTo6YmVmb3Jle1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxmMDU4XCI7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5kaXY6bm90KC5jb21wYXJlLW1vZGFsKSB7XHJcblx0PmRpdntcclxuXHRcdD4uY29tcGFyZS1iYXIsXHJcblx0XHQ+LmNvbXBhcmUtY29udGVudCAuY29tcGFyZS1jb250ZW50LWlubmVyIC5jb21wYXJlLWNvbnRlbnQtY2xvc2V7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHRcdD4uY29tcGFyZS1jb250ZW50IC5jb21wYXJlLWNvbnRlbnQtaW5uZXJ7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHR9XHJcblx0XHQ+LmNvbXBhcmUtY29udGVudCAuY29tcGFyZS1jb250ZW50LWlubmVyIC5zdGlja3ktdGl0bGUtY29tcGFyZXtcclxuXHRcdFx0ei1pbmRleDogMTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuQG1lZGlhKG1pbi13aWR0aDogMTIwMHB4KXtcclxuXHQuY29tcGFyZS1tb2RhbCAuaW5uZXItY29tcGFyZXtcclxuXHRcdHBhZGRpbmc6IDIwcHggMjBweCAxNXB4O1xyXG5cdH1cclxufVxyXG5AbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG5cdC5wcm9kdWN0LXN0YXR1c3tcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cdC5jb21wYXJlLWJhci1idG4ge1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdHNwYW4ge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cdFx0aSB7XHJcblx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5jb21wYXJlLWNvbnRlbnR7XHJcblx0XHQucHJvZHVjdC10aXRsZSwgLmJ0bi1wcm9kdWN0LWFjdGlvbntcclxuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uaXMtbW9iaWxlIC5wcm9kdWN0LXN0YXR1c3tcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcbi5pcy1tb2JpbGUgLmNvbXBhcmUtYmFyLWJ0biB7XHJcblx0cGFkZGluZzogMDtcclxuXHRzcGFuIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cdGkge1xyXG5cdFx0cG9zaXRpb246IHN0YXRpYztcclxuXHR9XHJcbn1cclxuLmlzLW1vYmlsZSAuY29tcGFyZS1jb250ZW50e1xyXG5cdC5wcm9kdWN0LXRpdGxlLCAuYnRuLXByb2R1Y3QtYWN0aW9ue1xyXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdH1cclxufSIsIi8vIENvbG9yXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuJGJsdWUgICAgICAgICAgICA6IHZhcigtLWJsdWUpO1xyXG4kaW5kaWdvXHRcdFx0IDogdmFyKC0taW5kaWdvKTtcclxuJHB1cnBsZVx0XHRcdCA6IHZhcigtLXB1cnBsZSk7XHJcbiRwaW5rXHRcdFx0IDogdmFyKC0tcGluayk7XHJcbiRyZWQgICAgICAgICAgICAgOiB2YXIoLS1yZWQpO1xyXG4kb3JhbmdlXHRcdFx0IDogdmFyKC0tb3JhbmdlKTtcclxuJHllbGxvdyAgICAgICAgICA6IHZhcigtLXllbGxvdyk7XHJcbiRncmVlbiAgICAgICAgICAgOiB2YXIoLS1ncmVlbik7XHJcbiR0ZWFsICAgICAgICAgICAgOiB2YXIoLS10ZWFsKTtcclxuJGN5YW4gICAgICAgICAgICA6IHZhcigtLWN5YW4pOztcclxuJHdoaXRlICAgICAgICAgICA6IHZhcigtLXdoaXRlKTtcclxuJGdyYXkgICAgICAgICAgICA6IHZhcigtLWdyYXkpO1xyXG4kZ3JheS1kYXJrICAgICAgIDogIzM0M2E0MCAhZGVmYXVsdDtcclxuJHByaW1hcnkgICAgICAgICA6ICMwMDdiZmYgIWRlZmF1bHQ7XHJcbiRzZWNvbmRhcnkgICAgICAgOiAjNmM3NTdkICFkZWZhdWx0O1xyXG4kc3VjY2VzcyAgICAgICAgIDogJGdyZWVuICFkZWZhdWx0O1xyXG4kaW5mbyBcdFx0XHQgOiAkY3lhbiAhZGVmYXVsdDtcclxuJHdhcm5pbmcgXHRcdCA6ICR5ZWxsb3cgIWRlZmF1bHQ7XHJcbiRkYW5nZXIgXHRcdCA6IHZhcigtLXJlZCk7XHJcbiRsaWdodCBcdFx0IFx0IDogdmFyKC0tbGlnaHQpO1xyXG4kZGFyayBcdFx0IFx0IDogIzM0M2E0MCAhZGVmYXVsdDtcclxuJGJsYWNrICAgICAgICAgICA6IHZhcigtLWJsYWNrKTtcclxuJG5vY29sb3IgICAgICAgICA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG4keWVsbG93LWRhcmsgICAgIDogI2YyY2IyZSAhZGVmYXVsdDtcclxuJHJlZC1kYXJrICAgICAgICA6ICNjZTRmM2UgIWRlZmF1bHQ7XHJcbiR0dXJxdW9pc2UgICAgICAgOiAjOWM2MTljICFkZWZhdWx0O1xyXG4kYnJvd24tbGlnaHRcdCA6ICNlYjU0NTQgIWRlZmF1bHQ7XHJcbiRsaWdodC1ncmF5ICAgICAgOiBsaWdodGVuKCMwMDAwMDAsIDYwJSkgIWRlZmF1bHQ7ICAgICAgIFxyXG4kdmVyeS1saWdodC1ncmF5IDogI2U1ZTVlNSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgXHJcbiR2ZXJ5LWRhcmstZ3JheSAgOiBsaWdodGVuKCMwMDAwMDAsIDklKSAhZGVmYXVsdDsgICAgICAgICBcclxuJGdyYXktZGFya2VyICAgICA6ICMwZDI5MmYgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgIFxyXG4kZ3JheS1saWdodCAgICAgIDogbGlnaHRlbigjMDAwLCA0Ni43JSkgIWRlZmF1bHQ7ICAgICAgICAgXHJcbiRncmF5LWxpZ2h0ZXIgICAgOiBsaWdodGVuKCMwMDAsIDkzLjUlKSAhZGVmYXVsdDsgICAgICAgICBcclxuXHJcbiRicmFuZC1wcmltYXJ5ICAgOiAjMDAwICFkZWZhdWx0O1xyXG4kYnJhbmQtc3VjY2VzcyAgIDogJHN1Y2Nlc3MgIWRlZmF1bHQ7XHJcbiRicmFuZC1pbmZvICAgICAgOiAkaW5mbyAhZGVmYXVsdDtcclxuJGJyYW5kLXdhcm5pbmcgICA6ICR3YXJuaW5nICFkZWZhdWx0O1xyXG4kYnJhbmQtZGFuZ2VyICAgIDogJGRhbmdlciAhZGVmYXVsdDtcclxuJGNvbG9yLW92ZXJsYXlcdCA6IHJnYmEoMCwwLDAsLjUpICFkZWZhdWx0O1xyXG4gXHJcblxyXG4vLz09IFBhdGhcclxuLy9cclxuLy8jIFBhdGggZm9udCwgZm9udC1uYW1lXHJcbiRmb250LXBhdGhcdFx0XHQ6XCIuLi9mb250cy9cIiAhZGVmYXVsdDtcclxuJGZvbnQtbmFtZSBcdFx0XHQ6XCJNb250c2VycmF0XCIgIWRlZmF1bHQ7XHJcblxyXG4kaWNvbi1mb250LXBhdGggXHQ6XCIuLi9mb250cy1pY29uL1wiO1xyXG4kaW1hZ2UtcGF0aCBcdFx0OlwiLi4vaW1nL1wiO1xyXG5cclxuLy89PSBUeXBvZ3JhcGh5ICBcclxuLy9cclxuLy8jIyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cclxuJGZvbnQtZmFtaWx5LWJhc2VcdDonTW9udHNlcnJhdCcsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xyXG4kZm9udC1mYW1pbHktaWNvblx0OidMaW5lIEF3ZXNvbWUgRnJlZScgIWRlZmF1bHQ7XHJcblxyXG4vL2ljb246IGNvbnRlbnQ6IGljb24tY29udGVudCgkY29kZS1pY29uKVxyXG4kaWNvbl91cCBcdFx0XHQ6IFxcZjEwNiFkZWZhdWx0O1xyXG4kaWNvbl9kb3duIFx0XHRcdDogXFxmMTA3IWRlZmF1bHQ7XHJcbiRpY29uX2N1dFx0XHRcdDogXFxmMGM0IWRlZmF1bHQ7XHJcbiRpY29uX25leHRcdFx0XHQ6IFxcZjEwNSFkZWZhdWx0O1xyXG4kaWNvbl9wcmV2XHRcdFx0OiBcXGYxMDQhZGVmYXVsdDtcclxuJGljb25fY2hlY2tcdFx0XHQ6IFxcZjAwYyFkZWZhdWx0O1xyXG4kaWNvbl9wZW5jaWxcdFx0OiBcXGYzMDMhZGVmYXVsdDtcclxuJGljb25fcGx1c1x0XHRcdDogXFxmMDY3IWRlZmF1bHQ7XHJcbiRpY29uX21pbnVzXHRcdFx0OiBcXGYwNjghZGVmYXVsdDtcclxuJGljb25faW1hZ2VcdFx0XHQ6IFxcZjAzZSFkZWZhdWx0O1xyXG4kaWNvbl92aWRlb1x0XHRcdDogXFxmMDA4IWRlZmF1bHQ7XHJcbiRpY29uX2ZpbGVcdFx0XHQ6IFxcZjE1YyFkZWZhdWx0O1xyXG4kaWNvbl9zdGFydFx0XHRcdDogXFxmMDA1IWRlZmF1bHQ7XHJcblxyXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgIDE0cHggIWRlZmF1bHQ7XHJcbiRmb250LXNpemUtc21hbGw6ICAgICAgICAgMTNweDtcclxuJGZvbnQtc2l6ZS10aW55OiAgICAgICAgICAxMnB4O1xyXG4kZm9udC1zaXplLXZlcnktdGlueTogICAgIDEwcHg7XHJcbiRmb250LXNpemUtbGFyZ2U6ICAgICAgICAgMTZweCAhZGVmYXVsdDtcclxuJGZvbnQtc2l6ZS1leHRyYS1sYXJnZTogICAxOHB4ICFkZWZhdWx0O1xyXG4kZm9udC1zaXplLWljb246XHRcdCAgMjBweCAhZGVmYXVsdDtcclxuXHJcbiRmb250LXNpemUtaDEgOiAyNHB4ICFkZWZhdWx0O1xyXG4kZm9udC1zaXplLWgyIDogMjBweCAhZGVmYXVsdDtcclxuJGZvbnQtc2l6ZS1oMyA6IDE4cHggIWRlZmF1bHQ7XHJcbiRmb250LXNpemUtaDQgOiAxNnB4ICFkZWZhdWx0O1xyXG4kZm9udC1zaXplLWg1IDogMTNweCAhZGVmYXVsdDtcclxuJGZvbnQtc2l6ZS1oNiA6IDExcHggIWRlZmF1bHQ7XHJcblxyXG4kZm9udC13ZWlnaHQtYmFzZTogNDAwICFkZWZhdWx0O1xyXG5cclxuJGZvbnQtc2l6ZS1sZyAgICAgICAgICAgICAgICAgICAgOiA0OHB4ICFkZWZhdWx0O1xyXG4kZm9udC1zaXplLW1kICAgICAgICAgICAgICAgICAgICA6IDM1cHggIWRlZmF1bHQ7XHJcbiRmb250LXNpemUtc20gICAgICAgICAgICAgICAgICAgIDogJGZvbnQtc2l6ZS1oNSAhZGVmYXVsdDtcclxuJGZvbnQtc2l6ZS14cyAgICAgICAgICAgICAgICAgICAgOiAkZm9udC1zaXplLWg2ICFkZWZhdWx0O1xyXG4kdGV4dC1sZWFkLWZvbnQtc2l6ZSAgICAgICAgICAgICA6IDE4cHggIWRlZmF1bHQ7XHJcbiRpY29uLWZvbnQtc2l6ZS1iYXNlICAgICAgICAgICAgIDogMTRweCAhZGVmYXVsdDtcclxuJGhlYWRpbmdzLXRyYW5zZm9ybSAgICAgICAgICAgICAgOiBub25lICFkZWZhdWx0O1xyXG4kdGV4dC1oaWdodGxpZ2h0ICAgICAgICAgICAgICAgICA6ICRibGFjayAhZGVmYXVsdDtcclxuJGNsb3NlLWZvbnQtc2l6ZSAgICAgICAgICAgICAgICAgOiAyMHB4ICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIEJvcmRlciBjb2xvclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiRib3JkZXItY29sb3IgIFx0XHRcdFx0XHQgOiAjZTNlM2UzICFkZWZhdWx0O1xyXG4kYm9yZGVyLWF0dHJpYnV0ZVx0XHRcdFx0IDogI2I4YjdiZCAhZGVmYXVsdDtcclxuXHJcbi8vKiogR2xvYmFsIHRleHQgY29sb3IuXHJcbiR0ZXh0LWRhbmdlclx0XHRcdFx0XHQgOiB2YXIoLS1yZWQpO1xyXG4kdGV4dC1zdWNjZXNzXHRcdFx0XHRcdCA6ICMzOTAgIWRlZmF1bHQ7XHJcbiR0ZXh0LXByaW1hcnlcdFx0XHRcdFx0IDogIzU4NjdkZCAhZGVmYXVsdDtcclxuJHRleHQtc2Vjb25kYXJ5XHRcdFx0XHRcdCA6ICNlMWUxZWYgIWRlZmF1bHQ7XHJcbiR0ZXh0LWluZm9cdFx0XHRcdFx0IFx0IDogIzU1NzhlYiAhZGVmYXVsdDtcclxuJHRleHQtd2FybmluZ1x0XHRcdFx0XHQgOiAjZmZiODIyICFkZWZhdWx0O1xyXG4kdGV4dC1saWdodFx0XHRcdFx0XHQgXHQgOiAkbGlnaHQgIWRlZmF1bHQ7XHJcbiR0ZXh0LWRhcmtcdFx0XHRcdFx0IFx0IDogIzM0M2E0MCAhZGVmYXVsdDtcclxuJHRleHQtbXV0ZWRcdFx0XHRcdFx0IFx0IDogIzc0Nzg4ZCAhZGVmYXVsdDtcclxuJHRleHQtY29sb3IgICAgICAgICAgICAgICAgICAgICAgOiB2YXIoLS1jb2xvci10ZXh0KTsgLy8tLS0tLTY2NlxyXG4kdGV4dC1jb2xvci1zZWNvbmRcdCAgICAgICAgICBcdCA6IHZhcigtLWNvbG9yLW1haW4pOy8vLS0tLS0yMjJcclxuJHRleHQtY29sb3ItdGhpcmQgICAgICAgICAgICAgIFx0IDogdmFyKC0tY29sb3ItaGlnaHRsaWdodCk7IC8vLS0tLS1jMzNcclxuJHRleHQtY29sb3ItZm91ciAgICAgICAgICAgICAgXHQgOiAjYTZhNmE2ICFkZWZhdWx0O1xyXG4kdGV4dC1jb2xvci1maXZlICAgICAgICAgICAgICBcdCA6ICNlNmU2ZTYgIWRlZmF1bHQ7XHJcblxyXG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1ib3JkZXI6ICAgICAgICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1jb2xvci1ib3gtc2hhZG93Olx0XHQgcmdiYSgwLDAsMCwuMTUpO1xyXG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAjZTZlNmU2ICFkZWZhdWx0O1xyXG5cclxuLy89PSBTbGlkZXJcclxuLy9cclxuLy8jIyBcclxuJHNsaWRlci10aXRsZS1zaXplXHRcdFx0XHRcdCA6IDI0cHggIWRlZmF1bHQ7XHJcbiRzbGlkZXItY29sb3JcdFx0XHRcdFx0XHQgOiAkdGV4dC1jb2xvci1zZWNvbmQgIWRlZmF1bHQ7XHJcbiRzbGlkZXItbGluZS1oZWlnaHQtYmFzZVx0XHRcdCA6IDM2cHggIWRlZmF1bHQ7XHJcbiRzbGlkZXItc2l6ZS1sYXJnZVx0XHRcdFx0XHQgOiA4NXB4ICFkZWZhdWx0O1xyXG4kc2xpZGVyLWxpbmUtaGVpZ2h0LWxhcmdlXHRcdFx0IDogOTBweCAhZGVmYXVsdDtcclxuJHNsaWRlci1oZWlnaHRcdFx0XHRcdFx0XHQgOiA2NzBweCAhZGVmYXVsdDtcclxuJHNsaWRlci1iZ1x0XHRcdFx0XHRcdCBcdCA6ICNmMWYxZjEgIWRlZmF1bHQ7XHJcblxyXG4vLz09IEFzcGVjdCBSYXRpb1xyXG4vL1xyXG4vLyMjIFxyXG4kcmF0aW8tMS0xXHRcdFx0XHRcdFx0XHQgOiAxMDAlICFkZWZhdWx0O1xyXG4kcmF0aW8tMTYtOVx0XHRcdFx0XHRcdFx0IDogNTYuMjUlICFkZWZhdWx0O1xyXG4kcmF0aW8tNC0zXHRcdFx0XHRcdFx0XHQgOiA3NSUgIWRlZmF1bHQ7XHJcbiRyYXRpby0zLTJcdFx0XHRcdFx0XHRcdCA6IDY2LjY2JSAhZGVmYXVsdDtcclxuJHJhdGlvLTgtNVx0XHRcdFx0XHRcdFx0IDogNjIuNSUgIWRlZmF1bHQ7XHJcbiRyYXRpby1jdXN0b21lXHRcdFx0XHRcdFx0IDogMTMwJSAhZGVmYXVsdDtcclxuXHJcbi8vPT0gTWVudVxyXG4vL1xyXG4vLyMjIENvbnZlbmllbmNlIGZ1bmN0aW9uIHVzZWQgdG8gc2V0IGNvbnRlbnQgcHJvcGVydHlcclxuQGZ1bmN0aW9uIGljb24tY29udGVudCgkY29kZS1pY29uKSB7XHJcbiAgQHJldHVybiB1bnF1b3RlKFwiXFxcIiN7JGNvZGUtaWNvbn1cXFwiXCIpO1xyXG59XHJcblxyXG4vLyBtZW51IFxyXG4kdGl0bGUtbWVudTogJHRleHQtY29sb3Itc2Vjb25kICFkZWZhdWx0O1xyXG4kbGluay1tZW51OiAkdGV4dC1jb2xvciAhZGVmYXVsdDtcclxuJGhvdmVyLW1lbnU6ICR0ZXh0LWNvbG9yLXRoaXJkO1xyXG4kbWVudS1jb2xvciA6ICM4ODg7XHJcbiRtZW51LXdlaWdodC1ib2xkXHRcdFx0XHQgOiA2MDAgIWRlZmF1bHQ7XHJcbiRtZW51LWljb24tY2hpbGRcdFx0XHRcdCA6IFxcZjA3OCAgIWRlZmF1bHQ7XHJcbiRtZW51LWljb24tc2l6ZVx0XHRcdFx0IFx0IDogMTJweCAgIWRlZmF1bHQ7XHJcbi8vIGVuZCBtZW51XHJcblxyXG4vLyoqIERyb3Bkb3duIGxpbmsgdGV4dCBjb2xvci5cclxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgIzMzMyAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgI2Y0ZjRmNCAhZGVmYXVsdDtcclxuXHJcbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSB0ZXh0IGNvbG9yLlxyXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAjMzMzICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAjZjRmNGY0ICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tY2FyZXQtY29sb3I6ICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xyXG5cclxuLy8qKiBEcm9wZG93biBoZWFkZXIgdGV4dCBjb2xvclxyXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAjNjY2ICFkZWZhdWx0O1xyXG5cclxuLy8qKiBHbG9iYWwgdGV4dHVhbCBsaW5rIGNvbG9yLlxyXG4kbGluay1jb2xvcjogICAgICAgICAgICAgJHRleHQtY29sb3IgIWRlZmF1bHQ7XHJcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAkdGV4dC1jb2xvci10aGlyZCAhZGVmYXVsdDtcclxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgIDEuNyAhZGVmYXVsdDtcclxuXHJcbi8vPT0gTWluaUNhcnRcclxuLy9cclxuLy8jIyBcclxuJG1pbmljYXJ0LWljb24tY29sb3JcdFx0XHQgOiRsaWdodDtcclxuXHJcbi8vPT0gaWNvblxyXG4vL1xyXG4vLyMjXHJcbiRpY29uLWNvbG9yOlx0XHRcdCAjMjIyICFkZWZhdWx0O1xyXG4kaWNvbi1ob3ZlcjpcdFx0XHQgbGlnaHRlbigjMjIyLCA2MCUpICFkZWZhdWx0O1xyXG5cclxuLy89PSBGb3Jtc1xyXG4vL1xyXG4vLyMjXHJcblxyXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkbGlnaHQgIWRlZmF1bHQ7XHJcbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcclxuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgI2RlZTJlNiAhZGVmYXVsdDtcclxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgMHB4ICFkZWZhdWx0O1xyXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAgICAgICAgICAgICAjNjZhZmU5ICFkZWZhdWx0O1xyXG4kaW5wdXQtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xyXG4kYnV0dG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkd2hpdGU7XHJcbiRidXR0b24tYmc6ICAgICAgICAgICAgICAgICAgICAgICR0ZXh0LWNvbG9yLXNlY29uZDtcclxuJGJ1dHRvbi1ob3ZlcjogICAgICAgICAgICAgICAgICAgJHRleHQtY29sb3ItdGhpcmQ7XHJcblxyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6XHRcdFx0IDBweCAhZGVmYXVsdDtcclxuXHJcbi8vLS0gWi1pbmRleCBtYXN0ZXIgbGlzdFxyXG4vL1xyXG4kemluZGV4LW5hdmJhcjogICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xyXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAxMDAwICFkZWZhdWx0O1xyXG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAxMDEwICFkZWZhdWx0O1xyXG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xyXG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xyXG4kemluZGV4LW1lbnU6ICAgICAgICAgICAgICAxMTAwICFkZWZhdWx0O1xyXG4kemluZGV4LXRvb2xiYXI6ICAgICAgICAgICAxMDUwICFkZWZhdWx0OyAvLzExMjBcclxuJHppbmRleC1uYXZiYXItZml4ZWQ6ICAgICAgMTAzMCAhZGVmYXVsdDtcclxuJHppbmRleC1tb2RhbC1iYWNrZ3JvdW5kOiAgMTA0MCAhZGVmYXVsdDtcclxuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcclxuJHppbmRleC1tb2RhbC1jbG9zZTogICAgICAgMTAwMCAhZGVmYXVsdDtcclxuJHppbmRleC1taW5pLWNhcnQ6XHQgICAgICAgMTA1MSAhZGVmYXVsdDtcclxuJHppbmRleC1vdmVybGF5Olx0ICAgICAgIDEwMjAgIWRlZmF1bHQ7XHJcbiR6aW5kZXgtY2hhbmdlLWltYWdlOiAgICAgIDEwICFkZWZhdWx0O1xyXG4kemluZGV4LWF0dHRyaWJ1dGU6ICAgXHQgICA0MCAhZGVmYXVsdDtcclxuJHppbmRleC1hdHR0cmlidXRlLW92ZXJsYXk6MzAgIWRlZmF1bHQ7XHJcbiR6aW5kZXgtcHJvZHVjdC1hY3Rpb246XHQgICAyMCAhZGVmYXVsdDtcclxuJHppbmRleC1xdWljay1zaG9wOlx0XHQgICA1MCAhZGVmYXVsdDtcclxuJHppbmRleC1jb21wYXJlOlx0XHQgICAxMDQwICFkZWZhdWx0O1xyXG5cclxuXHJcblxyXG4kb3ZlcmxheV9kYXJrX2ZhbGxiYWNrXHRcdFx0IDogIzExMTExMSAhZGVmYXVsdDsgXHJcbiRvdmVybGF5X2RhcmsgXHRcdFx0XHRcdCA6ICMzMzMzMzMgIWRlZmF1bHQ7IFxyXG4kb3ZlcmxheV9kYXJrX2RhcmtcdFx0XHRcdCA6ICMxMTExMTEgIWRlZmF1bHQ7IFxyXG5cclxuLy89PSBQcm9kdWN0IEJsb2NrXHJcbi8vXHJcbi8vIyNcclxuJGhlYWRpbmctc2l6ZVx0XHRcdCBcdFx0IDogMzZweCAhZGVmYXVsdDtcclxuJGhlYWRpbmctY29sb3JcdFx0XHRcdFx0IDogJHRleHQtY29sb3Itc2Vjb25kICFkZWZhdWx0O1xyXG4kYmFja2dyb3VuZC1vdXQtc3RvY2tcdFx0XHQgOiAkYmxhY2sgIWRlZmF1bHQ7XHJcbiRiYWNrZ3JvdW5kLW9uc2FsZVx0XHRcdFx0IDogJHJlZCAhZGVmYXVsdDtcclxuJGJhY2tncm91bmQtZmVhdHVyZWRcdFx0XHQgOiAkZ3JlZW4gIWRlZmF1bHQ7XHJcblxyXG4vLz09IFByb2R1Y3QgRGV0YWlsXHJcbi8vXHJcbi8vIyNcclxuJHByb2R1Y3Qtc2l6ZS1wcmljZVx0XHRcdFx0IDogMjRweCAhZGVmYXVsdDtcclxuJHByb2R1Y3Qtc2l6ZS1wcmljZS1vbGRcdFx0XHQgOiAxOHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1zaXplLXF0eVx0XHRcdFx0IDogMjVweCAhZGVmYXVsdDtcclxuXHJcbi8vcHJvZHVjdCBzbWFsbFxyXG4kYm9yZGVyLWNvbG9yIFx0XHRcdFx0XHQgOiAjZTFlMWUxICFkZWZhdWx0O1xyXG5cclxuLy89PSBGb290ZXJcclxuLy9cclxuLy8jI1xyXG4kYmctZm9vdGVyXHRcdFx0XHRcdFx0IDogJGxpZ2h0O1xyXG4kZm9udC1zaXplLWljb25cdFx0XHRcdCBcdCA6IDE4cHggIWRlZmF1bHQ7XHJcbiRmb290ZXItdGl0bGUtY29sb3JcdFx0XHRcdCA6ICR0ZXh0LWNvbG9yLXNlY29uZDtcclxuJGZvb3Rlci1jb2xvclx0XHRcdFx0XHQgOiAjNjY2ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvbG9yLXNlY29uZFx0ICAgICAgICAgOiAjN2E3YTdhIWRlZmF1bHQ7XHJcbiRmb290ZXItY29sb3ItdGhpcmQgICAgICAgICAgICAgIDogIzU0NTk1ZiFkZWZhdWx0O1xyXG5cclxuLy89PSBzb2NpYWxcclxuLy9cclxuLy8jI1xyXG4kY29sb3ItZmFjZWJvb2tcdFx0XHRcdFx0IDogIzM2NTQ5MztcclxuJGNvbG9yLXR3aXR0ZXJcdFx0XHRcdFx0IDogIzNjZjtcclxuJGNvbG9yLWdvb2dsZVx0XHRcdFx0XHQgOiAjZDQ0MTMyO1xyXG4kY29sb3ItcGludGVyZXN0XHRcdFx0XHQgOiAjY2IyMDI3O1xyXG4kY29sb3ItbGlua2VkaW5cdFx0XHRcdCBcdCA6ICMwMjc0YjM7XHJcblxyXG4vLz09IG1pbmkgY2FydFxyXG4vL1xyXG4vLyMjXHJcbiRtaW5pY2FydC1zaXplLWxhcmdlXHRcdFx0IDogMThweCAhZGVmYXVsdDtcclxuJG1pbmljYXJ0LXNpemUtZXh0cmEtbGFyZ2VcdFx0IDogMjRweCAhZGVmYXVsdDtcclxuJGljb24tY2xvc2VcdFx0XHRcdFx0XHQgOiAzMHB4ICFkZWZhdWx0O1xyXG4kaWNvbi10cmFzaFx0XHRcdFx0XHRcdCA6IDE2cHggIWRlZmF1bHQ7XHJcbiRtaW5pY2FyLWNvbG9yXHRcdFx0XHRcdCA6ICMzOTAgIWRlZmF1bHQ7XHJcblxyXG4vLz09IFBhZ2UgaW5mb1xyXG4vL1xyXG4vLyMjXHJcbiRwYWdlLWluZm8tdGl0bGUtc2l6ZVx0XHRcdCA6IDQ4cHggIWRlZmF1bHQ7XHJcbiRwYWdlLWluZm8tbWFyZ2luLWJvdHRvbVx0XHQgOiA2MHB4ICFkZWZhdWx0O1xyXG4kcGFnZS1pbmZvLWJhY2tncm91bmRcdFx0XHQgOiAjZjNmM2YzICFkZWZhdWx0O1xyXG4kcGFnZS1pbmZvLXBhZGRpbmdcdFx0XHRcdCA6IDQ1cHggMCAhZGVmYXVsdDtcclxuJHBhZ2UtaW5mby1zaXplXHRcdFx0XHRcdCA6IDE2cHggIWRlZmF1bHQ7XHJcbiRwYWdlLWluZm8tY29sb3JcdFx0XHRcdCA6ICM5OTkgIWRlZmF1bHQ7XHJcbiRwYWdlLWluZm8tY29sb3ItY3VycmVudFx0XHQgOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vL2NhcnQgaXRlbSBcclxuJGNhcnQtaXRlbS1wcmljZS1jb2xvclx0XHRcdCA6ICMzOTAgIWRlZmF1bHQ7XHJcbiRjYXJ0LWl0ZW0tcHJpY2UtcHJvZHVjdFx0XHQgOiAkdGV4dC1jb2xvci1zZWNvbmQgIWRlZmF1bHQ7XHJcbiRjYXJ0LWl0ZW0tc2l6ZVx0XHRcdFx0XHQgOiAxNnB4ICFkZWZhdWx0O1xyXG4kY2FydC1pdGVtLXNpemUtbGFyZ2VcdFx0XHQgOiAxNnB4ICFkZWZhdWx0O1xyXG4kY2FydC1pdGVtLWJhY2tncm91bmRcdFx0XHQgOiAjZjdmN2Y3ICFkZWZhdWx0O1xyXG4kY2FydC1pdGVtLXNpemUtdG90YWxcdFx0XHQgOiAyNHB4ICFkZWZhdWx0O1xyXG4kY2FydC1hbGVydC1iZ1x0XHRcdFx0XHQgOiAjZGZmMGQ4ICFkZWZhdWx0O1xyXG4kY2FydC1hbGVydC1jb2xvclx0XHRcdFx0IDogIzNjNzYzZCAhZGVmYXVsdDtcclxuXHJcbi8vYWxlcnQgZXJyb3JcclxuJGFsZXJ0LWljb25cdFx0XHRcdFx0XHQgOiA4MHB4ICFkZWZhdWx0O1xyXG4kYWxlcnQtZm9udC1sYXJnZVx0XHRcdFx0IDogMThweCAhZGVmYXVsdDtcclxuXHJcbi8vIGxvYWRpbmcgZWxlbWVudFxyXG4kbG9hZGluZy1jb2xvclx0XHRcdFx0XHQgOiAjNjY2ICFkZWZhdWx0O1xyXG4kbG9hZGluZy1vdmVybGF5XHRcdFx0XHQgOiAjZmZmICFkZWZhdWx0O1xyXG4kbG9hZGluZy1vcGFjaXR5XHRcdFx0XHQgOiAwLjcgIWRlZmF1bHQ7XHRcclxuJGxvYWRpbmctaW5kZXhcdFx0XHRcdFx0IDogMTEwMCAhZGVmYXVsdDtcdFx0XHJcblxyXG4vLyBicmVhZGNydW1zXHJcbiRicmVhZGNydW1zLWNvbG9yICAgICAgICAgICAgICAgIDogJHRleHQtY29sb3I7XHJcbiRicmVhZGNydW1zLWJhY2tncm91bmRcdFx0XHQgOiAkbGlnaHQ7XHJcbiRicmVhZGNydW1zLWFjdGl2ZVx0XHRcdFx0IDogJHRleHQtY29sb3Itc2Vjb25kO1xyXG4kYnJlYWRjcnVtcy1ob3ZlciAgICAgICAgICAgICAgICA6ICR0ZXh0LWNvbG9yLXNlY29uZDtcclxuLy8gZW5kIGJyZWFkY3J1bXNcclxuXHJcbi8vY29tbWVudFxyXG4kY29tbWVudC1iZy1yZXBseVx0XHRcdFx0IDogJGxpZ2h0O1xyXG4vL2VuZCBjb21tZW50XHJcblxyXG4vLyBvcmRlciBieVxyXG4kb3JkZXJieS1iZy1ob3Zlclx0XHRcdFx0IDogI2Y2ZjZmNiAhZGVmYXVsdDtcclxuLy8gZW5kIG9yZGVyIGJ5XHJcblxyXG4vLyB0YWdzXHJcbiR0YWdzLWJnLWhvdmVyXHRcdFx0XHQgOiAjZjFmMWYxICFkZWZhdWx0O1xyXG4vLyBlbmQgdGFnc1xyXG5cclxuXHJcbi8vcmVzcG9uc2l2ZVxyXG4kbW9iaWxlLXdpZHRoOiA1NzZweDsgXHJcbiR0YWJsZXQtd2lkdGg6IDc2OHB4OyBcclxuJGRlc2t0b3Atd2lkdGg6IDk5MnB4O1xyXG5cclxuXHJcbi8vc2xpY2tcclxuJHNsaWNrLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaWNvbjtcclxuJHNsaWNrLWxvYWRlci1wYXRoOiAnaW1nLycgIWRlZmF1bHQ7XHJcbiRzbGljay1mb250LXdlaWdodDogOTAwICFkZWZhdWx0O1xyXG4kc2xpY2stYXJyb3ctY29sb3I6ICMwMDAgIWRlZmF1bHQ7XHJcbiRzbGljay1kb3QtY29sb3I6ICMwMDAgIWRlZmF1bHQ7XHJcbiRzbGljay1kb3QtY29sb3ItYWN0aXZlOiAjMDAwICFkZWZhdWx0O1xyXG4kc2xpY2stcHJldi1jaGFyYWN0ZXI6IFxcZjEwNCFkZWZhdWx0O1xyXG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6IFxcZjEwNSFkZWZhdWx0O1xyXG4kc2xpY2stdXAtY2hhcmFjdGVyOiBcXGYxMDYhZGVmYXVsdDtcclxuJHNsaWNrLWRvd24tY2hhcmFjdGVyOiBcXGYxMDchZGVmYXVsdDtcclxuJHNsaWNrLWRvdC1jaGFyYWN0ZXI6IFwiXFwyMDIyXCIgIWRlZmF1bHQ7XHJcbiRzbGljay1kb3Qtc2l6ZTogNnB4ICFkZWZhdWx0O1xyXG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAwLjc1ICFkZWZhdWx0O1xyXG4kc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjogMSAhZGVmYXVsdDtcclxuJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC4yNSAhZGVmYXVsdDtcclxuXHJcbi8vIERlZmF1bHQgVmFyaWFibGVzXHJcblxyXG4vLyBTbGljayBpY29uIGVudGl0eSBjb2RlcyBvdXRwdXRzIHRoZSBmb2xsb3dpbmdcclxuLy8gXCJcXDIxOTBcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGkFwiXHJcbi8vIFwiXFwyMTkyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpJcIlxyXG4vLyBcIlxcMjAyMlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oCiXCJcclxuXHJcbkBmdW5jdGlvbiBzbGljay1pbWFnZS11cmwoJHVybCkge1xyXG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhpbWFnZS11cmwpIHtcclxuICAgICAgICBAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stbG9hZGVyLXBhdGggKyAkdXJsKTtcclxuICAgIH1cclxufSIsIkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkaTogMSwgJGxpc3Q6IFwiLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiKSB7XHJcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcclxuICAgICRsaXN0OiBcIiN7JGxpc3R9LCAuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9XCI7XHJcbiAgfVxyXG4gICN7JGxpc3R9IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxyXG4gICAgbWluLWhlaWdodDogMXB4O1xyXG4gICAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXHJcbiAgICBwYWRkaW5nLWxlZnQ6ICAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gY2FsYy1ncmlkLWNvbHVtbigkaW5kZXgsICRjbGFzcywgJHR5cGUpIHtcclxuICBAaWYgKCR0eXBlID09IHdpZHRoKSBhbmQgKCRpbmRleCA+IDApIHtcclxuICAgIC5jb2wtI3skY2xhc3N9LSN7JGluZGV4fSB7XHJcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkge1xyXG4gICAgLmNvbC0jeyRjbGFzc30tcHVzaC0jeyRpbmRleH0ge1xyXG4gICAgICBsZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpZiAoJHR5cGUgPT0gcHVsbCkge1xyXG4gICAgLmNvbC0jeyRjbGFzc30tcHVsbC0jeyRpbmRleH0ge1xyXG4gICAgICByaWdodDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAaWYgKCR0eXBlID09IG9mZnNldCkge1xyXG4gICAgLmNvbC0jeyRjbGFzc30tb2Zmc2V0LSN7JGluZGV4fSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBsb29wLWdyaWQtY29sdW1ucygkY29sdW1ucywgJGNsYXNzLCAkdHlwZSkge1xyXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xyXG4gICAgQGluY2x1ZGUgY2FsYy1ncmlkLWNvbHVtbigkaSwgJGNsYXNzLCAkdHlwZSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZmxvYXQtZ3JpZC1jb2x1bW5zKCRjbGFzcykge1xyXG4gICRsaXN0OiAnJztcclxuICAkaTogMTtcclxuICAkbGlzdDogXCIuY29sLSN7JGNsYXNzfS0jeyRpfVwiO1xyXG4gIEBmb3IgJGkgZnJvbSAoMSArIDEpIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XHJcbiAgICAkbGlzdDogXCIjeyRsaXN0fSwgLmNvbC0jeyRjbGFzc30tI3skaX1cIjtcclxuICB9XHJcbiAgI3skbGlzdH0ge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBtYWtlLWdyaWQoJGNsYXNzKSB7XHJcbiAgQGluY2x1ZGUgZmxvYXQtZ3JpZC1jb2x1bW5zKCRjbGFzcyk7XHJcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCB3aWR0aCk7XHJcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdWxsKTtcclxuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHB1c2gpO1xyXG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgb2Zmc2V0KTtcclxufVxyXG5cclxuLy8gV2Via2l0LXN0eWxlIGZvY3VzXHJcbkBtaXhpbiB0YWItZm9jdXMoKSB7XHJcbiAgLy8gRGVmYXVsdFxyXG4gIG91dGxpbmU6IDA7XHJcbiAgLy8gV2Via2l0XHJcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xyXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xyXG59XHJcblxyXG4vLyBDZW50ZXItYWxpZ24gYSBibG9jayBsZXZlbCBlbGVtZW50XHJcbkBtaXhpbiBjZW50ZXItYmxvY2soKSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4vLyBTaXppbmcgc2hvcnRjdXRzXHJcbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodCkge1xyXG4gIHdpZHRoOiAkd2lkdGg7XHJcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG59XHJcbkBtaXhpbiBzcXVhcmUoJHNpemUpIHtcclxuICBAaW5jbHVkZSBzaXplKCRzaXplLCAkc2l6ZSk7XHJcbn1cclxuXHJcbi8vIFBsYWNlaG9sZGVyIHRleHRcclxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICAgeyBjb2xvcjogJGNvbG9yOyB9IC8vIEZpcmVmb3ggNC0xOFxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBGaXJlZm94IDE5K1xyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAgIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBJbnRlcm5ldCBFeHBsb3JlciAxMCtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICB7IGNvbG9yOiAkY29sb3I7IH0gLy8gU2FmYXJpIGFuZCBDaHJvbWVcclxufVxyXG5cclxuLy8gVGV4dCBvdmVyZmxvd1xyXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXHJcbkBtaXhpbiB0ZXh0LW92ZXJmbG93KCkge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XHJcbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvY29tbWl0L2FhMDM5NmVhZTc1N1xyXG5AbWl4aW4gaGlkZS10ZXh0KCkge1xyXG4gIGZvbnQ6IDAvMCBhO1xyXG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IDA7XHJcbn1cclxuQG1peGluIHRleHQtaGlkZSgpIHtcclxuICBAaW5jbHVkZSBoaWRlLXRleHQoKTtcclxufVxyXG5cclxuXHJcbi8vIENTUzMgUFJPUEVSVElFU1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xyXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xyXG59XHJcbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcclxuICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcclxufVxyXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xyXG59XHJcbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcclxufVxyXG5cclxuLy8gRHJvcCBzaGFkb3dzXHJcbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcclxufVxyXG5cclxuLy8gVHJhbnNpdGlvbnNcclxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcclxuICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XHJcbn1cclxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJHRyYW5zaXRpb24tZGVsYXkpIHtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xyXG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XHJcbn1cclxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRyYW5zaXRpb24tZHVyYXRpb24pIHtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XHJcbn1cclxuQG1peGluIHRyYW5zaXRpb24tdHJhbnNmb3JtKCR0cmFuc2l0aW9uLi4uKSB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcclxuICAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xyXG4gICAgICAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xyXG59XHJcblxyXG4vLyBUcmFuc2Zvcm1hdGlvbnNcclxuQG1peGluIHJvdGF0ZSgkZGVncmVlcykge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpOyAvLyBJRTkrXHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XHJcbn1cclxuQG1peGluIHJvdGF0ZVkoJGRlZ3JlZXMpIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpOyAvLyBJRTkrXHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xyXG59XHJcblxyXG5AbWl4aW4gc2NhbGUoJHJhdGlvKSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7IC8vIElFOStcclxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcclxufVxyXG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcclxuICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xyXG4gICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XHJcbn1cclxuQG1peGluIHRyYW5zbGF0ZVkoJHkpIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgkeSk7XHJcbiAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHkpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR5KTtcclxuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgkeSk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHkpO1xyXG59XHJcbkBtaXhpbiB0cmFuc2xhdGVYKCR4KSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHgpO1xyXG4gICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR4KTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkeCk7XHJcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHgpO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR4KTtcclxufVxyXG5AbWl4aW4gc2tldygkeCwgJHkpIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygkeCwgJHkpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy80ODg1OyBJRTkrXHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoJHgsICR5KTtcclxufVxyXG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XHJcbn1cclxuXHJcbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcclxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cclxuLy8gRGVmYXVsdCB2YWx1ZSBpcyBgdmlzaWJsZWAsIGJ1dCBjYW4gYmUgY2hhbmdlZCB0byBgaGlkZGVuYFxyXG4vLyBTZWUgZ2l0IHB1bGwgaHR0cHM6Ly9naXRodWIuY29tL2Rhbm55a2VhbmUvYm9vdHN0cmFwLmdpdCBiYWNrZmFjZS12aXNpYmlsaXR5IGZvciBleGFtcGxlc1xyXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSl7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcclxuICAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xyXG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogJHZpc2liaWxpdHk7XHJcbn1cclxuXHJcbi8vIEJveCBzaXppbmdcclxuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XHJcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XHJcbiAgICAgICAgICBib3gtc2l6aW5nOiAkYm94bW9kZWw7XHJcbn1cclxuXHJcbi8vIFVzZXIgc2VsZWN0XHJcbi8vIEZvciBzZWxlY3RpbmcgdGV4dCBvbiB0aGUgcGFnZVxyXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdCkge1xyXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0OyAvLyBJRTEwK1xyXG4gICAgICAgLW8tdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcclxufVxyXG5cclxuLy8gUmVzaXplIGFueXRoaW5nXHJcbkBtaXhpbiByZXNpemFibGUoJGRpcmVjdGlvbikge1xyXG4gIHJlc2l6ZTogJGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcclxuICBvdmVyZmxvdzogYXV0bzsgLy8gU2FmYXJpIGZpeFxyXG59XHJcblxyXG4vLyBDU1MzIENvbnRlbnQgQ29sdW1uc1xyXG5AbWl4aW4gY29udGVudC1jb2x1bW5zKCRjb2x1bW4tY291bnQsICRjb2x1bW4tZ2FwOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcclxuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcclxuICAgICAtbW96LWNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcclxuICAgICAgICAgIGNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcclxuICAtd2Via2l0LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xyXG4gICAgIC1tb3otY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XHJcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcclxufVxyXG5cclxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cclxuQG1peGluIGh5cGhlbnMoJG1vZGU6IGF1dG8pIHtcclxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgLXdlYmtpdC1oeXBoZW5zOiAkbW9kZTtcclxuICAgICAtbW96LWh5cGhlbnM6ICRtb2RlO1xyXG4gICAgICAtbXMtaHlwaGVuczogJG1vZGU7IC8vIElFMTArXHJcbiAgICAgICAtby1oeXBoZW5zOiAkbW9kZTtcclxuICAgICAgICAgIGh5cGhlbnM6ICRtb2RlO1xyXG59XHJcblxyXG4vLyBPcGFjaXR5XHJcbkBtaXhpbiBvcGFjaXR5KCRvcGFjaXR5KSB7XHJcbiAgb3BhY2l0eTogJG9wYWNpdHk7XHJcbiAgLy8gSUU4IGZpbHRlclxyXG4gICRvcGFjaXR5LWllOiAoJG9wYWNpdHkgKiAxMDApO1xyXG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0kb3BhY2l0eS1pZSk7XHJcbn1cclxuXHJcblxyXG5cclxuLy8gR1JBRElFTlRTXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxuXHJcbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxyXG4vL1xyXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxyXG4vLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxyXG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsICRzdGFydC1wZXJjZW50IHRvcCwgJGVuZC1wZXJjZW50IHRvcCwgZnJvbSgkc3RhcnQtY29sb3IpLCB0bygkZW5kLWNvbG9yKSk7IC8vIFNhZmFyaSA0KywgQ2hyb21lIDIrXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgY29sb3Itc3RvcCgkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQpLCBjb2xvci1zdG9wKCRlbmQtY29sb3IgJGVuZC1wZXJjZW50KSk7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIEZGIDMuNitcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTBcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOSBhbmQgZG93blxyXG59XHJcblxyXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXHJcbi8vXHJcbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXHJcbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXHJcbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgJHN0YXJ0LXBlcmNlbnQsIGxlZnQgJGVuZC1wZXJjZW50LCBmcm9tKCRzdGFydC1jb2xvciksIHRvKCRlbmQtY29sb3IpKTsgLy8gU2FmYXJpIDQrLCBDaHJvbWUgMitcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydC1jb2xvciwgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IsICRlbmQtcGVyY2VudCk7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogIC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIEZGIDMuNitcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTBcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOSBhbmQgZG93blxyXG59XHJcblxyXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkZGVnOiA0NWRlZykge1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lIDEwK1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIEZGIDMuNitcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gU3RhbmRhcmQsIElFMTBcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsZWZ0LCBsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKCRzdGFydC1jb2xvciksIGNvbG9yLXN0b3AoJGNvbG9yLXN0b3AsICRtaWQtY29sb3IpLCB0bygkZW5kLWNvbG9yKSk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTEpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKCRzdGFydC1jb2xvciksIGNvbG9yLXN0b3AoJGNvbG9yLXN0b3AsICRtaWQtY29sb3IpLCB0bygkZW5kLWNvbG9yKSk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogIzU1NSwgJG91dGVyLWNvbG9yOiAjMzMzKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChyYWRpYWwsIGNlbnRlciBjZW50ZXIsIDAsIGNlbnRlciBjZW50ZXIsIDQ2MCwgZnJvbSgkaW5uZXItY29sb3IpLCB0bygkb3V0ZXItY29sb3IpKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6ICM1NTUsICRhbmdsZTogNDVkZWcpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoLjI1LCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkpLCBjb2xvci1zdG9wKC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoLjUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSksIGNvbG9yLXN0b3AoLjc1LCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkpLCBjb2xvci1zdG9wKC43NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcclxufVxyXG5cclxuLy8gUmVzZXQgZmlsdGVycyBmb3IgSUVcclxuLy9cclxuLy8gV2hlbiB5b3UgbmVlZCB0byByZW1vdmUgYSBncmFkaWVudCBiYWNrZ3JvdW5kLCBkbyBub3QgZm9yZ2V0IHRvIHVzZSB0aGlzIHRvIHJlc2V0XHJcbi8vIHRoZSBJRSBmaWx0ZXIgZm9yIElFOSBhbmQgYmVsb3cuXHJcbkBtaXhpbiByZXNldC1maWx0ZXIoKSB7XHJcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtcclxufVxyXG5cclxuXHJcblxyXG4vLyBSZXRpbmEgaW1hZ2VzXHJcbi8vXHJcbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZVxyXG5cclxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmaWxlLTF4fVwiKTtcclxuXHJcbiAgQG1lZGlhXHJcbiAgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxyXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXHJcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSksXHJcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmaWxlLTJ4fVwiKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxyXG4vL1xyXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxyXG5cclxuQG1peGluIGltZy1yZXNwb25zaXZlKCRkaXNwbGF5OiBibG9jaykge1xyXG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xyXG4gIG1heC13aWR0aDogMTAwJTsgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcclxuICBoZWlnaHQ6IGF1dG87IC8vIFBhcnQgMjogU2NhbGUgdGhlIGhlaWdodCBhY2NvcmRpbmcgdG8gdGhlIHdpZHRoLCBvdGhlcndpc2UgeW91IGdldCBzdHJldGNoaW5nXHJcbn1cclxuXHJcblxyXG4vLyBDT01QT05FTlQgTUlYSU5TXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBIb3Jpem9udGFsIGRpdmlkZXJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXHJcbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICNlNWU1ZTUpIHtcclxuICBoZWlnaHQ6IDFweDtcclxuICBtYXJnaW46ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKSAwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG59XHJcblxyXG4vLyBQYW5lbHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gcGFuZWwtdmFyaWFudCgkYm9yZGVyLCAkaGVhZGluZy10ZXh0LWNvbG9yLCAkaGVhZGluZy1iZy1jb2xvciwgJGhlYWRpbmctYm9yZGVyKSB7XHJcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xyXG4gICYgPiAucGFuZWwtaGVhZGluZyB7XHJcbiAgICBjb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ib3JkZXI7XHJcbiAgICArIC5wYW5lbC1jb2xsYXBzZSAucGFuZWwtYm9keSB7XHJcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRib3JkZXI7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYgPiAucGFuZWwtZm9vdGVyIHtcclxuICAgICsgLnBhbmVsLWNvbGxhcHNlIC5wYW5lbC1ib2R5IHtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJvcmRlcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEFsZXJ0c1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkdGV4dC1jb2xvcikge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcclxuICBjb2xvcjogJHRleHQtY29sb3I7XHJcbiAgaHIge1xyXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcclxuICB9XHJcbiAgLmFsZXJ0LWxpbmsge1xyXG4gICAgY29sb3I6IGRhcmtlbigkdGV4dC1jb2xvciwgMTAlKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFRhYmxlc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XHJcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcclxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxyXG4gIC50YWJsZSA+IHRoZWFkID4gdHIsXHJcbiAgLnRhYmxlID4gdGJvZHkgPiB0cixcclxuICAudGFibGUgPiB0Zm9vdCA+IHRyIHtcclxuICAgID4gdGQuI3skc3RhdGV9LFxyXG4gICAgPiB0aC4jeyRzdGF0ZX0sXHJcbiAgICAmLiN7JHN0YXRlfSA+IHRkLFxyXG4gICAgJi4jeyRzdGF0ZX0gPiB0aCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxyXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxyXG4gIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIge1xyXG4gICAgPiB0ZC4jeyRzdGF0ZX06aG92ZXIsXHJcbiAgICA+IHRoLiN7JHN0YXRlfTpob3ZlcixcclxuICAgICYuI3skc3RhdGV9OmhvdmVyID4gdGQsXHJcbiAgICAmOmhvdmVyID4gLiN7JHN0YXRlfSxcclxuICAgICYuI3skc3RhdGV9OmhvdmVyID4gdGgge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEJ1dHRvbiB2YXJpYW50c1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcclxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXHJcbkBtaXhpbiBidXR0b24tdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICBib3JkZXItY29sb3I6ICRib3JkZXI7XHJcblxyXG5cclxuICAub3BlbiAmIHsgJi5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgOCUpO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XHJcbiAgfSB9XHJcbiAgJjphY3RpdmUsXHJcbiAgJi5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICB9XHJcbiAgLm9wZW4gJiB7ICYuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgfSB9XHJcbiAgJi5kaXNhYmxlZCxcclxuICAmW2Rpc2FibGVkXSxcclxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XHJcbiAgICAmLFxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMsXHJcbiAgICAmOmFjdGl2ZSxcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXJcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEJ1dHRvbiBzaXplc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xyXG4gIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XHJcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbn1cclxuXHJcbi8vIFBhZ2luYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xyXG4gID4gbGkge1xyXG4gICAgPiBhLFxyXG4gICAgPiBzcGFuIHtcclxuICAgICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcclxuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gICAgfVxyXG4gICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgID4gYSxcclxuICAgICAgPiBzcGFuIHtcclxuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICA+IGEsXHJcbiAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIExhYmVsc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkBtaXhpbiBsYWJlbC12YXJpYW50KCRjb2xvcikge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAmW2hyZWZdIHtcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE5hdmJhciB2ZXJ0aWNhbCBhbGlnblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFZlcnRpY2FsbHkgY2VudGVyIGVsZW1lbnRzIGluIHRoZSBuYXZiYXIuXHJcbi8vIEV4YW1wbGU6IGFuIGVsZW1lbnQgaGFzIGEgaGVpZ2h0IG9mIDMwcHgsIHNvIHdyaXRlIG91dCBgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbigzMHB4KTtgIHRvIGNhbGN1bGF0ZSB0aGUgYXBwcm9wcmlhdGUgdG9wIG1hcmdpbi5cclxuQG1peGluIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkZWxlbWVudC1oZWlnaHQpIHtcclxuICBtYXJnaW4tdG9wOiAoKCRuYXZiYXItaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xyXG4gIG1hcmdpbi1ib3R0b206ICgoJG5hdmJhci1oZWlnaHQgLSAkZWxlbWVudC1oZWlnaHQpIC8gMik7XHJcbn1cclxuXHJcbi8vIFByb2dyZXNzIGJhcnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJGNvbG9yKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gIC5wcm9ncmVzcy1zdHJpcGVkICYge1xyXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgkY29sb3IpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gUmVzcG9uc2l2ZSB1dGlsaXRpZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBNb3JlIGVhc2lseSBpbmNsdWRlIGFsbCB0aGUgc3RhdGVzIGZvciByZXNwb25zaXZlLXV0aWxpdGllcy5sZXNzLlxyXG4vLyAkcGFyZW50IGhhY2sgYmVjYXVzZSBzYXNzIGRvZXNuJ3Qgc3VwcG9ydCB0ciYgKHdpdGhvdXQgc3BhY2UpXHJcbkBtaXhpbiByZXNwb25zaXZlLXZpc2liaWxpdHkoJHBhcmVudCkge1xyXG4gICN7JHBhcmVudH0geyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XHJcbiAgdHIjeyRwYXJlbnR9IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cclxuICB0aCN7JHBhcmVudH0sXHJcbiAgdGQjeyRwYXJlbnR9IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XHJcbn1cclxuXHJcbkBtaXhpbiByZXNwb25zaXZlLWludmlzaWJpbGl0eSgkcGFyZW50KSB7XHJcbiAgI3skcGFyZW50fSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxyXG4gIHRyI3skcGFyZW50fSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxyXG4gIHRoI3skcGFyZW50fSxcclxuICB0ZCN7JHBhcmVudH0geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxufVxyXG5cclxuLy8gR3JpZCBTeXN0ZW1cclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XHJcbkBtaXhpbiBjb250YWluZXItZml4ZWQoKSB7XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIHBhZGRpbmctbGVmdDogICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcclxuICBwYWRkaW5nLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XHJcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcclxufVxyXG5cclxuLy8gQ3JlYXRlcyBhIHdyYXBwZXIgZm9yIGEgc2VyaWVzIG9mIGNvbHVtbnNcclxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xyXG4gIG1hcmdpbi1sZWZ0OiAgKCRndXR0ZXIgLyAtMik7XHJcbiAgbWFyZ2luLXJpZ2h0OiAoJGd1dHRlciAvIC0yKTtcclxuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG59XHJcblxyXG4vLyBHZW5lcmF0ZSB0aGUgZXh0cmEgc21hbGwgY29sdW1uc1xyXG5AbWl4aW4gbWFrZS14cy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBmbG9hdDogbGVmdDtcclxuICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XHJcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XHJcbiAgbWluLWhlaWdodDogMXB4O1xyXG4gIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xyXG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XHJcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcclxufVxyXG5cclxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbnNcclxuQG1peGluIG1ha2Utc20tY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XHJcbiAgbWluLWhlaWdodDogMXB4O1xyXG4gIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xyXG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XHJcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcclxuXHJcbiAgLy8gQ2FsY3VsYXRlIHdpZHRoIGJhc2VkIG9uIG51bWJlciBvZiBjb2x1bW5zIGF2YWlsYWJsZVxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEdlbmVyYXRlIHRoZSBzbWFsbCBjb2x1bW4gb2Zmc2V0c1xyXG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEdlbmVyYXRlIHRoZSBtZWRpdW0gY29sdW1uc1xyXG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcclxuICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXHJcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcclxuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xyXG5cclxuICAvLyBDYWxjdWxhdGUgd2lkdGggYmFzZWQgb24gbnVtYmVyIG9mIGNvbHVtbnMgYXZhaWxhYmxlXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gR2VuZXJhdGUgdGhlIGxhcmdlIGNvbHVtbiBvZmZzZXRzXHJcbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xyXG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XHJcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xyXG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gR2VuZXJhdGUgdGhlIGxhcmdlIGNvbHVtbnNcclxuQG1peGluIG1ha2UtbGctY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XHJcbiAgbWluLWhlaWdodDogMXB4O1xyXG4gIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xyXG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XHJcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcclxuXHJcbiAgLy8gQ2FsY3VsYXRlIHdpZHRoIGJhc2VkIG9uIG51bWJlciBvZiBjb2x1bW5zIGF2YWlsYWJsZVxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEdlbmVyYXRlIHRoZSBsYXJnZSBjb2x1bW4gb2Zmc2V0c1xyXG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xyXG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcclxuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBGb3JtIHZhbGlkYXRpb24gc3RhdGVzXHJcbi8vXHJcbi8vIFVzZWQgaW4gZm9ybXMubGVzcyB0byBnZW5lcmF0ZSB0aGUgZm9ybSB2YWxpZGF0aW9uIENTUyBmb3Igd2FybmluZ3MsIGVycm9ycyxcclxuLy8gYW5kIHN1Y2Nlc3Nlcy5cclxuXHJcbkBtaXhpbiBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkdGV4dC1jb2xvcjogIzU1NSwgJGJvcmRlci1jb2xvcjogI2NjYywgJGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjUpIHtcclxuICAvLyBDb2xvciB0aGUgbGFiZWwgYW5kIGhlbHAgdGV4dFxyXG4gIC5oZWxwLWJsb2NrLFxyXG4gIC5jb250cm9sLWxhYmVsIHtcclxuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcclxuICB9XHJcbiAgLy8gU2V0IHRoZSBib3JkZXIgYW5kIGJveCBzaGFkb3cgb24gc3BlY2lmaWMgaW5wdXRzIHRvIG1hdGNoXHJcbiAgLmZvcm0tY29udHJvbCB7XHJcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTsgLy8gUmVkZWNsYXJlIHNvIHRyYW5zaXRpb25zIHdvcmtcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLWNvbG9yLCAxMCUpO1xyXG4gICAgICAkc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDZweCBsaWdodGVuKCRib3JkZXItY29sb3IsIDIwJSk7XHJcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIFNldCB2YWxpZGF0aW9uIHN0YXRlcyBhbHNvIGZvciBhZGRvbnNcclxuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xyXG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcclxuLy9cclxuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcclxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyYCB2YXJpYWJsZS5cclxuLy9cclxuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXHJcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXHJcbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcclxuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxyXG4vL1xyXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXHJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cclxuXHJcbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoJGNvbG9yOiAkaW5wdXQtYm9yZGVyLWZvY3VzKSB7XHJcbiAgJGNvbG9yLXJnYmE6IHJnYmEocmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKSwgLjYpO1xyXG4gICY6Zm9jdXMge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xyXG4vL1xyXG4vLyBSZWxhdGl2ZSB0ZXh0IHNpemUsIHBhZGRpbmcsIGFuZCBib3JkZXItcmFkaWkgY2hhbmdlcyBmb3IgZm9ybSBjb250cm9scy4gRm9yXHJcbi8vIGhvcml6b250YWwgc2l6aW5nLCB3cmFwIGNvbnRyb2xzIGluIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy4gYDxzZWxlY3Q+YFxyXG4vLyBlbGVtZW50IGdldHMgc3BlY2lhbCBsb3ZlIGJlY2F1c2UgaXQncyBzcGVjaWFsLCBhbmQgdGhhdCdzIGEgZmFjdCFcclxuXHJcbkBtaXhpbiBpbnB1dC1zaXplKCRwYXJlbnQsICRpbnB1dC1oZWlnaHQsICRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XHJcbiAgI3skcGFyZW50fSB7IGhlaWdodDogJGlucHV0LWhlaWdodDtcclxuICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzOyB9XHJcbiAgc2VsZWN0I3skcGFyZW50fSB7XHJcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XHJcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodDtcclxuICB9XHJcblxyXG4gIHRleHRhcmVhI3skcGFyZW50fSB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLWV4Y2x1ZGUtdG9wKCRib3JkZXItZGVlcCwgJGJvcmRlci10eXBlLCAkYm9yZGVyLWNvbG9yICl7XHJcbiAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcclxuICAgIGJvcmRlci1sZWZ0OiAkYm9yZGVyLWRlZXAgJGJvcmRlci10eXBlICRib3JkZXItY29sb3IgO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLWRlZXAgJGJvcmRlci10eXBlICRib3JkZXItY29sb3IgO1xyXG5cclxufVxyXG5cclxuQG1peGluIGJvcmRlci1leGNsdWRlLWJvdHRvbSgkYm9yZGVyLWRlZXAsICRib3JkZXItdHlwZSwgJGJvcmRlci1jb2xvciApe1xyXG4gIGJvcmRlci10b3A6ICRib3JkZXItZGVlcCAkYm9yZGVyLXR5cGUgJGJvcmRlci1jb2xvciA7XHJcbiAgICBib3JkZXItbGVmdDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcclxuICAgIGJvcmRlci1yaWdodDogJGJvcmRlci1kZWVwICRib3JkZXItdHlwZSAkYm9yZGVyLWNvbG9yIDtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBjbGVhcmJveHN0eWxlKCl7XHJcbiAgYmFja2dyb3VuZDogbm9uZTtcclxuICBib3JkZXI6bm9uZTtcclxufVxyXG5cclxuQG1peGluIGxpbmVhci1ncmFkaWVudC12ZXJ0aWNhbCgkY29sb3IxLCAkY29sb3IyLCAkY29sb3IzKXtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQoXHJcbiAgICBsaW5lYXIsXHJcbiAgICBsZWZ0IHRvcCxcclxuICAgIGxlZnQgYm90dG9tLFxyXG4gICAgY29sb3Itc3RvcCgwLjE2LCAkY29sb3IxKSxcclxuICAgIGNvbG9yLXN0b3AoMC41MywgJGNvbG9yMiksXHJcbiAgICBjb2xvci1zdG9wKDAuODMsICRjb2xvcjMpXHJcbiAgICApO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgJGNvbG9yMSAxNiUsICRjb2xvcjIgNTMlLCAkY29sb3IzIDgzJSk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChib3R0b20sICRjb2xvcjEgMTYlLCAkY29sb3IyIDUzJSwgJGNvbG9yMyA4MyUpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAkY29sb3IxIDE2JSwgJGNvbG9yMiA1MyUsICRjb2xvcjMgODMlKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAkY29sb3IxIDE2JSwgJGNvbG9yMiA1MyUsICRjb2xvcjMgODMlKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRjb2xvcjEgMTYlLCAkY29sb3IyIDUzJSwgJGNvbG9yMyA4MyUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG4gIGEjeyRwYXJlbnR9OmhvdmVyIHtcclxuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xyXG4gIH1cclxufVxyXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcclxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG4gIGEjeyRwYXJlbnR9OmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XHJcbiAgfVxyXG59XHJcbi8vIEFuaW1hdGlvbnNcclxuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9uKSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb246ICRhbmltYXRpb247XHJcbiAgICAgICAtby1hbmltYXRpb246ICRhbmltYXRpb247XHJcbiAgICAgICAgICBhbmltYXRpb246ICRhbmltYXRpb247XHJcbn1cclxuQG1peGluIGFuaW1hdGlvbi1uYW1lKCRuYW1lKSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogJG5hbWU7XHJcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogJG5hbWU7XHJcbn1cclxuQG1peGluIGFuaW1hdGlvbi1kdXJhdGlvbigkZHVyYXRpb24pIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XHJcbn1cclxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcclxuICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XHJcbn1cclxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkZGVsYXkpIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogJGRlbGF5O1xyXG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XHJcbn1cclxuQG1peGluIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQoJGl0ZXJhdGlvbi1jb3VudCkge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGl0ZXJhdGlvbi1jb3VudDtcclxuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRpdGVyYXRpb24tY291bnQ7XHJcbn1cclxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxuICAgICAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbn1cclxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJGZpbGwtbW9kZSkge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGwtbW9kZTtcclxuICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XHJcbn1cclxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xyXG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuXHJcbiAgICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYSYgdG8gYS5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9XHJcbiAgfVxyXG5cclxuICBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xyXG4gICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUsXHJcbiAgICAmLmFjdGl2ZTpob3ZlcixcclxuICAgICYuYWN0aXZlOmZvY3VzIHtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYnRuLWFkZHtcclxuICAgIGZvbnQtc2l6ZTogJGFkZC1jYXJ0LWZvbnQtc2l6ZTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgaGVpZ2h0OiA0MnB4O1xyXG4gICAgcGFkZGluZzogOHB4IDI4cHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI1MjUyNTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zNXMgZWFzZTtcclxuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjM1cyBlYXNlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2U7XHJcbiAgIFxyXG59XHJcbkBtaXhpbiBidG4tZGVmYXVsdHtcclxuICAgIHdpZHRoOiA0MnB4O1xyXG4gICAgaGVpZ2h0OiA0MnB4O1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcclxuICAgIGNvbG9yOiAjODk4OTg5O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zNXMgZWFzZTtcclxuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjM1cyBlYXNlOyBcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjM1cyBlYXNlO1xyXG4gICAgXHJcbn1cclxuXHJcbkBtaXhpbiBidG4tYnR7XHJcbiAgd2lkdGg6IDQwcHg7XHJcbiAgaGVpZ2h0OiA0MHB4OyBcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBcclxuICAmOmhvdmVye2JhY2tncm91bmQtY29sb3I6JHRoZW1lLWNvbG9yO30gXHJcbn1cclxuQG1peGluIG9wYWNpdHktaHtcclxuICBvcGFjaXR5OiAwO1xyXG4gIGZpbHRlcjogYWxwaGEoMCk7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcbkBtaXhpbiBvcGFjaXR5LXN7XHJcbiAgb3BhY2l0eTogMTtcclxuICBmaWx0ZXI6IGFscGhhKDEpO1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuQG1peGluIGJlZm9yZS1saW5re1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIEBpbmNsdWRlIHJ0bC1sZWZ0KDApO1xyXG4gICAgbWFyZ2luLXRvcDogLTJweDtcclxuICAgIHdpZHRoOiA0cHg7XHJcbiAgICBoZWlnaHQ6IDRweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zNXMgZWFzZTtcclxuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjM1cyBlYXNlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2U7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBidG4tcG9zdC1kZWZhdWx0e1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcclxuICBjb2xvcjogIzcwNzA3MDtcclxuICBtYXJnaW46IDBweDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcGFkZGluZzogN3B4IDE4cHg7XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjNzIGVhc2UgMHMpO1xyXG59XHJcblxyXG5AbWl4aW4gY2FyZXR7XHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogaWNvbi1jb250ZW50KCRpY29uX2Rvd24pO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaWNvbjtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHVzZXItc2VsZWN0KCRvcHRpb24pIHtcclxuICAtd2Via2l0LXVzZXItc2VsZWN0OiAkb3B0aW9uOyAgLyogQ2hyb21lIGFsbCAvIFNhZmFyaSBhbGwgKi9cclxuICAtbW96LXVzZXItc2VsZWN0OiAkb3B0aW9uOyAgICAgLyogRmlyZWZveCBhbGwgKi9cclxuICAtbXMtdXNlci1zZWxlY3Q6ICRvcHRpb247ICAgICAgLyogSUUgMTArICovXHJcbiAgdXNlci1zZWxlY3Q6ICRvcHRpb247XHJcbn1cclxuXHJcbi8vcmVzcG9uc2l2ZVxyXG5AbWl4aW4gbW9iaWxlIHsgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1vYmlsZS13aWR0aCAtIDFweH0pIHsgICAgIFxyXG4gIEBjb250ZW50OyAgIFxyXG4gfSBcclxufSAgXHJcblxyXG5AbWl4aW4gdGFibGV0IHsgQG1lZGlhIChtaW4td2lkdGg6ICN7JHRhYmxldC13aWR0aH0pIGFuZCAobWF4LXdpZHRoOiAjeyRkZXNrdG9wLXdpZHRoIC0gMXB4fSkgeyAgICAgICBcclxuICAgQGNvbnRlbnQ7ICAgXHJcbiB9IFxyXG59ICBcclxuXHJcbkBtaXhpbiBkZXNrdG9wIHsgQG1lZGlhIChtaW4td2lkdGg6ICN7JGRlc2t0b3Atd2lkdGh9KSB7ICAgICBcclxuICBAY29udGVudDsgIFxyXG4gfSBcclxufVxyXG5cclxuQG1peGluIG1heC1kZXNrdG9wIHsgQG1lZGlhKG1heC13aWR0aDogI3skZGVza3RvcC13aWR0aCAtIDFweH0pIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH0gXHJcbn1cclxuXHJcbi8vPT0gQm9yZGVyIHJhZGl1c1xyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzKSB7XHJcbiAgICBib3JkZXItcmFkaXVzICAgICAgICAgOiAkcmFkaXVzO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzIDogJHJhZGl1cztcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1cyAgICA6ICRyYWRpdXM7XHJcbiAgICAtbXMtYm9yZGVyLXJhZGl1cyAgICAgOiAkcmFkaXVzO1xyXG4gICAgLW8tYm9yZGVyLXJhZGl1cyAgICAgIDogJHJhZGl1cztcclxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxBQUFBLFFBQVEsQ0FBQTtFQUNQLFlBQVksRUFBRSxHQUFHO0VBQ2QsV0FBVyxFQUFFLEdBQUcsR0FLbkI7RUFQRCxBQUdJLFFBSEksR0FHSCxHQUFHLENBQUE7SUFDSCxhQUFhLEVBQUUsR0FBRztJQUNsQixZQUFZLEVBQUUsR0FBRyxHQUNqQjs7QUFFTCxBQUFBLGNBQWMsQ0FBQTtFQUNiLFFBQVEsRUFBRSxLQUFLO0VBQ1osR0FBRyxFQUFFLENBQUM7RUFDTixJQUFJLEVBQUUsQ0FBQztFQUNQLE9BQU8sRUN5TlUsSUFBSTtFRHhOckIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxDQUFDO0VBQ1YsY0FBYyxFQUFFLElBQUk7RUV3NEJ0QixPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxVQUFRO0VBQ2hCLFVBQVUs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 */
