.pc-center {
  text-align: center; }

.pc-wide {
  width: 100%; }

.pc-edit-list tbody tr:nth-child(2n) {
  background: #f9f9f9; }

.pc-edit-list thead th:last-child {
  width: 60px; }

.list-item__description {
  width: 100%; }

.widefat .list-item__remove p {
  color: #a00;
  cursor: pointer; }

.widefat .list-item__remove p:hover {
  color: red; }

.widefat .list-item__save p {
  color: #008000;
  cursor: pointer;
  text-align: center; }

/* if first and last, show the empty p message */
.save-widget {
  border: 1px solid rgba(0, 123, 0, 0.2);
  border-radius: 15px;
  color: green;
  font-size: 13px;
  font-weight: normal;
  margin-left: 6px;
  padding: 0 6px;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
          transition: opacity 0.3s ease; }

.save-widget.is-saved {
  opacity: 1; }

/*------------------------------------*\
    #Radio Items
\*------------------------------------*/
.pc-radio-item {
  margin: 10px 0; }
  .pc-radio-item div {
    display: inline-block;
    vertical-align: top; }

.pc-radio-item__title {
  font-weight: 600; }

.pc-radio-item__title, .pc-radio-item__body {
  margin: 0; }

.widefat .pc-checklist-item p {
  margin: .3em 0 0 0; }

/*------------------------------------*\
    #Is Only Child
\*------------------------------------*/
.is-only-child:not(:last-child), .is-only-child:not(:first-child) {
  display: none; }

/*------------------------------------*\
    #Editing
\*------------------------------------*/
.pc-checklist-item.is-editing .is-editing {
  display: block; }
.pc-checklist-item.is-not-editing .is-editing {
  display: none; }

.pc-checklist-item.is-not-editing .is-not-editing {
  display: block; }
.pc-checklist-item.is-editing .is-not-editing {
  display: none; }

.pc-button-delete {
  background: red; }

.pc-full-width {
  width: 100%; }

.pc-edit-list {
  background: white; }
  .pc-edit-list p {
    margin: 0;
    padding: .5em 0; }
  .pc-edit-list li:nth-child(2n - 1) {
    background-color: #f9f9f9; }

.pc-edit-list__header {
  border-bottom: 1px solid #E5E5E5;
  padding: .5em; }

.pc-list-items {
  margin: 0; }

.pc-list-item {
  margin: 0; }
  .pc-list-item input[type=text] {
    display: none; }
  .pc-list-item.is-editing p {
    display: none; }
  .pc-list-item.is-editing input[type=text] {
    display: block; }

.pc-list-item--empty-view {
  padding: .7em 0; }

.pc-grid__row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }

.is-editing .pc-list-item__remove-button {
  display: none; }

.pc-list-item__save-button {
  display: none !important; }
  .is-editing .pc-list-item__save-button {
    display: block !important; }

.pc-grid__flexible {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: .5em .5em; }

.pc-grid__fixed {
  width: 80px;
  padding: .5em .5em; }

.pc-list-item-instance__description {
  vertical-align: top; }

.pc-popup {
  position: relative;
  background: #FFF;
  width: auto;
  max-width: 350px;
  margin: 20px auto; }
  .pc-popup .mfp-close {
    display: none; }

.pc-popup--notification .pc-popup__button-group > :first-child {
  display: none; }

.pc-popup__content {
  padding: 40px 20px; }

.pc-popup__button-group {
  border-top: 1px solid #D9D9D9;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.pc-popup__button {
  background-color: white;
  border: none;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: 20px;
  -webkit-transition: background-color ease .3s;
          transition: background-color ease .3s; }
  .pc-popup__button:hover {
    background-color: #e6e6e6;
    cursor: pointer; }
  .pc-popup__button:not(:last-child) {
    border-right: 1px solid #D9D9D9; }

.pc-popup-source-wrapper .pc-popup-source {
  display: none; }

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10000001;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
  filter: alpha(opacity=80); }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10000002;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 10000004; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 10000003; }
  .mfp-preloader a {
    color: #CCC; }
    .mfp-preloader a:hover {
      color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close, button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 10000005;
  box-shadow: none; }
button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  filter: alpha(opacity=65);
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }
  .mfp-close:hover, .mfp-close:focus {
    opacity: 1;
    filter: alpha(opacity=100); }
  .mfp-close:active {
    top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  filter: alpha(opacity=65);
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent; }
  .mfp-arrow:active {
    margin-top: -54px; }
  .mfp-arrow:hover, .mfp-arrow:focus {
    opacity: 1;
    filter: alpha(opacity=100); }
  .mfp-arrow:before, .mfp-arrow:after,
  .mfp-arrow .mfp-b,
  .mfp-arrow .mfp-a {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent; }
  .mfp-arrow:after,
  .mfp-arrow .mfp-a {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px; }
  .mfp-arrow:before,
  .mfp-arrow .mfp-b {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }
  .mfp-arrow-left:after,
  .mfp-arrow-left .mfp-a {
    border-right: 17px solid #FFF;
    margin-left: 31px; }
  .mfp-arrow-left:before,
  .mfp-arrow-left .mfp-b {
    margin-left: 25px;
    border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }
  .mfp-arrow-right:after,
  .mfp-arrow-right .mfp-a {
    border-left: 17px solid #FFF;
    margin-left: 39px; }
  .mfp-arrow-right:before,
  .mfp-arrow-right .mfp-b {
    border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }
  .mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 90%;
    max-width: 900px; }
  .mfp-iframe-holder .mfp-close {
    top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }
  .mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }
  .mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #444; }
  .mfp-figure small {
    color: #BDBDBD;
    display: block;
    font-size: 12px;
    line-height: 14px; }
  .mfp-figure figure {
    margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
   * Remove all paddings around the image on small screen
   */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
    .mfp-img-mobile .mfp-bottom-bar:empty {
      padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }
@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }

  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }

  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }

  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }
.mfp-ie7 .mfp-img {
  padding: 0; }
.mfp-ie7 .mfp-bottom-bar {
  width: 600px;
  left: 50%;
  margin-left: -300px;
  margin-top: 5px;
  padding-bottom: 5px; }
.mfp-ie7 .mfp-container {
  padding: 0; }
.mfp-ie7 .mfp-content {
  padding-top: 44px; }
.mfp-ie7 .mfp-close {
  top: 0;
  right: 0;
  padding-top: 0; }

/**
 * Fade-zoom animation for first dialog
 */
/* start state */
.my-mfp-zoom-in .zoom-anim-dialog {
  opacity: 0;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-transform: scale(0.8);
  transform: scale(0.8); }

/* animate in */
.my-mfp-zoom-in.mfp-ready .zoom-anim-dialog {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1); }

/* animate out */
.my-mfp-zoom-in.mfp-removing .zoom-anim-dialog {
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
  opacity: 0; }

/* Dark overlay, start state */
.my-mfp-zoom-in.mfp-bg {
  opacity: 0.001;
  /* Chrome opacity transition bug */
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out; }

/* animate in */
.my-mfp-zoom-in.mfp-ready.mfp-bg {
  opacity: 0.8; }

/* animate out */
.my-mfp-zoom-in.mfp-removing.mfp-bg {
  opacity: 0; }

/**
 * Fade-move animation for second dialog
 */
/* at start */
.my-mfp-slide-bottom .zoom-anim-dialog {
  opacity: 0;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  -webkit-transform: translateY(-20px) perspective(600px) rotateX(10deg);
  transform: translateY(-20px) perspective(600px) rotateX(10deg); }

/* animate in */
.my-mfp-slide-bottom.mfp-ready .zoom-anim-dialog {
  opacity: 1;
  -webkit-transform: translateY(0) perspective(600px) rotateX(0);
  transform: translateY(0) perspective(600px) rotateX(0); }

/* animate out */
.my-mfp-slide-bottom.mfp-removing .zoom-anim-dialog {
  opacity: 0;
  -webkit-transform: translateY(-10px) perspective(600px) rotateX(10deg);
  transform: translateY(-10px) perspective(600px) rotateX(10deg); }

/* Dark overlay, start state */
.my-mfp-slide-bottom.mfp-bg {
  opacity: 0.01;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out; }

/* animate in */
.my-mfp-slide-bottom.mfp-ready.mfp-bg {
  opacity: 0.8; }

/* animate out */
.my-mfp-slide-bottom.mfp-removing.mfp-bg {
  opacity: 0; }



/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL1VzZXJzL2FuZHJld2ptZWFkL2NvZGUvd29yZHByZXNzLXB1Ymxpc2gtY2hlY2tsaXN0LXBsdWdpbi9wcmUtcHVibGlzaC1wb3N0LWNoZWNrbGlzdC9zY3NzL2NvbXBvbmVudHMvX2NoZWNrbGlzdC10YWJsZS5zY3NzIiwic3R5bGVzLmNzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL1VzZXJzL2FuZHJld2ptZWFkL2NvZGUvd29yZHByZXNzLXB1Ymxpc2gtY2hlY2tsaXN0LXBsdWdpbi9wcmUtcHVibGlzaC1wb3N0LWNoZWNrbGlzdC9zY3NzL2NvbXBvbmVudHMvX3BjLWxpc3Quc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL1VzZXJzL2FuZHJld2ptZWFkL2NvZGUvd29yZHByZXNzLXB1Ymxpc2gtY2hlY2tsaXN0LXBsdWdpbi9wcmUtcHVibGlzaC1wb3N0LWNoZWNrbGlzdC9zY3NzL2NvbXBvbmVudHMvX3BjLWxpc3QtaW5zdGFuY2Uuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL1VzZXJzL2FuZHJld2ptZWFkL2NvZGUvd29yZHByZXNzLXB1Ymxpc2gtY2hlY2tsaXN0LXBsdWdpbi9wcmUtcHVibGlzaC1wb3N0LWNoZWNrbGlzdC9zY3NzL2NvbXBvbmVudHMvX3BvcHVwLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9Vc2Vycy9hbmRyZXdqbWVhZC9jb2RlL3dvcmRwcmVzcy1wdWJsaXNoLWNoZWNrbGlzdC1wbHVnaW4vcHJlLXB1Ymxpc2gtcG9zdC1jaGVja2xpc3Qvc2Nzcy92ZW5kb3IvX21hZ25pZmljLXBvcHVwLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9Vc2Vycy9hbmRyZXdqbWVhZC9jb2RlL3dvcmRwcmVzcy1wdWJsaXNoLWNoZWNrbGlzdC1wbHVnaW4vcHJlLXB1Ymxpc2gtcG9zdC1jaGVja2xpc3Qvc2Nzcy92ZW5kb3IvX3NldHRpbmdzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5n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QUlnR2pCO0VBQ0ksWUFBVTtFQUVWLDBDQUF3QztFQUd4QyxrQ0FBZ0M7RUFJaEMsK0JBQTZCO0VBSTdCLHVCQUFxQixFQUFBOztBSmpHekIsaUJBQWdCO0FJcUdoQjtFQUNJLFlBQVU7RUFFViw2QkFBMkI7RUFJM0IscUJBQW1CLEVBQUE7O0FKbkd2QixrQkFBaUI7QUl1R2pCO0VBQ0ksK0JBQTZCO0VBSTdCLHVCQUFxQjtFQUVyQixZQUFVLEVBQUE7O0FKckdkLGdDQUErQjtBSXlHL0I7RUFDSSxnQkFBYztFSnZHaEIsb0NBQW1DO0VJd0dqQywyQ0FBeUM7RUFHekMsbUNBQWlDLEVBQUE7O0FKckdyQyxpQkFBZ0I7QUl3R2hCO0VBQ0ksY0FBWSxFQUFBOztBSnJHaEIsa0JBQWlCO0FJd0dqQjtFQUNJLFlBQVUsRUFBQTs7QUpyR2Q7O0lBRUc7QUFDSCxlQUFjO0FJNEdkO0VBQ0ksWUFBVTtFQUNWLHVDQUFxQztFQUdyQywrQkFBNkI7RUFFN0Isd0VBQTBFO0VBSTFFLGdFQUFrRSxFQUFBOztBSjFHdEUsaUJBQWdCO0FJK0doQjtFQUNJLFlBQVU7RUFDVixnRUFBa0U7RUFJbEUsd0RBQTBELEVBQUE7O0FKNUc5RCxrQkFBaUI7QUlnSGpCO0VBQ0ksWUFBVTtFQUVWLHdFQUEwRTtFQUkxRSxnRUFBa0UsRUFBQTs7QUo5R3RFLGdDQUErQjtBSWtIL0I7RUFDSSxlQUFhO0VBRWIsMkNBQXlDO0VBR3pDLG1DQUFpQyxFQUFBOztBSmhIckMsaUJBQWdCO0FJbUhoQjtFQUNJLGNBQVksRUFBQTs7QUpoSGhCLGtCQUFpQjtBSW1IakI7RUFDSSxZQUFVLEVBQUEiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5wYy1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnBjLXdpZGUge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ucGMtZWRpdC1saXN0IHRib2R5IHRyOm50aC1jaGlsZCgybikge1xuICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG59XG5cbi5wYy1lZGl0LWxpc3QgdGhlYWQgdGg6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDYwcHg7XG59XG5cbi5saXN0LWl0ZW1fX2Rlc2NyaXB0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLndpZGVmYXQgLmxpc3QtaXRlbV9fcmVtb3ZlIHAge1xuICAgIGNvbG9yOiAjYTAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLndpZGVmYXQgLmxpc3QtaXRlbV9fcmVtb3ZlIHA6aG92ZXIge1xuICAgIGNvbG9yOiByZWQ7XG59XG5cbi53aWRlZmF0IC5saXN0LWl0ZW1fX3NhdmUgcCB7XG4gICAgY29sb3I6ICMwMDgwMDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogaWYgZmlyc3QgYW5kIGxhc3QsIHNob3cgdGhlIGVtcHR5IHAgbWVzc2FnZSAqL1xuXG4uc2F2ZS13aWRnZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGhzbGEoMTIwLCAxMDAlLCAyNC4xJSwgLjIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgY29sb3I6IGdyZWVuO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgcGFkZGluZzogMCA2cHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5LjNzIGVhc2U7XG59XG5cbi5zYXZlLXdpZGdldC5pcy1zYXZlZCB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNSYWRpbyBJdGVtc1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnBjLXJhZGlvLWl0ZW0ge1xuICAgIG1hcmdpbjogMTBweCAwO1xuXG4gICAgZGl2IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbn1cblxuLnBjLXJhZGlvLWl0ZW1fX3RpdGxlIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ucGMtcmFkaW8taXRlbV9fdGl0bGUsIC5wYy1yYWRpby1pdGVtX19ib2R5IHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi53aWRlZmF0IC5wYy1jaGVja2xpc3QtaXRlbSB7XG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogLjNlbSAwIDAgMDtcbiAgICB9XG59XG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI0lzIE9ubHkgQ2hpbGRcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5pcy1vbmx5LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCksIC5pcy1vbmx5LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAvLyBvbmx5IHNob3cgZWxlbWVudCBpZiBpdCdzIHRoZSBvbmx5IGNoaWxkIChubyBzaWJsaW5ncylcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI0VkaXRpbmdcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5pcy1lZGl0aW5nIHtcbiAgICAucGMtY2hlY2tsaXN0LWl0ZW0uaXMtZWRpdGluZyAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnBjLWNoZWNrbGlzdC1pdGVtLmlzLW5vdC1lZGl0aW5nICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmlzLW5vdC1lZGl0aW5nIHtcbiAgICAucGMtY2hlY2tsaXN0LWl0ZW0uaXMtbm90LWVkaXRpbmcgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5wYy1jaGVja2xpc3QtaXRlbS5pcy1lZGl0aW5nICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnBjLWJ1dHRvbi1kZWxldGUge1xuICAgIGJhY2tncm91bmQ6IHJlZDtcbn1cblxuLnBjLWZ1bGwtd2lkdGgge1xuICAgIHdpZHRoOiAxMDAlO1xufSIsIi5wYy1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnBjLXdpZGUge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucGMtZWRpdC1saXN0IHRib2R5IHRyOm50aC1jaGlsZCgybikge1xuICBiYWNrZ3JvdW5kOiAjZjlmOWY5OyB9XG5cbi5wYy1lZGl0LWxpc3QgdGhlYWQgdGg6bGFzdC1jaGlsZCB7XG4gIHdpZHRoOiA2MHB4OyB9XG5cbi5saXN0LWl0ZW1fX2Rlc2NyaXB0aW9uIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLndpZGVmYXQgLmxpc3QtaXRlbV9fcmVtb3ZlIHAge1xuICBjb2xvcjogI2EwMDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi53aWRlZmF0IC5saXN0LWl0ZW1fX3JlbW92ZSBwOmhvdmVyIHtcbiAgY29sb3I6IHJlZDsgfVxuXG4ud2lkZWZhdCAubGlzdC1pdGVtX19zYXZlIHAge1xuICBjb2xvcjogIzAwODAwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyogaWYgZmlyc3QgYW5kIGxhc3QsIHNob3cgdGhlIGVtcHR5IHAgbWVzc2FnZSAqL1xuLnNhdmUtd2lkZ2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAxMjMsIDAsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gIGNvbG9yOiBncmVlbjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tbGVmdDogNnB4O1xuICBwYWRkaW5nOiAwIDZweDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7IH1cblxuLnNhdmUtd2lkZ2V0LmlzLXNhdmVkIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNSYWRpbyBJdGVtc1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5wYy1yYWRpby1pdGVtIHtcbiAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgLnBjLXJhZGlvLWl0ZW0gZGl2IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4ucGMtcmFkaW8taXRlbV9fdGl0bGUge1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5wYy1yYWRpby1pdGVtX190aXRsZSwgLnBjLXJhZGlvLWl0ZW1fX2JvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLndpZGVmYXQgLnBjLWNoZWNrbGlzdC1pdGVtIHAge1xuICBtYXJnaW46IC4zZW0gMCAwIDA7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAjSXMgT25seSBDaGlsZFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5pcy1vbmx5LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCksIC5pcy1vbmx5LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNFZGl0aW5nXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnBjLWNoZWNrbGlzdC1pdGVtLmlzLWVkaXRpbmcgLmlzLWVkaXRpbmcge1xuICBkaXNwbGF5OiBibG9jazsgfVxuLnBjLWNoZWNrbGlzdC1pdGVtLmlzLW5vdC1lZGl0aW5nIC5pcy1lZGl0aW5nIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGMtY2hlY2tsaXN0LWl0ZW0uaXMtbm90LWVkaXRpbmcgLmlzLW5vdC1lZGl0aW5nIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbi5wYy1jaGVja2xpc3QtaXRlbS5pcy1lZGl0aW5nIC5pcy1ub3QtZWRpdGluZyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBjLWJ1dHRvbi1kZWxldGUge1xuICBiYWNrZ3JvdW5kOiByZWQ7IH1cblxuLnBjLWZ1bGwtd2lkdGgge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucGMtZWRpdC1saXN0IHtcbiAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgLnBjLWVkaXQtbGlzdCBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogLjVlbSAwOyB9XG4gIC5wYy1lZGl0LWxpc3QgbGk6bnRoLWNoaWxkKDJuIC0gMSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7IH1cblxuLnBjLWVkaXQtbGlzdF9faGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFNUU1RTU7XG4gIHBhZGRpbmc6IC41ZW07IH1cblxuLnBjLWxpc3QtaXRlbXMge1xuICBtYXJnaW46IDA7IH1cblxuLnBjLWxpc3QtaXRlbSB7XG4gIG1hcmdpbjogMDsgfVxuICAucGMtbGlzdC1pdGVtIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBjLWxpc3QtaXRlbS5pcy1lZGl0aW5nIHAge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBjLWxpc3QtaXRlbS5pcy1lZGl0aW5nIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wYy1saXN0LWl0ZW0tLWVtcHR5LXZpZXcge1xuICBwYWRkaW5nOiAuN2VtIDA7IH1cblxuLnBjLWdyaWRfX3JvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5pcy1lZGl0aW5nIC5wYy1saXN0LWl0ZW1fX3JlbW92ZS1idXR0b24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wYy1saXN0LWl0ZW1fX3NhdmUtYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5pcy1lZGl0aW5nIC5wYy1saXN0LWl0ZW1fX3NhdmUtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5wYy1ncmlkX19mbGV4aWJsZSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZzogLjVlbSAuNWVtOyB9XG5cbi5wYy1ncmlkX19maXhlZCB7XG4gIHdpZHRoOiA4MHB4O1xuICBwYWRkaW5nOiAuNWVtIC41ZW07IH1cblxuLnBjLWxpc3QtaXRlbS1pbnN0YW5jZV9fZGVzY3JpcHRpb24ge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5wYy1wb3B1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI0ZGRjtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMzUwcHg7XG4gIG1hcmdpbjogMjBweCBhdXRvOyB9XG4gIC5wYy1wb3B1cCAubWZwLWNsb3NlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5wYy1wb3B1cC0tbm90aWZpY2F0aW9uIC5wYy1wb3B1cF9fYnV0dG9uLWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGMtcG9wdXBfX2NvbnRlbnQge1xuICBwYWRkaW5nOiA0MHB4IDIwcHg7IH1cblxuLnBjLXBvcHVwX19idXR0b24tZ3JvdXAge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0Q5RDlEOTtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4ucGMtcG9wdXBfX2J1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IG5vbmU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZzogMjBweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciBlYXNlIC4zczsgfVxuICAucGMtcG9wdXBfX2J1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnBjLXBvcHVwX19idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0Q5RDlEOTsgfVxuXG4ucGMtcG9wdXAtc291cmNlLXdyYXBwZXIgLnBjLXBvcHVwLXNvdXJjZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogTWFnbmlmaWMgUG9wdXAgQ1NTICovXG4ubWZwLWJnIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDAwMDAwMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiAjMGIwYjBiO1xuICBvcGFjaXR5OiAwLjg7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT04MCk7IH1cblxuLm1mcC13cmFwIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDAwMDAwMjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5tZnAtY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogMCA4cHg7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ubWZwLWFsaWduLXRvcCAubWZwLWNvbnRhaW5lcjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgei1pbmRleDogMTAwMDAwMDQ7IH1cblxuLm1mcC1pbmxpbmUtaG9sZGVyIC5tZnAtY29udGVudCxcbi5tZnAtYWpheC1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLWFqYXgtY3VyIHtcbiAgY3Vyc29yOiBwcm9ncmVzczsgfVxuXG4ubWZwLXpvb20tb3V0LWN1ciwgLm1mcC16b29tLW91dC1jdXIgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gIGN1cnNvcjogLW1vei16b29tLW91dDtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICBjdXJzb3I6IHpvb20tb3V0OyB9XG5cbi5tZnAtem9vbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogLW1vei16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47IH1cblxuLm1mcC1hdXRvLWN1cnNvciAubWZwLWNvbnRlbnQge1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1mcC1jbG9zZSxcbi5tZnAtYXJyb3csXG4ubWZwLXByZWxvYWRlcixcbi5tZnAtY291bnRlciB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5tZnAtbG9hZGluZy5tZnAtZmlndXJlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWZwLWhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLm1mcC1wcmVsb2FkZXIge1xuICBjb2xvcjogI0NDQztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogLTAuOGVtO1xuICBsZWZ0OiA4cHg7XG4gIHJpZ2h0OiA4cHg7XG4gIHotaW5kZXg6IDEwMDAwMDAzOyB9XG4gIC5tZnAtcHJlbG9hZGVyIGEge1xuICAgIGNvbG9yOiAjQ0NDOyB9XG4gICAgLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI0ZGRjsgfVxuXG4ubWZwLXMtcmVhZHkgLm1mcC1wcmVsb2FkZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtcy1lcnJvciAubWZwLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmJ1dHRvbi5tZnAtY2xvc2UsIGJ1dHRvbi5tZnAtYXJyb3cge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAxMDAwMDAwNTtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICBib3gtc2hhZG93OiBub25lOyB9XG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuLm1mcC1jbG9zZSB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAwLjY1O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NjUpO1xuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xuICBjb2xvcjogI0ZGRjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTsgfVxuICAubWZwLWNsb3NlOmhvdmVyLCAubWZwLWNsb3NlOmZvY3VzIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApOyB9XG4gIC5tZnAtY2xvc2U6YWN0aXZlIHtcbiAgICB0b3A6IDFweDsgfVxuXG4ubWZwLWNsb3NlLWJ0bi1pbiAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSxcbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICNGRkY7XG4gIHJpZ2h0OiAtNnB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogNnB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubWZwLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAjQ0NDO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5tZnAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT02NSk7XG4gIG1hcmdpbjogMDtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC01NXB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogOTBweDtcbiAgaGVpZ2h0OiAxMTBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubWZwLWFycm93OmFjdGl2ZSB7XG4gICAgbWFyZ2luLXRvcDogLTU0cHg7IH1cbiAgLm1mcC1hcnJvdzpob3ZlciwgLm1mcC1hcnJvdzpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTsgfVxuICAubWZwLWFycm93OmJlZm9yZSwgLm1mcC1hcnJvdzphZnRlcixcbiAgLm1mcC1hcnJvdyAubWZwLWIsXG4gIC5tZnAtYXJyb3cgLm1mcC1hIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgYm9yZGVyOiBtZWRpdW0gaW5zZXQgdHJhbnNwYXJlbnQ7IH1cbiAgLm1mcC1hcnJvdzphZnRlcixcbiAgLm1mcC1hcnJvdyAubWZwLWEge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDEzcHg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTNweDtcbiAgICB0b3A6IDhweDsgfVxuICAubWZwLWFycm93OmJlZm9yZSxcbiAgLm1mcC1hcnJvdyAubWZwLWIge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDIxcHg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjFweDtcbiAgICBvcGFjaXR5OiAwLjc7IH1cblxuLm1mcC1hcnJvdy1sZWZ0IHtcbiAgbGVmdDogMDsgfVxuICAubWZwLWFycm93LWxlZnQ6YWZ0ZXIsXG4gIC5tZnAtYXJyb3ctbGVmdCAubWZwLWEge1xuICAgIGJvcmRlci1yaWdodDogMTdweCBzb2xpZCAjRkZGO1xuICAgIG1hcmdpbi1sZWZ0OiAzMXB4OyB9XG4gIC5tZnAtYXJyb3ctbGVmdDpiZWZvcmUsXG4gIC5tZnAtYXJyb3ctbGVmdCAubWZwLWIge1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIGJvcmRlci1yaWdodDogMjdweCBzb2xpZCAjM0YzRjNGOyB9XG5cbi5tZnAtYXJyb3ctcmlnaHQge1xuICByaWdodDogMDsgfVxuICAubWZwLWFycm93LXJpZ2h0OmFmdGVyLFxuICAubWZwLWFycm93LXJpZ2h0IC5tZnAtYSB7XG4gICAgYm9yZGVyLWxlZnQ6IDE3cHggc29saWQgI0ZGRjtcbiAgICBtYXJnaW4tbGVmdDogMzlweDsgfVxuICAubWZwLWFycm93LXJpZ2h0OmJlZm9yZSxcbiAgLm1mcC1hcnJvdy1yaWdodCAubWZwLWIge1xuICAgIGJvcmRlci1sZWZ0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cblxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4gIC5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiA5MDBweDsgfVxuICAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gICAgdG9wOiAtNDBweDsgfVxuXG4ubWZwLWlmcmFtZS1zY2FsZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogNTYuMjUlOyB9XG4gIC5tZnAtaWZyYW1lLXNjYWxlciBpZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4vKiBNYWluIGltYWdlIGluIHBvcHVwICovXG5pbWcubWZwLWltZyB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogNDBweCAwIDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuLm1mcC1maWd1cmUge1xuICBsaW5lLWhlaWdodDogMDsgfVxuICAubWZwLWZpZ3VyZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA0MHB4O1xuICAgIGJvdHRvbTogNDBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogLTE7XG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYmFja2dyb3VuZDogIzQ0NDsgfVxuICAubWZwLWZpZ3VyZSBzbWFsbCB7XG4gICAgY29sb3I6ICNCREJEQkQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNHB4OyB9XG4gIC5tZnAtZmlndXJlIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5tZnAtYm90dG9tLWJhciB7XG4gIG1hcmdpbi10b3A6IC0zNnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiAjRjNGM0YzO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHBhZGRpbmctcmlnaHQ6IDM2cHg7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5tZnAtZ2FsbGVyeSAubWZwLWltYWdlLWhvbGRlciAubWZwLWZpZ3VyZSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHtcbiAgLyoqXG4gICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cbiAgICovXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIGltZy5tZnAtaW1nIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZTphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmUgc21hbGwge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRvcDogYXV0bztcbiAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICAubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyOmVtcHR5IHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY291bnRlciB7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IDNweDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jbG9zZSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwOyB9IH1cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5tZnAtYXJyb3cge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpOyB9XG5cbiAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMDsgfVxuXG4gIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlOyB9XG5cbiAgLm1mcC1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDZweDsgfSB9XG4ubWZwLWllNyAubWZwLWltZyB7XG4gIHBhZGRpbmc6IDA7IH1cbi5tZnAtaWU3IC5tZnAtYm90dG9tLWJhciB7XG4gIHdpZHRoOiA2MDBweDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTMwMHB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7IH1cbi5tZnAtaWU3IC5tZnAtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMDsgfVxuLm1mcC1pZTcgLm1mcC1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDQ0cHg7IH1cbi5tZnAtaWU3IC5tZnAtY2xvc2Uge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4vKipcbiAqIEZhZGUtem9vbSBhbmltYXRpb24gZm9yIGZpcnN0IGRpYWxvZ1xuICovXG4vKiBzdGFydCBzdGF0ZSAqL1xuLm15LW1mcC16b29tLWluIC56b29tLWFuaW0tZGlhbG9nIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIC1vLXRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyB9XG5cbi8qIGFuaW1hdGUgaW4gKi9cbi5teS1tZnAtem9vbS1pbi5tZnAtcmVhZHkgLnpvb20tYW5pbS1kaWFsb2cge1xuICBvcGFjaXR5OiAxO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuLyogYW5pbWF0ZSBvdXQgKi9cbi5teS1tZnAtem9vbS1pbi5tZnAtcmVtb3ZpbmcgLnpvb20tYW5pbS1kaWFsb2cge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIC1vLXRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi8qIERhcmsgb3ZlcmxheSwgc3RhcnQgc3RhdGUgKi9cbi5teS1tZnAtem9vbS1pbi5tZnAtYmcge1xuICBvcGFjaXR5OiAwLjAwMTtcbiAgLyogQ2hyb21lIG9wYWNpdHkgdHJhbnNpdGlvbiBidWcgKi9cbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDsgfVxuXG4vKiBhbmltYXRlIGluICovXG4ubXktbWZwLXpvb20taW4ubWZwLXJlYWR5Lm1mcC1iZyB7XG4gIG9wYWNpdHk6IDAuODsgfVxuXG4vKiBhbmltYXRlIG91dCAqL1xuLm15LW1mcC16b29tLWluLm1mcC1yZW1vdmluZy5tZnAtYmcge1xuICBvcGFjaXR5OiAwOyB9XG5cbi8qKlxuICogRmFkZS1tb3ZlIGFuaW1hdGlvbiBmb3Igc2Vjb25kIGRpYWxvZ1xuICovXG4vKiBhdCBzdGFydCAqL1xuLm15LW1mcC1zbGlkZS1ib3R0b20gLnpvb20tYW5pbS1kaWFsb2cge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgxMGRlZyk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgxMGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDEwZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgxMGRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCkgcGVyc3BlY3RpdmUoNjAwcHgpIHJvdGF0ZVgoMTBkZWcpOyB9XG5cbi8qIGFuaW1hdGUgaW4gKi9cbi5teS1tZnAtc2xpZGUtYm90dG9tLm1mcC1yZWFkeSAuem9vbS1hbmltLWRpYWxvZyB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcGVyc3BlY3RpdmUoNjAwcHgpIHJvdGF0ZVgoMCk7IH1cblxuLyogYW5pbWF0ZSBvdXQgKi9cbi5teS1tZnAtc2xpZGUtYm90dG9tLm1mcC1yZW1vdmluZyAuem9vbS1hbmltLWRpYWxvZyB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgxMGRlZyk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgxMGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDEwZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgxMGRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCkgcGVyc3BlY3RpdmUoNjAwcHgpIHJvdGF0ZVgoMTBkZWcpOyB9XG5cbi8qIERhcmsgb3ZlcmxheSwgc3RhcnQgc3RhdGUgKi9cbi5teS1tZnAtc2xpZGUtYm90dG9tLm1mcC1iZyB7XG4gIG9wYWNpdHk6IDAuMDE7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0O1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7IH1cblxuLyogYW5pbWF0ZSBpbiAqL1xuLm15LW1mcC1zbGlkZS1ib3R0b20ubWZwLXJlYWR5Lm1mcC1iZyB7XG4gIG9wYWNpdHk6IDAuODsgfVxuXG4vKiBhbmltYXRlIG91dCAqL1xuLm15LW1mcC1zbGlkZS1ib3R0b20ubWZwLXJlbW92aW5nLm1mcC1iZyB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9c3R5bGVzLmNzcy5tYXAgKi9cbiIsIi5wYy1lZGl0LWxpc3Qge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogLjVlbSAwO1xuICAgIH1cblxuICAgIGxpOm50aC1jaGlsZCgybiAtIDEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgICB9XG59XG5cbi5wYy1lZGl0LWxpc3RfX2hlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFNUU1RTU7XG4gICAgcGFkZGluZzogLjVlbTtcbn1cblxuLnBjLWxpc3QtaXRlbXMge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnBjLWxpc3QtaXRlbSB7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5pcy1lZGl0aW5nIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBjLWxpc3QtaXRlbS0tZW1wdHktdmlldyB7XG4gICAgcGFkZGluZzogLjdlbSAwO1xufVxuXG4ucGMtZ3JpZCB7XG5cbn1cblxuLnBjLWdyaWRfX3JvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnBjLWxpc3QtaXRlbV9fcmVtb3ZlLWJ1dHRvbiB7XG5cbiAgICAuaXMtZWRpdGluZyAmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5wYy1saXN0LWl0ZW1fX3NhdmUtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcblxuICAgIC5pcy1lZGl0aW5nICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jayFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ucGMtbGlzdC1pdGVtX19yZW1vdmUtYnV0dG9uIHtcblxufVxuXG4ucGMtZ3JpZF9fZmxleGlibGUge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBwYWRkaW5nOiAuNWVtIC41ZW07XG5cbn1cblxuLnBjLWdyaWRfX2ZpeGVkIHtcbiAgICB3aWR0aDogODBweDtcbiAgICBwYWRkaW5nOiAuNWVtIC41ZW07XG5cbn0iLCIucGMtbGlzdC1pdGVtLWluc3RhbmNlIHtcblxufVxuXG4ucGMtbGlzdC1pdGVtLWluc3RhbmNlX19kZXNjcmlwdGlvbiB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn0iLCIucGMtcG9wdXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMzUwcHg7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG87XG5cbiAgICAubWZwLWNsb3NlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5wYy1wb3B1cC0tbm90aWZpY2F0aW9uIHtcbiAgICAucGMtcG9wdXBfX2J1dHRvbi1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4ucGMtcG9wdXBfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDQwcHggMjBweDtcbn1cblxuLnBjLXBvcHVwX19idXR0b24tZ3JvdXAge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRDlEOUQ5O1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5wYy1wb3B1cF9fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgLy8jZjJmMmYyO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIGVhc2UgLjNzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbih3aGl0ZSwgMTAlKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNEOUQ5RDk7XG4gICAgfVxufVxuXG4ucGMtcG9wdXAtc291cmNlLXdyYXBwZXIgLnBjLXBvcHVwLXNvdXJjZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn0iLCIvKiBNYWduaWZpYyBQb3B1cCBDU1MgKi9cblxuQGltcG9ydCBcInNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vIENvbnRlbnRzOlxuLy9cbi8vIDEuIERlZmF1bHQgU2V0dGluZ3Ncbi8vIDIuIEdlbmVyYWwgc3R5bGVzXG4vLyAgICAtIFRyYW5zbHVzY2VudCBvdmVybGF5XG4vLyAgICAtIENvbnRhaW5lcnMsIHdyYXBwZXJzXG4vLyAgICAtIEN1cnNvcnNcbi8vICAgIC0gSGVscGVyIGNsYXNzZXNcbi8vIDMuIEFwcGVhcmFuY2Vcbi8vICAgIC0gUHJlbG9hZGVyICYgdGV4dCB0aGF0IGRpc3BsYXlzIGVycm9yIG1lc3NhZ2VzXG4vLyAgICAtIENTUyByZXNldCBmb3IgYnV0dG9uc1xuLy8gICAgLSBDbG9zZSBpY29uXG4vLyAgICAtIFwiMSBvZiBYXCIgY291bnRlclxuLy8gICAgLSBOYXZpZ2F0aW9uIChsZWZ0L3JpZ2h0KSBhcnJvd3Ncbi8vICAgIC0gSWZyYW1lIGNvbnRlbnQgdHlwZSBzdHlsZXNcbi8vICAgIC0gSW1hZ2UgY29udGVudCB0eXBlIHN0eWxlc1xuLy8gICAgLSBNZWRpYSBxdWVyeSB3aGVyZSBzaXplIG9mIGFycm93cyBpcyByZWR1Y2VkXG4vLyAgICAtIElFNyBzdXBwb3J0XG4vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIDEuIERlZmF1bHQgU2V0dGluZ3Ncbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4kbWZwLW92ZXJsYXktY29sb3I6ICAgICAgICAgICAgICAgICAgICMwYjBiMGIgIWRlZmF1bHQ7XG4kbWZwLW92ZXJsYXktb3BhY2l0eTogICAgICAgICAgICAgICAgIDAuOCAhZGVmYXVsdDtcbiRtZnAtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgICAgMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNikgIWRlZmF1bHQ7IC8vIHNoYWRvdyBvbiBpbWFnZSBvciBpZnJhbWVcbiRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgOHB4ICFkZWZhdWx0OyAvLyBQYWRkaW5nIGZyb20gbGVmdCBhbmQgZnJvbSByaWdodCBzaWRlXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU6ICAgICAgIDZweCAhZGVmYXVsdDsgLy8gU2FtZSBhcyBhYm92ZSwgYnV0IGlzIGFwcGxpZWQgd2hlbiB3aWR0aCBvZiB3aW5kb3cgaXMgbGVzcyB0aGFuIDgwMHB4XG5cbiRtZnAtei1pbmRleC1iYXNlOiAgICAgICAgICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDsgLy8gQmFzZSB6LWluZGV4IG9mIHBvcHVwXG4kbWZwLWluY2x1ZGUtYXJyb3dzOiAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7IC8vIGluY2x1ZGUgc3R5bGVzIGZvciBuYXYgYXJyb3dzXG4kbWZwLWNvbnRyb2xzLW9wYWNpdHk6ICAgICAgICAgICAgICAgIDAuNjUgIWRlZmF1bHQ7XG4kbWZwLWNvbnRyb2xzLWNvbG9yOiAgICAgICAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7XG4kbWZwLWNvbnRyb2xzLWJvcmRlci1jb2xvcjogICAgICAgICAgICMzRjNGM0YgIWRlZmF1bHQ7XG4kbWZwLWlubmVyLWNsb3NlLWljb24tY29sb3I6ICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kbWZwLWNvbnRyb2xzLXRleHQtY29sb3I6ICAgICAgICAgICAgICNDQ0MgIWRlZmF1bHQ7IC8vIENvbG9yIG9mIHByZWxvYWRlciBhbmQgXCIxIG9mIFhcIiBpbmRpY2F0b3JcbiRtZnAtY29udHJvbHMtdGV4dC1jb2xvci1ob3ZlcjogICAgICAgI0ZGRiAhZGVmYXVsdDtcbiRtZnAtSUU3c3VwcG9ydDogICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsgLy8gVmVyeSBiYXNpYyBJRTcgc3VwcG9ydFxuXG4vLyBJZnJhbWUtdHlwZSBvcHRpb25zXG4kbWZwLWluY2x1ZGUtaWZyYW1lLXR5cGU6ICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kbWZwLWlmcmFtZS1wYWRkaW5nLXRvcDogICAgICAgICAgICAgIDQwcHggIWRlZmF1bHQ7XG4kbWZwLWlmcmFtZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kbWZwLWlmcmFtZS1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0O1xuJG1mcC1pZnJhbWUtcmF0aW86ICAgICAgICAgICAgICAgICAgICA5LzE2ICFkZWZhdWx0O1xuXG4vLyBJbWFnZS10eXBlIG9wdGlvbnNcbiRtZnAtaW5jbHVkZS1pbWFnZS10eXBlOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRtZnAtaW1hZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIzQ0NCAhZGVmYXVsdDtcbiRtZnAtaW1hZ2UtcGFkZGluZy10b3A6ICAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDtcbiRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b206ICAgICAgICAgICAgNDBweCAhZGVmYXVsdDtcbiRtZnAtaW5jbHVkZS1tb2JpbGUtbGF5b3V0LWZvci1pbWFnZTogdHJ1ZSAhZGVmYXVsdDsgLy8gUmVtb3ZlcyBwYWRkaW5ncyBmcm9tIHRvcCBhbmQgYm90dG9tXG5cbi8vIEltYWdlIGNhcHRpb24gb3B0aW9uc1xuJG1mcC1jYXB0aW9uLXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAjRjNGM0YzICFkZWZhdWx0O1xuJG1mcC1jYXB0aW9uLXN1YnRpdGxlLWNvbG9yOiAgICAgICAgICAjQkRCREJEICFkZWZhdWx0O1xuXG4vLyBBMTF5XG4kbWZwLXVzZS12aXN1YWxseWhpZGRlbjogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0OyAvLyBIaWRlIGNvbnRlbnQgZnJvbSBicm93c2VycywgYnV0IG1ha2UgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyc1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAyLiBHZW5lcmFsIHN0eWxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIFRyYW5zbHVzY2VudCBvdmVybGF5XG4ubWZwLWJnIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyAyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGZpeGVkO1xuXG4gICAgYmFja2dyb3VuZDogJG1mcC1vdmVybGF5LWNvbG9yO1xuICAgIG9wYWNpdHk6ICRtZnAtb3ZlcmxheS1vcGFjaXR5O1xuICAgIEBpZiAkbWZwLUlFN3N1cHBvcnQge1xuICAgICAgICBmaWx0ZXI6IHVucXVvdGUoXCJhbHBoYShvcGFjaXR5PSN7JG1mcC1vdmVybGF5LW9wYWNpdHkqMTAwfSlcIik7XG4gICAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciBwb3B1cFxuLm1mcC13cmFwIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyAzO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8vIGZpeGVzIHdlYmtpdCBidWcgdGhhdCBjYW4gY2F1c2UgXCJmYWxzZVwiIHNjcm9sbGJhclxufVxuXG4vLyBSb290IGNvbnRhaW5lclxuLm1mcC1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDAgJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQ7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vLyBWZXJ0aWNhbCBjZW50ZXJlciBoZWxwZXJcbi5tZnAtY29udGFpbmVyIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG59XG5cbi8vIFJlbW92ZSB2ZXJ0aWNhbCBjZW50ZXJpbmcgd2hlbiBwb3B1cCBoYXMgY2xhc3MgYG1mcC1hbGlnbi10b3BgXG4ubWZwLWFsaWduLXRvcCB7XG4gICAgLm1mcC1jb250YWluZXIge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBQb3B1cCBjb250ZW50IGhvbGRlclxuLm1mcC1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB6LWluZGV4OiAkbWZwLXotaW5kZXgtYmFzZSArIDU7XG59XG4ubWZwLWlubGluZS1ob2xkZXIsXG4ubWZwLWFqYXgtaG9sZGVyIHtcbiAgICAubWZwLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgIH1cbn1cblxuLy8gQ3Vyc29yc1xuLm1mcC1hamF4LWN1ciB7XG4gICAgY3Vyc29yOiBwcm9ncmVzcztcbn1cbi5tZnAtem9vbS1vdXQtY3VyIHtcbiAgICAmLCAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgICAgICAgY3Vyc29yOiAtbW96LXpvb20tb3V0O1xuICAgICAgICBjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7XG4gICAgICAgIGN1cnNvcjogem9vbS1vdXQ7XG4gICAgfVxufVxuLm1mcC16b29tIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gICAgY3Vyc29yOiAtbW96LXpvb20taW47XG4gICAgY3Vyc29yOiB6b29tLWluO1xufVxuLm1mcC1hdXRvLWN1cnNvciB7XG4gICAgLm1mcC1jb250ZW50IHtcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgIH1cbn1cblxuLm1mcC1jbG9zZSxcbi5tZnAtYXJyb3csXG4ubWZwLXByZWxvYWRlcixcbi5tZnAtY291bnRlciB7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDpub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vIEhpZGUgdGhlIGltYWdlIGR1cmluZyB0aGUgbG9hZGluZ1xuLm1mcC1sb2FkaW5nIHtcbiAgICAmLm1mcC1maWd1cmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy8gSGVscGVyIGNsYXNzIHRoYXQgaGlkZXMgc3R1ZmZcbkBpZiAkbWZwLXVzZS12aXN1YWxseWhpZGRlbiB7XG4gICAgLy8gRnJvbSBIVE1MNSBCb2lsZXJwbGF0ZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL3Y0LjIuMC9kb2MvY3NzLm1kI3Zpc3VhbGx5aGlkZGVuXG4gICAgLm1mcC1oaWRlIHtcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgIH1cbn0gQGVsc2Uge1xuICAgIC5tZnAtaGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAzLiBBcHBlYXJhbmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gUHJlbG9hZGVyIGFuZCB0ZXh0IHRoYXQgZGlzcGxheXMgZXJyb3IgbWVzc2FnZXNcbi5tZnAtcHJlbG9hZGVyIHtcbiAgICBjb2xvcjogJG1mcC1jb250cm9scy10ZXh0LWNvbG9yO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogLTAuOGVtO1xuICAgIGxlZnQ6IDhweDtcbiAgICByaWdodDogOHB4O1xuICAgIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgNDtcbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJG1mcC1jb250cm9scy10ZXh0LWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBIaWRlIHByZWxvYWRlciB3aGVuIGNvbnRlbnQgc3VjY2Vzc2Z1bGx5IGxvYWRlZFxuLm1mcC1zLXJlYWR5IHtcbiAgICAubWZwLXByZWxvYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vLyBIaWRlIGNvbnRlbnQgd2hlbiBpdCB3YXMgbm90IGxvYWRlZFxuLm1mcC1zLWVycm9yIHtcbiAgICAubWZwLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy8gQ1NTLXJlc2V0IGZvciBidXR0b25zXG5idXR0b24ge1xuICAgICYubWZwLWNsb3NlLFxuICAgICYubWZwLWFycm93IHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyA2O1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IDBcbiAgICB9XG59XG5cblxuLy8gQ2xvc2UgaWNvblxuLm1mcC1jbG9zZSB7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG9wYWNpdHk6ICRtZnAtY29udHJvbHMtb3BhY2l0eTtcbiAgICBAaWYgJG1mcC1JRTdzdXBwb3J0IHtcbiAgICAgICAgZmlsdGVyOiB1bnF1b3RlKFwiYWxwaGEob3BhY2l0eT0jeyRtZnAtY29udHJvbHMtb3BhY2l0eSoxMDB9KVwiKTtcbiAgICB9XG4gICAgcGFkZGluZzogMCAwIDE4cHggMTBweDtcbiAgICBjb2xvcjogJG1mcC1jb250cm9scy1jb2xvcjtcblxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgQGlmICRtZnAtSUU3c3VwcG9ydCB7XG4gICAgICAgICAgICBmaWx0ZXI6IHVucXVvdGUoXCJhbHBoYShvcGFjaXR5PSN7MSoxMDB9KVwiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgfVxufVxuLm1mcC1jbG9zZS1idG4taW4ge1xuICAgIC5tZnAtY2xvc2Uge1xuICAgICAgICBjb2xvcjogJG1mcC1pbm5lci1jbG9zZS1pY29uLWNvbG9yO1xuICAgIH1cbn1cbi5tZnAtaW1hZ2UtaG9sZGVyLFxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgICAubWZwLWNsb3NlIHtcbiAgICAgICAgY29sb3I6ICRtZnAtY29udHJvbHMtY29sb3I7XG4gICAgICAgIHJpZ2h0OiAtNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNnB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi8vIFwiMSBvZiBYXCIgY291bnRlclxuLm1mcC1jb3VudGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3I7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIE5hdmlnYXRpb24gYXJyb3dzXG5AaWYgJG1mcC1pbmNsdWRlLWFycm93cyB7XG4gICAgLm1mcC1hcnJvdyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3BhY2l0eTogJG1mcC1jb250cm9scy1vcGFjaXR5O1xuICAgICAgICBAaWYgJG1mcC1JRTdzdXBwb3J0IHtcbiAgICAgICAgICAgIGZpbHRlcjogdW5xdW90ZShcImFscGhhKG9wYWNpdHk9I3skbWZwLWNvbnRyb2xzLW9wYWNpdHkqMTAwfSlcIik7XG4gICAgICAgIH1cbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTU1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICBoZWlnaHQ6IDExMHB4O1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01NHB4O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIEBpZiAkbWZwLUlFN3N1cHBvcnQge1xuICAgICAgICAgICAgICAgIGZpbHRlcjogdW5xdW90ZShcImFscGhhKG9wYWNpdHk9I3sxKjEwMH0pXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyLFxuICAgICAgICAubWZwLWIsXG4gICAgICAgIC5tZnAtYSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgICAgICAgICAgYm9yZGVyOiBtZWRpdW0gaW5zZXQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyLFxuICAgICAgICAubWZwLWEge1xuXG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAxM3B4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTNweDtcbiAgICAgICAgICAgIHRvcDo4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgLm1mcC1iIHtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDIxcHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMXB4O1xuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAubWZwLWFycm93LWxlZnQge1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICY6YWZ0ZXIsXG4gICAgICAgIC5tZnAtYSB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgJG1mcC1jb250cm9scy1jb2xvcjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMXB4O1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAubWZwLWIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDI3cHggc29saWQgJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWZwLWFycm93LXJpZ2h0IHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICY6YWZ0ZXIsXG4gICAgICAgIC5tZnAtYSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMTdweCBzb2xpZCAkbWZwLWNvbnRyb2xzLWNvbG9yO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDM5cHhcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgLm1mcC1iIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAyN3B4IHNvbGlkICRtZnAtY29udHJvbHMtYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLy8gSWZyYW1lIGNvbnRlbnQgdHlwZVxuQGlmICRtZnAtaW5jbHVkZS1pZnJhbWUtdHlwZSB7XG4gICAgLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRtZnAtaWZyYW1lLXBhZGRpbmctdG9wO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJG1mcC1pZnJhbWUtcGFkZGluZy10b3A7XG4gICAgICAgIC5tZnAtY29udGVudCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRtZnAtaWZyYW1lLW1heC13aWR0aDtcbiAgICAgICAgfVxuICAgICAgICAubWZwLWNsb3NlIHtcbiAgICAgICAgICAgIHRvcDogLTQwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1mcC1pZnJhbWUtc2NhbGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy10b3A6ICRtZnAtaWZyYW1lLXJhdGlvICogMTAwJTtcbiAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJG1mcC1zaGFkb3c7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWZwLWlmcmFtZS1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLy8gSW1hZ2UgY29udGVudCB0eXBlXG5AaWYgJG1mcC1pbmNsdWRlLWltYWdlLXR5cGUge1xuXG4gICAgLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqL1xuICAgIGltZyB7XG4gICAgICAgICYubWZwLWltZyB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgcGFkZGluZzogJG1mcC1pbWFnZS1wYWRkaW5nLXRvcCAwICRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b207XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuICAgIC5tZnAtZmlndXJlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAkbWZwLWltYWdlLXBhZGRpbmctdG9wO1xuICAgICAgICAgICAgYm90dG9tOiAkbWZwLWltYWdlLXBhZGRpbmctYm90dG9tO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkbWZwLXNoYWRvdztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtZnAtaW1hZ2UtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgICBjb2xvcjogJG1mcC1jYXB0aW9uLXN1YnRpdGxlLWNvbG9yO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgICAgfVxuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5tZnAtYm90dG9tLWJhciB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0kbWZwLWltYWdlLXBhZGRpbmctYm90dG9tICsgNDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgfVxuICAgIC5tZnAtdGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgY29sb3I6ICRtZnAtY2FwdGlvbi10aXRsZS1jb2xvcjtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzNnB4OyAvLyBsZWF2ZSBzb21lIHNwYWNlIGZvciBjb3VudGVyIGF0IHJpZ2h0IHNpZGVcbiAgICB9XG5cbiAgICAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgICAgIC5tZnAtY29udGVudCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWZwLWdhbGxlcnkge1xuICAgICAgICAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgICAgICAgICAubWZwLWZpZ3VyZSB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBAaWYgJG1mcC1pbmNsdWRlLW1vYmlsZS1sYXlvdXQtZm9yLWltYWdlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogUmVtb3ZlIGFsbCBwYWRkaW5ncyBhcm91bmQgdGhlIGltYWdlIG9uIHNtYWxsIHNjcmVlblxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICAubWZwLWltZy1tb2JpbGUge1xuICAgICAgICAgICAgICAgIC5tZnAtaW1hZ2UtaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAmLm1mcC1pbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubWZwLWZpZ3VyZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZVxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5tZnAtYm90dG9tLWJhciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC42KTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogM3B4IDVweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5tZnAtY291bnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubWZwLWNsb3NlIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLy8gU2NhbGUgbmF2aWdhdGlvbiBhcnJvd3MgYW5kIHJlZHVjZSBwYWRkaW5nIGZyb20gc2lkZXNcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLm1mcC1hcnJvdyB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICB9XG4gICAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICAgIH1cbiAgICAubWZwLWFycm93LXJpZ2h0IHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICAgIH1cbiAgICAubWZwLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQtbW9iaWxlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU7XG4gICAgfVxufVxuXG5cblxuLy8gSUU3IHN1cHBvcnRcbi8vIFN0eWxlcyB0aGF0IG1ha2UgcG9wdXAgbG9vayBuaWNpZXIgaW4gb2xkIElFXG5AaWYgJG1mcC1JRTdzdXBwb3J0IHtcbiAgICAubWZwLWllNyB7XG4gICAgICAgIC5tZnAtaW1nIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLm1mcC1ib3R0b20tYmFyIHtcbiAgICAgICAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMzAwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG4gICAgICAgIC5tZnAtY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLm1mcC1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0NHB4O1xuICAgICAgICB9XG4gICAgICAgIC5tZnAtY2xvc2Uge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBGYWRlLXpvb20gYW5pbWF0aW9uIGZvciBmaXJzdCBkaWFsb2dcbiAqL1xuXG4vKiBzdGFydCBzdGF0ZSAqL1xuLm15LW1mcC16b29tLWluIC56b29tLWFuaW0tZGlhbG9nIHtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXG5cblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbn1cblxuLyogYW5pbWF0ZSBpbiAqL1xuLm15LW1mcC16b29tLWluLm1mcC1yZWFkeSAuem9vbS1hbmltLWRpYWxvZyB7XG4gICAgb3BhY2l0eTogMTtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuXG4vKiBhbmltYXRlIG91dCAqL1xuLm15LW1mcC16b29tLWluLm1mcC1yZW1vdmluZyAuem9vbS1hbmltLWRpYWxvZyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuXG4gICAgb3BhY2l0eTogMDtcbn1cblxuLyogRGFyayBvdmVybGF5LCBzdGFydCBzdGF0ZSAqL1xuLm15LW1mcC16b29tLWluLm1mcC1iZyB7XG4gICAgb3BhY2l0eTogMC4wMDE7IC8qIENocm9tZSBvcGFjaXR5IHRyYW5zaXRpb24gYnVnICovXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDtcbn1cbi8qIGFuaW1hdGUgaW4gKi9cbi5teS1tZnAtem9vbS1pbi5tZnAtcmVhZHkubWZwLWJnIHtcbiAgICBvcGFjaXR5OiAwLjg7XG59XG4vKiBhbmltYXRlIG91dCAqL1xuLm15LW1mcC16b29tLWluLm1mcC1yZW1vdmluZy5tZnAtYmcge1xuICAgIG9wYWNpdHk6IDA7XG59XG5cblxuXG4vKipcbiAqIEZhZGUtbW92ZSBhbmltYXRpb24gZm9yIHNlY29uZCBkaWFsb2dcbiAqL1xuXG4vKiBhdCBzdGFydCAqL1xuLm15LW1mcC1zbGlkZS1ib3R0b20gLnpvb20tYW5pbS1kaWFsb2cge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpIHBlcnNwZWN0aXZlKCA2MDBweCApIHJvdGF0ZVgoIDEwZGVnICk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpIHBlcnNwZWN0aXZlKCA2MDBweCApIHJvdGF0ZVgoIDEwZGVnICk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCkgcGVyc3BlY3RpdmUoIDYwMHB4ICkgcm90YXRlWCggMTBkZWcgKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpIHBlcnNwZWN0aXZlKCA2MDBweCApIHJvdGF0ZVgoIDEwZGVnICk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KSBwZXJzcGVjdGl2ZSggNjAwcHggKSByb3RhdGVYKCAxMGRlZyApO1xuXG59XG5cbi8qIGFuaW1hdGUgaW4gKi9cbi5teS1tZnAtc2xpZGUtYm90dG9tLm1mcC1yZWFkeSAuem9vbS1hbmltLWRpYWxvZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBwZXJzcGVjdGl2ZSggNjAwcHggKSByb3RhdGVYKCAwICk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcGVyc3BlY3RpdmUoIDYwMHB4ICkgcm90YXRlWCggMCApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcGVyc3BlY3RpdmUoIDYwMHB4ICkgcm90YXRlWCggMCApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBwZXJzcGVjdGl2ZSggNjAwcHggKSByb3RhdGVYKCAwICk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHBlcnNwZWN0aXZlKCA2MDBweCApIHJvdGF0ZVgoIDAgKTtcbn1cblxuLyogYW5pbWF0ZSBvdXQgKi9cbi5teS1tZnAtc2xpZGUtYm90dG9tLm1mcC1yZW1vdmluZyAuem9vbS1hbmltLWRpYWxvZyB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSBwZXJzcGVjdGl2ZSggNjAwcHggKSByb3RhdGVYKCAxMGRlZyApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSBwZXJzcGVjdGl2ZSggNjAwcHggKSByb3RhdGVYKCAxMGRlZyApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpIHBlcnNwZWN0aXZlKCA2MDBweCApIHJvdGF0ZVgoIDEwZGVnICk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSBwZXJzcGVjdGl2ZSggNjAwcHggKSByb3RhdGVYKCAxMGRlZyApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCkgcGVyc3BlY3RpdmUoIDYwMHB4ICkgcm90YXRlWCggMTBkZWcgKTtcbn1cblxuLyogRGFyayBvdmVybGF5LCBzdGFydCBzdGF0ZSAqL1xuLm15LW1mcC1zbGlkZS1ib3R0b20ubWZwLWJnIHtcbiAgICBvcGFjaXR5OiAwLjAxO1xuXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDtcbn1cbi8qIGFuaW1hdGUgaW4gKi9cbi5teS1tZnAtc2xpZGUtYm90dG9tLm1mcC1yZWFkeS5tZnAtYmcge1xuICAgIG9wYWNpdHk6IDAuODtcbn1cbi8qIGFuaW1hdGUgb3V0ICovXG4ubXktbWZwLXNsaWRlLWJvdHRvbS5tZnAtcmVtb3ZpbmcubWZwLWJnIHtcbiAgICBvcGFjaXR5OiAwO1xufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICBTZXR0aW5ncyAgICAgIC8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gb3ZlcmxheVxuJG1mcC1vdmVybGF5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAjMGIwYjBiOyAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2Ygb3ZlcmxheSBzY3JlZW5cbiRtZnAtb3ZlcmxheS1vcGFjaXR5OiAgICAgICAgICAgICAgICAgMC44OyAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9wYWNpdHkgb2Ygb3ZlcmxheSBzY3JlZW5cbiRtZnAtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgICAgMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7IC8vIFNoYWRvdyBvbiBpbWFnZSBvciBpZnJhbWVcblxuLy8gc3BhY2luZ1xuJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICA4cHg7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gUGFkZGluZyBmcm9tIGxlZnQgYW5kIGZyb20gcmlnaHQgc2lkZVxuJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQtbW9iaWxlOiAgICAgICA2cHg7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2FtZSBhcyBhYm92ZSwgYnV0IGlzIGFwcGxpZWQgd2hlbiB3aWR0aCBvZiB3aW5kb3cgaXMgbGVzcyB0aGFuIDgwMHB4XG5cbiRtZnAtei1pbmRleC1iYXNlOiAgICAgICAgICAgICAgICAgICAgOTk5OTk5OTsgICAgICAgICAgICAgICAgICAgICAgICAvLyBCYXNlIHotaW5kZXggb2YgcG9wdXBcblxuLy8gY29udHJvbHNcbiRtZnAtaW5jbHVkZS1hcnJvd3M6ICAgICAgICAgICAgICAgICAgdHJ1ZTsgICAgICAgICAgICAgICAgICAgICAgIC8vIEluY2x1ZGUgc3R5bGVzIGZvciBuYXYgYXJyb3dzXG4kbWZwLWNvbnRyb2xzLW9wYWNpdHk6ICAgICAgICAgICAgICAgIDAuNjU7ICAgICAgICAgICAgICAgICAgICAgICAvLyBPcGFjaXR5IG9mIGNvbnRyb2xzXG4kbWZwLWNvbnRyb2xzLWNvbG9yOiAgICAgICAgICAgICAgICAgICNGRkY7ICAgICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBjb250cm9sc1xuJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I6ICAgICAgICAgICAjM0YzRjNGOyBcdCAgICAgICAgICAgICAgICAgIC8vIEJvcmRlciBjb2xvciBvZiBjb250cm9sc1xuJG1mcC1pbm5lci1jbG9zZS1pY29uLWNvbG9yOiAgICAgICAgICAjMzMzOyAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2YgY2xvc2UgYnV0dG9uIHdoZW4gaW5zaWRlXG4kbWZwLWNvbnRyb2xzLXRleHQtY29sb3I6ICAgICAgICAgICAgICNDQ0M7ICAgICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBwcmVsb2FkZXIgYW5kIFwiMSBvZiBYXCIgaW5kaWNhdG9yXG4kbWZwLWNvbnRyb2xzLXRleHQtY29sb3ItaG92ZXI6ICAgICAgICNGRkY7ICAgICAgICAgICAgICAgICAgICAgICAvLyBIb3ZlciBjb2xvciBvZiBwcmVsb2FkZXIgYW5kIFwiMSBvZiBYXCIgaW5kaWNhdG9yXG4kbWZwLUlFN3N1cHBvcnQ6ICAgICAgICAgICAgICAgICAgICAgIHRydWU7ICAgICAgICAgICAgICAgICAgICAgICAvLyBWZXJ5IGJhc2ljIElFNyBzdXBwb3J0XG5cbi8vIElmcmFtZS10eXBlIG9wdGlvbnNcbiRtZnAtaW5jbHVkZS1pZnJhbWUtdHlwZTogICAgICAgICAgICAgdHJ1ZTsgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBJZnJhbWUtdHlwZSBwb3B1cHNcbiRtZnAtaWZyYW1lLXBhZGRpbmctdG9wOiAgICAgICAgICAgICAgNDBweDsgICAgICAgICAgICAgICAgICAgICAgIC8vIElmcmFtZSBwYWRkaW5nIHRvcFxuJG1mcC1pZnJhbWUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAjMDAwOyAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFja2dyb3VuZCBjb2xvciBvZiBpZnJhbWVzXG4kbWZwLWlmcmFtZS1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgIDkwMHB4OyAgICAgICAgICAgICAgICAgICAgICAvLyBNYXhpbXVtIHdpZHRoIG9mIGlmcmFtZXNcbiRtZnAtaWZyYW1lLXJhdGlvOiAgICAgICAgICAgICAgICAgICAgOS8xNjsgICAgICAgICAgICAgICAgICAgICAgIC8vIFJhdGlvIG9mIGlmcmFtZSAoOS8xNiA9IHdpZGVzY3JlZW4sIDMvNCA9IHN0YW5kYXJkLCBldGMuKVxuXG4vLyBJbWFnZS10eXBlIG9wdGlvbnNcbiRtZnAtaW5jbHVkZS1pbWFnZS10eXBlOiAgICAgICAgICAgICAgdHJ1ZTsgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBJbWFnZS10eXBlIHBvcHVwc1xuJG1mcC1pbWFnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJG1mcC1pbWFnZS1wYWRkaW5nLXRvcDogICAgICAgICAgICAgICA0MHB4OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSW1hZ2UgcGFkZGluZyB0b3BcbiRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b206ICAgICAgICAgICAgNDBweDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEltYWdlIHBhZGRpbmcgYm90dG9tXG4kbWZwLWluY2x1ZGUtbW9iaWxlLWxheW91dC1mb3ItaW1hZ2U6IHRydWU7ICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW1vdmVzIHBhZGRpbmdzIGZyb20gdG9wIGFuZCBib3R0b21cblxuLy8gSW1hZ2UgY2FwdGlvbiBvcHRpb25zXG4kbWZwLWNhcHRpb24tdGl0bGUtY29sb3I6ICAgICAgICAgICAgICNGM0YzRjM7ICAgICAgICAgICAgICAgICAgICAvLyBDYXB0aW9uIHRpdGxlIGNvbG9yXG4kbWZwLWNhcHRpb24tc3VidGl0bGUtY29sb3I6ICAgICAgICAgICNCREJEQkQ7ICAgICAgICAgICAgICAgICAgICAvLyBDYXB0aW9uIHN1YnRpdGxlIGNvbG9yXG5cbi8vIEExMXlcbiRtZnAtdXNlLXZpc3VhbGx5aGlkZGVuOiAgICAgICAgICAgICAgZmFsc2U7Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */