/* ----------
 @ Bourbon
---------- */
/* ----------
 @ Bootstrap Variables
---------- */
/* ----------
 @ Custom Variables
---------- */
/* --------------------
 @@ Project Specific Variables
-------------------- */
/* ----------
 @ Options
---------- */
/* ----------
 @ Colors
---------- */
/* ----------
 @ Typography
---------- */
/* ----------
 @ Layout
---------- */
/* ----------
 @ Misc
---------- */
/* ----------
 @ Custom Utilities
---------- */
/* ----------
 @ Rounded Corners
---------- */
/* --------------------
 @@ Mixins
-------------------- */
/* ----------
 @ Maintain Aspect Ratio
	- *** requires that the element has an inner container element if there is inner content
	- $x => x portion of ratio
	- $y => y portion of ratio
    - $c => set to 'false' to skip :first-child styling
---------- */
/* ----------
 @ Background Image
	- Shortcut for linking images in the configured images folder
	- $i => image file name (relative to images folder)
	- $rest => any additional 'background' property shortcut declarations (ie: no-repeat)
---------- */
/* ----------
 @ Size
 	- Shortcut for setting height and width
 	- $width => width of element
 	- $height => height of element
 	- Single value will set both values (e.g. size(100%);
---------- */
/* --------------------
 @@ Functions
-------------------- */
/* ----------
 @ Color Get
 	- get value from the $theme-colors map
---------- */
/* ----------
 @ Breakpoint Get
 	- get value from the $grid-breakpoints map
 	- $type => 'max' | 'min', depending on media query type
---------- */
/* ----------
 @ Rems
	- convert pixels to rems
	- $p => pixel value
	- $b => base size (to use in formula) - defaults to $font-sizes root variable
---------- */
/* ----------
 @ Map Deep Get
 	- get value from nested maps
---------- */
/* ----------
 @ Weight Get
 	- get value from the $font-weights map
---------- */
.c-banner-careers {
  position: relative;
  height: 35rem;
  border-radius: 0 4rem 0 4rem;
  overflow: hidden;
  z-index: 0;
}

.c-banner-careers__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -1;
}

.c-banner-careers__bg--low-res {
  -webkit-filter: blur(2px);
          filter: blur(2px);
}

.c-banner-careers__bottom-bar {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 1rem;
  color: #fff;
  background-color: rgba(60, 55, 120, 0.9);
}

.c-banner-careers__container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-banner-careers__title {
  -ms-grid-column-align: center;
      justify-self: center;
  font-size: 2.55556rem;
}

.c-banner-careers__linkedin {
  position: absolute;
  right: 0;
  width: 32px;
  height: 32px;
  line-height: 32px;
  margin: 0 0 0 auto;
  padding-bottom: 0.15em;
  text-align: center;
  background-color: #fff;
  border-radius: 50%;
}

.c-banner-careers__linkedin::before {
  content: '\f0e1';
  font-family: 'Font Awesome 5 Brands';
  color: #dc5936;
}

.c-banner-careers__linkedin:hover, .c-banner-careers__linkedin:focus {
  text-decoration: none;
}

.c-banner-careers__linkedin:hover::before, .c-banner-careers__linkedin:focus::before {
  color: #3c3778;
}

@media only screen and (max-width: 768px) {
  .c-banner-careers {
    height: auto;
    border-radius: 0 2rem 0 2rem;
  }
  .c-banner-careers::before {
    content: '';
    display: inline-block;
    padding-bottom: 75%;
  }
  .c-banner-careers__container {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .c-banner-careers__title {
    font-size: 1.33333rem;
  }
}

.c-careers-intro {
  margin-top: 6rem;
}

.c-careers-intro__numbered-items {
  counter-reset: numbered-items;
  -webkit-columns: 2;
     -moz-columns: 2;
          columns: 2;
}

.c-careers-intro__numbered-item {
  counter-increment: numbered-items;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  font-size: 1.33333rem;
  font-weight: 500;
  color: #006b86;
}

.c-careers-intro__numbered-item::before {
  content: counter(numbered-items, decimal-leading-zero);
  margin: 0 1em;
  font-family: "clarendon-text-pro", serif;
  font-size: 1.66667rem;
  color: #dc5936;
}

.c-careers-intro__btn {
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 3rem auto 0;
}

@media only screen and (max-width: 768px) {
  .c-careers-intro {
    margin-top: 3rem;
  }
  .c-careers-intro__numbered-items {
    -webkit-columns: 1;
       -moz-columns: 1;
            columns: 1;
  }
  .c-careers-intro__numbered-item::before {
    margin: 0 1em 0 0;
  }
}

.c-benefit-blocks {
  margin-top: 5rem;
}

.c-benefit-blocks__title {
  font-size: 1.66667rem;
  font-weight: 500;
  color: #006b86;
}

.c-benefits-blocks__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 3rem;
}

.c-benefits-blocks__item {
  width: calc((100% - 2rem * 2) / 3);
  margin: 0 0 0 2rem;
}

.c-benefits-blocks__item:first-child {
  margin-left: 0;
}

.c-benefits-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2.5rem;
  text-align: center;
  color: #fff;
  border-radius: 0 3rem 0 3rem;
}

.c-benefits-block:nth-child(1) {
  background-color: #dc5936;
}

.c-benefits-block:nth-child(2) {
  background-color: #3c3778;
}

.c-benefits-block:nth-child(3) {
  background-color: #006b86;
}

.c-benefits-blocks svg,
.c-benefits-block__icon {
  display: inline-block;
  width: 4rem;
  fill: currentColor;
}

.c-benefits-block__title {
  font-size: 1.66667rem;
}

.c-benefits-block__blurb {
  font-size: 1rem;
}

@media only screen and (max-width: 768px) {
  .c-benefits-blocks__items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 2rem;
  }
  .c-benefits-blocks__item {
    width: 100%;
    margin: 2rem 0 0 0;
  }
  .c-benefits-blocks__item:first-child {
    margin-top: 0;
  }
  .c-benefits-block {
    padding: 1.5rem;
    border-radius: 0 1rem 0 1rem;
  }
  .c-benefits-blocks svg,
  .c-benefits-block__icon {
    display: inline-block;
    width: 3rem;
    fill: currentColor;
  }
  .c-benefits-block__title {
    margin-top: 1rem;
    font-size: 1.33333rem;
  }
}

.c-testimonials {
  margin-top: 6rem;
}

.c-testimonials__intro__title {
  font-size: 1.66667rem;
  font-weight: 500;
  color: #006b86;
}

.c-testimonial {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 6rem;
}

.c-testimonial:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.c-testimonial__image-wrapper {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  position: relative;
  width: calc(100% / 12 * 5);
  border-radius: 0 3rem 0 3rem;
  overflow: hidden;
}

.c-testimonial__image-wrapper::before {
  content: '';
  display: inline-block;
  padding-bottom: 85%;
}

.c-testimonial__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-testimonial__content {
  margin-top: 0;
}

.c-testimonial:nth-child(odd) .c-testimonial__content {
  margin-left: calc(1440px / 12);
}

.c-testimonial:nth-child(even) .c-testimonial__content {
  margin-right: calc(1440px / 12);
}

.c-testimonial__quote {
  padding-left: 2rem;
  font-family: "clarendon-text-pro", serif;
  font-size: 2.77778rem;
  line-height: 1.5;
  color: #006b86;
  border-left: 3px solid #dc5936;
}

.c-testimonial__cite {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: calc(3px + 2rem);
  font-style: normal;
}

.c-testimonial__name {
  font-weight: 600;
  color: #dc5936;
}

.c-testimonial__job-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
}

.c-testimonial__job-title::before {
  content: '';
  width: 1px;
  height: 1em;
  margin: 0 1em;
  background-color: currentColor;
}

@media only screen and (max-width: 768px) {
  .c-testimonials {
    margin-top: 3rem;
  }
  .c-testimonial,
  .c-testimonial:nth-child(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 3rem;
  }
  .c-testimonial__image-wrapper {
    width: 100%;
    border-radius: 0 1rem 0 1rem;
  }
  .c-testimonial:nth-child(odd) .c-testimonial__content,
  .c-testimonial:nth-child(even) .c-testimonial__content {
    margin-left: 0;
    margin-right: 0;
  }
  .c-testimonial__quote {
    margin-top: 2rem;
    padding-left: 1rem;
    font-family: "clarendon-text-pro", serif;
    font-size: 1.66667rem;
  }
  .c-testimonial__cite {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-left: calc(3px + 1rem);
  }
  .c-testimonial__name {
    font-weight: 600;
    color: #dc5936;
  }
  .c-testimonial__job-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
  }
  .c-testimonial__job-title::before {
    display: none;
  }
}

.c-cta-block {
  margin-top: 6rem;
  padding: 6rem 0;
  text-align: center;
  color: #fff;
  background-color: #3c3778;
}

.c-cta-block__title {
  font-size: 2.77778rem;
  line-height: 1.5;
}

.c-cta-block__blurb {
  font-size: 1.22222rem;
  line-height: 1.81818;
}

.c-cta-block__blurb a {
  font-weight: 600;
  color: #fff;
}

.c-cta-block__blurb a:hover, .c-cta-block__blurb a:focus {
  text-decoration: none;
  color: #dc5936;
}

.c-cta-block__button {
  margin-top: 3rem;
}

@media only screen and (max-width: 768px) {
  .c-cta-block {
    margin-top: 3rem;
    padding: 3rem 1rem;
  }
  .c-cta-block__title {
    font-size: 1.66667rem;
  }
}

.c-careers-big-image {
  width: 100%;
  max-height: 70vh;
  margin-top: 6rem;
  -o-object-fit: cover;
     object-fit: cover;
}

@media only screen and (max-width: 768px) {
  .c-careers-big-image {
    margin-top: 4rem;
    height: 75vw;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl91dGlsaXRpZXMuc2NzcyIsInBhZ2UtY2FyZWVycy5jc3MiLCJfY3VzdG9tLXV0aWxpdGllcy5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX21peGlucy5zY3NzIiwiLi4vLi4vLi4vYmFzZS10aGVtZS9hc3NldHMvc2Nzcy91dGlsaXRpZXMvX21peGlucy5zY3NzIiwiY29tcG9uZW50cy9fYmFubmVyLWNhcmVlcnMuc2NzcyIsImNvbXBvbmVudHMvX2NhcmVlcnMtaW50cm8uc2NzcyIsImNvbXBvbmVudHMvX2JlbmVmaXRzLWJsb2Nrcy5zY3NzIiwiY29tcG9uZW50cy9fdGVzdGltb25pYWxzLnNjc3MiLCJjb21wb25lbnRzL19jdGEtYmxvY2suc2NzcyIsInBhZ2UtY2FyZWVycy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztZQ0VZO0FESVo7O1lDRFk7QUNMWjs7WURRWTtBRVJaOztzQkZXc0I7QUVQdEI7O1lGVVk7QUVKWjs7WUZPWTtBRWtDWjs7WUYvQlk7QUU4RVo7O1lGM0VZO0FFK0ZaOztZRjVGWTtBQ3BCWjs7WUR1Qlk7QUc3Qlo7O1lIZ0NZO0FJaENaOztzQkptQ3NCO0FJL0J0Qjs7Ozs7O1lKc0NZO0FJZlo7Ozs7O1lKcUJZO0FJVlo7Ozs7OztZSmlCWTtBSUxaOztzQkpRc0I7QUlKdEI7OztZSlFZO0FJRVo7Ozs7WUpHWTtBSVlaOzs7OztZSk5ZO0FJaUJaOzs7WUpiWTtBSXlCWjs7O1lKckJZO0FLakZaO0VBQ0ksa0JBQWtCO0VBQ2xCLGFBQWE7RUZHYiw0QkVGNkI7RUFDN0IsZ0JBQWdCO0VBQ2hCLFVBQVU7QUxtRmQ7O0FLakZBO0VBQ0ksa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixPQUFPO0VBQ1AsV0FBVztFQUNYLFlBQVk7RUFDWixTQUFTO0VBQ1Qsb0JBQWlCO0tBQWpCLGlCQUFpQjtFQUNqQixXQUFXO0FMb0ZmOztBS2xGQTtFQUNJLHlCQUFpQjtVQUFqQixpQkFBaUI7QUxxRnJCOztBS25GQTtFQUNJLGtCQUFr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TDJFZ0Q7RUsxRWhELG9CQUFnQjtBVHlicEI7O0FTM2JBO0VBS1EsZ0JQaUVTO0VPaEVULFdBQVc7QVQwYm5COztBU2hjQTtFQVVZLHFCQUFxQjtFQUNyQixjUEptQjtBRjhiL0I7O0FTdGJBO0VBQ0ksZ0JBQWdCO0FUeWJwQjs7QVN0YkE7RUFDSTtJQUNJLGdCQUFnQjtJQUNoQixrQlBzRWdDO0VGbVh0QztFU3ZiRTtJQUNJLHFCTG1ENEM7RUpzWWxEO0FBQ0Y7O0FVdmRBO0VBQ0ksV0FBVztFQUNYLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsb0JBQWlCO0tBQWpCLGlCQUFpQjtBVjBkckI7O0FVdmRBO0VBQ0k7SUFDSSxnQkFBZ0I7SUFDaEIsWUFBWTtFVjBkbEI7QUFDRiIsImZpbGUiOiJwYWdlLWNhcmVlcnMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogLS0tLS0tLS0tLVxuIEAgQm91cmJvblxuLS0tLS0tLS0tLSAqL1xuXG5AaW1wb3J0IFwiYm91cmJvbi9jb3JlL19ib3VyYm9uLnNjc3NcIjtcblxuLyogLS0tLS0tLS0tLVxuIEAgQm9vdHN0cmFwIFZhcmlhYmxlc1xuLS0tLS0tLS0tLSAqL1xuXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvbWl4aW5zXCI7IiwiLyogLS0tLS0tLS0tLVxuIEAgQm91cmJvblxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgQm9vdHN0cmFwIFZhcmlhYmxlc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgQ3VzdG9tIFZhcmlhYmxlc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBQcm9qZWN0IFNwZWNpZmljIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIE9wdGlvbnNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIENvbG9yc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgVHlwb2dyYXBoeVxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgTGF5b3V0XG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBNaXNjXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBDdXN0b20gVXRpbGl0aWVzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBSb3VuZGVkIENvcm5lcnNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgTWl4aW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgTWFpbnRhaW4gQXNwZWN0IFJhdGlvXG5cdC0gKioqIHJlcXVpcmVzIHRoYXQgdGhlIGVsZW1lbnQgaGFzIGFuIGlubmVyIGNvbnRhaW5lciBlbGVtZW50IGlmIHRoZXJlIGlzIGlubmVyIGNvbnRlbnRcblx0LSAkeCA9PiB4IHBvcnRpb24gb2YgcmF0aW9cblx0LSAkeSA9PiB5IHBvcnRpb24gb2YgcmF0aW9cbiAgICAtICRjID0+IHNldCB0byAnZmFsc2UnIHRvIHNraXAgOmZpcnN0LWNoaWxkIHN0eWxpbmdcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIEJhY2tncm91bmQgSW1hZ2Vcblx0LSBTaG9ydGN1dCBmb3IgbGlua2luZyBpbWFnZXMgaW4gdGhlIGNvbmZpZ3VyZWQgaW1hZ2VzIGZvbGRlclxuXHQtICRpID0+IGltYWdlIGZpbGUgbmFtZSAocmVsYXRpdmUgdG8gaW1hZ2VzIGZvbGRlcilcblx0LSAkcmVzdCA9PiBhbnkgYWRkaXRpb25hbCAnYmFja2dyb3VuZCcgcHJvcGVydHkgc2hvcnRjdXQgZGVjbGFyYXRpb25zIChpZTogbm8tcmVwZWF0KVxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgU2l6ZVxuIFx0LSBTaG9ydGN1dCBmb3Igc2V0dGluZyBoZWlnaHQgYW5kIHdpZHRoXG4gXHQtICR3aWR0aCA9PiB3aWR0aCBvZiBlbGVtZW50XG4gXHQtICRoZWlnaHQgPT4gaGVpZ2h0IG9mIGVsZW1lbnRcbiBcdC0gU2luZ2xlIHZhbHVlIHdpbGwgc2V0IGJvdGggdmFsdWVzIChlLmcuIHNpemUoMTAwJSk7XG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIEZ1bmN0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIENvbG9yIEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSB0aGUgJHRoZW1lLWNvbG9ycyBtYXBcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIEJyZWFrcG9pbnQgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkZ3JpZC1icmVha3BvaW50cyBtYXBcbiBcdC0gJHR5cGUgPT4gJ21heCcgfCAnbWluJywgZGVwZW5kaW5nIG9uIG1lZGlhIHF1ZXJ5IHR5cGVcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFJlbXNcblx0LSBjb252ZXJ0IHBpeGVscyB0byByZW1zXG5cdC0gJHAgPT4gcGl4ZWwgdmFsdWVcblx0LSAkYiA9PiBiYXNlIHNpemUgKHRvIHVzZSBpbiBmb3JtdWxhKSAtIGRlZmF1bHRzIHRvICRmb250LXNpemVzIHJvb3QgdmFyaWFibGVcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIE1hcCBEZWVwIEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSBuZXN0ZWQgbWFwc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgV2VpZ2h0IEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSB0aGUgJGZvbnQtd2VpZ2h0cyBtYXBcbi0tLS0tLS0tLS0gKi9cbi5jLWJhbm5lci1jYXJlZXJzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDM1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwIDRyZW0gMCA0cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAwO1xufVxuXG4uYy1iYW5uZXItY2FyZWVyc19fYmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgei1pbmRleDogLTE7XG59XG5cbi5jLWJhbm5lci1jYXJlZXJzX19iZy0tbG93LXJlcyB7XG4gIGZpbHRlcjogYmx1cigycHgpO1xufVxuXG4uYy1iYW5uZXItY2FyZWVyc19fYm90dG9tLWJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjAsIDU1LCAxMjAsIDAuOSk7XG59XG5cbi5jLWJhbm5lci1jYXJlZXJzX19jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYy1iYW5uZXItY2FyZWVyc19fdGl0bGUge1xuICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyLjU1NTU2cmVtO1xufVxuXG4uYy1iYW5uZXItY2FyZWVyc19fbGlua2VkaW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcbiAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogMC4xNWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLmMtYmFubmVyLWNhcmVlcnNfX2xpbmtlZGluOjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMGUxJztcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBjb2xvcjogI2RjNTkzNjtcbn1cblxuLmMtYmFubmVyLWNhcmVlcnNfX2xpbmtlZGluOmhvdmVyLCAuYy1iYW5uZXItY2FyZWVyc19fbGlua2VkaW46Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLWJhbm5lci1jYXJlZXJzX19saW5rZWRpbjpob3Zlcjo6YmVmb3JlLCAuYy1iYW5uZXItY2FyZWVyc19fbGlua2VkaW46Zm9jdXM6OmJlZm9yZSB7XG4gIGNvbG9yOiAjM2MzNzc4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jLWJhbm5lci1jYXJlZXJzIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogMCAycmVtIDAgMnJlbTtcbiAgfVxuICAuYy1iYW5uZXItY2FyZWVyczo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgfVxuICAuYy1iYW5uZXItY2FyZWVyc19fY29udGFpbmVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAuYy1iYW5uZXItY2FyZWVyc19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4zMzMzM3JlbTtcbiAgfVxufVxuXG4uYy1jYXJlZXJzLWludHJvIHtcbiAgbWFyZ2luLXRvcDogNnJlbTtcbn1cblxuLmMtY2FyZWVycy1pbnRyb19fbnVtYmVyZWQtaXRlbXMge1xuICBjb3VudGVyLXJlc2V0OiBudW1iZXJlZC1pdGVtcztcbiAgY29sdW1uczogMjtcbn1cblxuLmMtY2FyZWVycy1pbnRyb19fbnVtYmVyZWQtaXRlbSB7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBudW1iZXJlZC1pdGVtcztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGZvbnQtc2l6ZTogMS4zMzMzM3JlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMwMDZiODY7XG59XG5cbi5jLWNhcmVlcnMtaW50cm9fX251bWJlcmVkLWl0ZW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIobnVtYmVyZWQtaXRlbXMsIGRlY2ltYWwtbGVhZGluZy16ZXJvKTtcbiAgbWFyZ2luOiAwIDFlbTtcbiAgZm9udC1mYW1pbHk6IFwiY2xhcmVuZG9uLXRleHQtcHJvXCIsIHNlcmlmO1xuICBmb250LXNpemU6IDEuNjY2NjdyZW07XG4gIGNvbG9yOiAjZGM1OTM2O1xufVxuXG4uYy1jYXJlZXJzLWludHJvX19idG4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBtYXJnaW46IDNyZW0gYXV0byAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jLWNhcmVlcnMtaW50cm8ge1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gIH1cbiAgLmMtY2FyZWVycy1pbnRyb19fbnVtYmVyZWQtaXRlbXMge1xuICAgIGNvbHVtbnM6IDE7XG4gIH1cbiAgLmMtY2FyZWVycy1pbnRyb19fbnVtYmVyZWQtaXRlbTo6YmVmb3JlIHtcbiAgICBtYXJnaW46IDAgMWVtIDAgMDtcbiAgfVxufVxuXG4uYy1iZW5lZml0LWJsb2NrcyB7XG4gIG1hcmdpbi10b3A6IDVyZW07XG59XG5cbi5jLWJlbmVmaXQtYmxvY2tzX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS42NjY2N3JlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMwMDZiODY7XG59XG5cbi5jLWJlbmVmaXRzLWJsb2Nrc19faXRlbXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiAzcmVtO1xufVxuXG4uYy1iZW5lZml0cy1ibG9ja3NfX2l0ZW0ge1xuICB3aWR0aDogY2FsYygoMTAwJSAtIDJyZW0gKiAyKSAvIDMpO1xuICBtYXJnaW46IDAgMCAwIDJyZW07XG59XG5cbi5jLWJlbmVmaXRzLWJsb2Nrc19faXRlbTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uYy1iZW5lZml0cy1ibG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIuNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMCAzcmVtIDAgM3JlbTtcbn1cblxuLmMtYmVuZWZpdHMtYmxvY2s6bnRoLWNoaWxkKDEpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjNTkzNjtcbn1cblxuLmMtYmVuZWZpdHMtYmxvY2s6bnRoLWNoaWxkKDIpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNjMzc3ODtcbn1cblxuLmMtYmVuZWZpdHMtYmxvY2s6bnRoLWNoaWxkKDMpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNmI4Njtcbn1cblxuLmMtYmVuZWZpdHMtYmxvY2tzIHN2Zyxcbi5jLWJlbmVmaXRzLWJsb2NrX19pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNHJlbTtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4uYy1iZW5lZml0cy1ibG9ja19fdGl0bGUge1xuICBmb250LXNpemU6IDEuNjY2NjdyZW07XG59XG5cbi5jLWJlbmVmaXRzLWJsb2NrX19ibHVyYiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYy1iZW5lZml0cy1ibG9ja3NfX2l0ZW1zIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gIH1cbiAgLmMtYmVuZWZpdHMtYmxvY2tzX19pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDJyZW0gMCAwIDA7XG4gIH1cbiAgLmMtYmVuZWZpdHMtYmxvY2tzX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5jLWJlbmVmaXRzLWJsb2NrIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMCAxcmVtIDAgMXJlbTtcbiAgfVxuICAuYy1iZW5lZml0cy1ibG9ja3Mgc3ZnLFxuICAuYy1iZW5lZml0cy1ibG9ja19faWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgfVxuICAuYy1iZW5lZml0cy1ibG9ja19fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgZm9udC1zaXplOiAxLjMzMzMzcmVtO1xuICB9XG59XG5cbi5jLXRlc3RpbW9uaWFscyB7XG4gIG1hcmdpbi10b3A6IDZyZW07XG59XG5cbi5jLXRlc3RpbW9uaWFsc19faW50cm9fX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxLjY2NjY3cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzAwNmI4Njtcbn1cblxuLmMtdGVzdGltb25pYWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiA2cmVtO1xufVxuXG4uYy10ZXN0aW1vbmlhbDpudGgtY2hpbGQoZXZlbikge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG5cbi5jLXRlc3RpbW9uaWFsX19pbWFnZS13cmFwcGVyIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogNSk7XG4gIGJvcmRlci1yYWRpdXM6IDAgM3JlbSAwIDNyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXRlc3RpbW9uaWFsX19pbWFnZS13cmFwcGVyOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogODUlO1xufVxuXG4uYy10ZXN0aW1vbmlhbF9faW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5jLXRlc3RpbW9uaWFsX19jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmMtdGVzdGltb25pYWw6bnRoLWNoaWxkKG9kZCkgLmMtdGVzdGltb25pYWxfX2NvbnRlbnQge1xuICBtYXJnaW4tbGVmdDogY2FsYygxNDQwcHggLyAxMik7XG59XG5cbi5jLXRlc3RpbW9uaWFsOm50aC1jaGlsZChldmVuKSAuYy10ZXN0aW1vbmlhbF9fY29udGVudCB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygxNDQwcHggLyAxMik7XG59XG5cbi5jLXRlc3RpbW9uaWFsX19xdW90ZSB7XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgZm9udC1mYW1pbHk6IFwiY2xhcmVuZG9uLXRleHQtcHJvXCIsIHNlcmlmO1xuICBmb250LXNpemU6IDIuNzc3NzhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMDA2Yjg2O1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNkYzU5MzY7XG59XG5cbi5jLXRlc3RpbW9uaWFsX19jaXRlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDNweCArIDJyZW0pO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi5jLXRlc3RpbW9uaWFsX19uYW1lIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICNkYzU5MzY7XG59XG5cbi5jLXRlc3RpbW9uaWFsX19qb2ItdGl0bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDA7XG59XG5cbi5jLXRlc3RpbW9uaWFsX19qb2ItdGl0bGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFlbTtcbiAgbWFyZ2luOiAwIDFlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jLXRlc3RpbW9uaWFscyB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgfVxuICAuYy10ZXN0aW1vbmlhbCxcbiAgLmMtdGVzdGltb25pYWw6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gIH1cbiAgLmMtdGVzdGltb25pYWxfX2ltYWdlLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMXJlbSAwIDFyZW07XG4gIH1cbiAgLmMtdGVzdGltb25pYWw6bnRoLWNoaWxkKG9kZCkgLmMtdGVzdGltb25pYWxfX2NvbnRlbnQsXG4gIC5jLXRlc3RpbW9uaWFsOm50aC1jaGlsZChldmVuKSAuYy10ZXN0aW1vbmlhbF9fY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC5jLXRlc3RpbW9uaWFsX19xdW90ZSB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiY2xhcmVuZG9uLXRleHQtcHJvXCIsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS42NjY2N3JlbTtcbiAgfVxuICAuYy10ZXN0aW1vbmlhbF9fY2l0ZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoM3B4ICsgMXJlbSk7XG4gIH1cbiAgLmMtdGVzdGltb25pYWxfX25hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICNkYzU5MzY7XG4gIH1cbiAgLmMtdGVzdGltb25pYWxfX2pvYi10aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAuYy10ZXN0aW1vbmlhbF9fam9iLXRpdGxlOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmMtY3RhLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogNnJlbTtcbiAgcGFkZGluZzogNnJlbSAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2MzNzc4O1xufVxuXG4uYy1jdGEtYmxvY2tfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAyLjc3Nzc4cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uYy1jdGEtYmxvY2tfX2JsdXJiIHtcbiAgZm9udC1zaXplOiAxLjIyMjIycmVtO1xuICBsaW5lLWhlaWdodDogMS44MTgxODtcbn1cblxuLmMtY3RhLWJsb2NrX19ibHVyYiBhIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5jLWN0YS1ibG9ja19fYmx1cmIgYTpob3ZlciwgLmMtY3RhLWJsb2NrX19ibHVyYiBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogI2RjNTkzNjtcbn1cblxuLmMtY3RhLWJsb2NrX19idXR0b24ge1xuICBtYXJnaW4tdG9wOiAzcmVtO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jLWN0YS1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nOiAzcmVtIDFyZW07XG4gIH1cbiAgLmMtY3RhLWJsb2NrX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjY2NjY3cmVtO1xuICB9XG59XG5cbi5jLWNhcmVlcnMtYmlnLWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDcwdmg7XG4gIG1hcmdpbi10b3A6IDZyZW07XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jLWNhcmVlcnMtYmlnLWltYWdlIHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgIGhlaWdodDogNzV2dztcbiAgfVxufVxuIiwiLyogLS0tLS0tLS0tLVxuIEAgQ3VzdG9tIFZhcmlhYmxlc1xuLS0tLS0tLS0tLSAqL1xuXG5AaW1wb3J0IFwiY2hpbGQtdGhlbWUvYXNzZXRzL3Njc3MvdmFyaWFibGVzXCI7XG5cbi8qIC0tLS0tLS0tLS1cbiBAIEN1c3RvbSBVdGlsaXRpZXNcbi0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcImNoaWxkLXRoZW1lL2Fzc2V0cy9zY3NzL21peGluc1wiO1xuXG5AaW1wb3J0IFwiYmFzZS10aGVtZS9hc3NldHMvc2Nzcy91dGlsaXRpZXMvbWl4aW5zXCI7XG5AaW1wb3J0IFwiYmFzZS10aGVtZS9hc3NldHMvc2Nzcy91dGlsaXRpZXMvcmVzZXRcIjtcbkBpbXBvcnQgXCJiYXNlLXRoZW1lL2Fzc2V0cy9zY3NzL3V0aWxpdGllcy9iYXNlXCI7XG5AaW1wb3J0IFwiYmFzZS10aGVtZS9hc3NldHMvc2Nzcy91dGlsaXRpZXMvd3AtYmFzZVwiOyIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgUHJvamVjdCBTcGVjaWZpYyBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS1cbiBAIE9wdGlvbnNcbi0tLS0tLS0tLS0gKi9cblxuJGVuYWJsZS1yZXNwb25zaXZlLXRleHQ6XHR0cnVlO1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBDb2xvcnNcbi0tLS0tLS0tLS0gKi9cbiRicmFuZC1kYXJrLXRlYWw6ICAgICAgICMwMDZiODY7XG4kYnJhbmQtdGVhbDogICAgICAgICAgICAjMDZhYmExO1xuJGJyYW5kLWxpZ2h0LWJsdWU6ICAgICAgI2U3ZjJmOTtcbiRicmFuZC1ibHVlOiAgICAgICAgICAgICMwMGFiZDY7XG4kYnJhbmQtZGFyay1ibHVlOiAgICAgICAjM2MzNzc4O1xuJGJyYW5kLW9yYW5nZTogICAgICAgICAgI2RjNTkzNjtcbiRicmFuZC1saWdodC1ncmV5OiAgICAgICNkNGQ0ZDQ7XG4kYnJhbmQtbGlnaHRlc3QtZ3JleTogICAjZWZlZmVmO1xuJGJyYW5kLXBpbms6ICAgICAgICAgICAgI2VkYWM5YTtcbiRicmFuZC1zaWx2ZXI6ICAgICAgICAgICM3NTc1NzU7XG4kYnJhbmQtY2hhcmNvYWw6ICAgICAgICAjMzAzMDMwO1xuXG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoJHRoZW1lLWNvbG9ycywgKFxuICAgIGRhcmstdGVhbDogJGJyYW5kLWRhcmstdGVhbCxcbiAgICB0ZWFsOiAkYnJhbmQtdGVhbCxcbiAgICBkYXJrLWJsdWU6ICRicmFuZC1kYXJrLWJsdWUsXG4gICAgYmx1ZTogJGJyYW5kLWJsdWUsXG4gICAgbGlnaHQtYmx1ZTogJGJyYW5kLWxpZ2h0LWJsdWUsXG4gICAgb3JhbmdlOiAkYnJhbmQtb3JhbmdlLFxuICAgIGxpZ2h0LWdyZXk6ICRicmFuZC1saWdodC1ncmV5LFxuICAgIGxpZ2h0ZXN0LWdyZXk6ICRicmFuZC1saWdodGVzdC1ncmV5LFxuICAgIHNpbHZlcjogJGJyYW5kLXNpbHZlcixcbiAgICBwaW5rOiAkYnJhbmQtcGluayxcbiAgICBjaGFyY29hbDogJGJyYW5kLWNoYXJjb2FsLFxuICAgIHN1Y2Nlc3M6ICRicmFuZC10ZWFsLFxuICAgIGluZm86ICRicmFuZC1ibHVlLFxuICAgIHdhcm5pbmc6ICRicmFuZC1vcmFuZ2UsXG4gICAgZGFuZ2VyOiAkYnJhbmQtb3JhbmdlXG4pKTtcblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgI2ZmZjtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICMyYzJjMmM7XG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICRicmFuZC1kYXJrLXRlYWw7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSk7XG5cbiRsaW5lLWNvbG9yOiBcdFx0XHQjZGRkO1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBUeXBvZ3JhcGh5XG4tLS0tLS0tLS0tICovXG5cbiRmb250LXNpemVzOiAoXG4gICAgcm9vdDogMThweCxcbiAgICBoMTogMzZweCxcbiAgICBoMjogMzNweCxcbiAgICBoMzogMjhweCxcbiAgICBoNDogMjRweCxcbiAgICBoNTogMjBweCxcbiAgICBoNjogMThweCxcbiAgICBsZWFkOiAyNHB4LFxuICAgIGJsb2NrcXVvdGU6IDUwcHhcbik7XG5cbiRmb250LXNpemUtYmFzZTogMXJlbTtcbiRiYXNlRm9udFNpemU6IDE4cHg7IC8vIHRoaXMgaXMgdG8gZml4IGJvb3RzdHJhcCwgbm90IHN1cmUgd2h5IHRoaXMgaXMgYW4gaXNzdWVcblxuJGxlYWQtZm9udC1zaXplOiByZW1zKG1hcC1nZXQoJGZvbnQtc2l6ZXMsIGxlYWQpKTtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogcmVtcyhtYXAtZ2V0KCRmb250LXNpemVzLCBibG9ja3F1b3RlKSk7XG5cbiRmb250LWZhbWlseS1iYXNlOiAnaGFseWFyZC10ZXh0Jywgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAkZm9udC1mYW1pbHktYmFzZTtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogJ2NsYXJlbmRvbi10ZXh0LXBybycsIHNlcmlmO1xuJGZhLWZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgUHJvJztcblxuJGZvbnQtd2VpZ2h0czogKFxuICAgIGJsYWNrOiA4MDAsXG4gICAgYm9sZDogNzAwLFxuICAgIHNlbWlib2xkOiA2MDAsXG4gICAgbWVkaXVtOiA1MDAsXG4gICAgcmVndWxhcjogNDAwLFxuICAgIGxpZ2h0OiAzMDAsXG4gICAgdGhpbjogMzAwXG4pO1xuXG4kZm9udC13ZWlnaHQtYmFzZTogbWFwLWdldCgkZm9udC13ZWlnaHRzLCByZWd1bGFyKTtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogbWFwLWdldCgkZm9udC13ZWlnaHRzLCBib2xkKTtcbiRsZWFkLWZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRmb250LXdlaWdodHMsIHNlbWktYm9sZCk7XG5cbiRsaW5lLWhlaWdodC1iYXNlOiAxLjY1O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiRsaW5rLWRlY29yYXRpb246IHVuZGVybGluZTtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cbi8qIC0tLS0tLS0tLS1cbiBAIExheW91dFxuLS0tLS0tLS0tLSAqL1xuXG4kZ3JpZC1ndXR0ZXItd2lkdGg6IFx0IDJyZW07XG4kZ3JpZC1wYWRkaW5nOlx0XHRcdCAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuXG4kdmVydGljYWwtbWFyZ2luLWJhc2U6XHQgMS41cmVtO1xuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICAgIHhzOiAwLCAvLyBOb3Qgc3VyZSB3aHkgYnV0IHRoaXMgbXVzdCBiZSB6ZXJvXG4gICAgc206IDU3NnB4LFxuICAgIG1kOiA3NjlweCxcbiAgICBsZzogOTkycHgsXG4gICAgeGw6IDE0NDBweFxuKTtcblxuJGNvbnRhaW5lci13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgeGwpO1xuJGNvbnRhaW5lci13aWR0aC13aXRoLWd1dHRlcnM6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIHhsKSArIChzdHJpcC11bml0KCRncmlkLWd1dHRlci13aWR0aCkgKiBzdHJpcC11bml0KCRiYXNlRm9udFNpemUpKTtcblxuLyogLS0tLS0tLS0tLVxuIEAgTWlzY1xuLS0tLS0tLS0tLSAqL1xuXG4kaHItYm9yZGVyLWNvbG9yOiAkbGluZS1jb2xvcjtcbiRoci1ib3JkZXItd2lkdGg6IDFweDtcblxuJGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcbiRib3JkZXItcmFkaXVzLWxnOiAkYm9yZGVyLXJhZGl1cyAqIDEuNTtcbiRib3JkZXItcmFkaXVzLXNtOiAkYm9yZGVyLXJhZGl1cyAvIDEuNTsiLCIvKiAtLS0tLS0tLS0tXG4gQCBSb3VuZGVkIENvcm5lcnNcbi0tLS0tLS0tLS0gKi9cblxuQG1peGluIHJvdW5kZWQtY29ybmVycygkcmFkaXVzOiAxcmVtKSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAkcmFkaXVzIDAgJHJhZGl1cztcbn0gICIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgTWl4aW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBNYWludGFpbiBBc3BlY3QgUmF0aW9cblx0LSAqKiogcmVxdWlyZXMgdGhhdCB0aGUgZWxlbWVudCBoYXMgYW4gaW5uZXIgY29udGFpbmVyIGVsZW1lbnQgaWYgdGhlcmUgaXMgaW5uZXIgY29udGVudFxuXHQtICR4ID0+IHggcG9ydGlvbiBvZiByYXRpb1xuXHQtICR5ID0+IHkgcG9ydGlvbiBvZiByYXRpb1xuICAgIC0gJGMgPT4gc2V0IHRvICdmYWxzZScgdG8gc2tpcCA6Zmlyc3QtY2hpbGQgc3R5bGluZ1xuLS0tLS0tLS0tLSAqL1xuXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR4OiAxLCAkeTogMSwgJGM6IHRydWUpIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKCR5IC8gJHgpO1xuXHR9XG5cdEBpZiAoJGMgPT0gdHJ1ZSkge1xuXHRcdCYgPiA6Zmlyc3QtY2hpbGQge1xuXHRcdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuXHRcdH1cblx0fVxufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBCYWNrZ3JvdW5kIEltYWdlXG5cdC0gU2hvcnRjdXQgZm9yIGxpbmtpbmcgaW1hZ2VzIGluIHRoZSBjb25maWd1cmVkIGltYWdlcyBmb2xkZXJcblx0LSAkaSA9PiBpbWFnZSBmaWxlIG5hbWUgKHJlbGF0aXZlIHRvIGltYWdlcyBmb2xkZXIpXG5cdC0gJHJlc3QgPT4gYW55IGFkZGl0aW9uYWwgJ2JhY2tncm91bmQnIHByb3BlcnR5IHNob3J0Y3V0IGRlY2xhcmF0aW9ucyAoaWU6IG5vLXJlcGVhdClcbi0tLS0tLS0tLS0gKi9cblxuQG1peGluIGJnLWltYWdlKCRpLCAkcmVzdC4uLikge1xuXHRiYWNrZ3JvdW5kOiB1cmwoXCIjeyRpbWFnZXMtZm9sZGVyfS8jeyRpfVwiKSAkcmVzdDtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgU2l6ZVxuIFx0LSBTaG9ydGN1dCBmb3Igc2V0dGluZyBoZWlnaHQgYW5kIHdpZHRoXG4gXHQtICR3aWR0aCA9PiB3aWR0aCBvZiBlbGVtZW50XG4gXHQtICRoZWlnaHQgPT4gaGVpZ2h0IG9mIGVsZW1lbnRcbiBcdC0gU2luZ2xlIHZhbHVlIHdpbGwgc2V0IGJvdGggdmFsdWVzIChlLmcuIHNpemUoMTAwJSk7XG4tLS0tLS0tLS0tICovXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQ6ICR3aWR0aCkge1xuXHR3aWR0aDogJHdpZHRoO1xuXHRoZWlnaHQ6ICRoZWlnaHQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgRnVuY3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBDb2xvciBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gdGhlICR0aGVtZS1jb2xvcnMgbWFwXG4tLS0tLS0tLS0tICovXG5cbkBmdW5jdGlvbiBjb2xvci1nZXQoJGtleXMpIHtcblx0JGNvbG9yOiBtYXAtZGVlcC1nZXQoJHRoZW1lLWNvbG9ycywgJGtleXMpO1xuXHRAcmV0dXJuICRjb2xvcjtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgQnJlYWtwb2ludCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gdGhlICRncmlkLWJyZWFrcG9pbnRzIG1hcFxuIFx0LSAkdHlwZSA9PiAnbWF4JyB8ICdtaW4nLCBkZXBlbmRpbmcgb24gbWVkaWEgcXVlcnkgdHlwZVxuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1nZXQoJHR5cGUsICRrZXlzKSB7XG5cdCRicmVha3BvaW50OiBtYXAtZGVlcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRrZXlzKTtcblx0QGlmICgkdHlwZSA9PSAnbWF4Jyl7XG5cdFx0QHJldHVybiAkYnJlYWtwb2ludCAtIDE7XG5cdH0gQGVsc2Uge1xuXHRcdEByZXR1cm4gJGJyZWFrcG9pbnQ7XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgUmVtc1xuXHQtIGNvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcblx0LSAkcCA9PiBwaXhlbCB2YWx1ZVxuXHQtICRiID0+IGJhc2Ugc2l6ZSAodG8gdXNlIGluIGZvcm11bGEpIC0gZGVmYXVsdHMgdG8gJGZvbnQtc2l6ZXMgcm9vdCB2YXJpYWJsZVxuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gcmVtcygkcCwgJGI6ICRiYXNlRm9udFNpemUpIHtcbiAgICBAcmV0dXJuIChzdHJpcC11bml0KCRwKSAvIHN0cmlwLXVuaXQoJGIpKSArIDByZW07XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIE1hcCBEZWVwIEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSBuZXN0ZWQgbWFwc1xuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gbWFwLWRlZXAtZ2V0KCRtYXAsICRrZXlzLi4uKSB7XG5cdEBlYWNoICRrZXkgaW4gJGtleXMge1xuXHRcdCRtYXA6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG5cdH1cblx0QHJldHVybiAkbWFwO1xufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBXZWlnaHQgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkZm9udC13ZWlnaHRzIG1hcFxuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gd2VpZ2h0LWdldCgka2V5cykge1xuXHQkd2VpZ2h0OiBtYXAtZGVlcC1nZXQoJGZvbnQtd2VpZ2h0cywgJGtleXMpO1xuXHRAcmV0dXJuICR3ZWlnaHQ7XG59IiwiLmMtYmFubmVyLWNhcmVlcnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDM1cmVtO1xuICAgIEBpbmNsdWRlIHJvdW5kZWQtY29ybmVycyg0cmVtKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IDA7XG59XG4uYy1iYW5uZXItY2FyZWVyc19fYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHotaW5kZXg6IC0xO1xufVxuLmMtYmFubmVyLWNhcmVlcnNfX2JnLS1sb3ctcmVzIHtcbiAgICBmaWx0ZXI6IGJsdXIoMnB4KTtcbn1cbi5jLWJhbm5lci1jYXJlZXJzX19ib3R0b20tYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yLWdldChkYXJrLWJsdWUpLCAwLjkpO1xufVxuLmMtYmFubmVyLWNhcmVlcnNfX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5jLWJhbm5lci1jYXJlZXJzX190aXRsZSB7XG4gICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiByZW1zKDQ2cHgpO1xufVxuLmMtYmFubmVyLWNhcmVlcnNfX2xpbmtlZGluIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIG1hcmdpbjogMCAwIDAgYXV0bztcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4xNWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwZTEnO1xuICAgICAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gICAgICAgIGNvbG9yOiBjb2xvci1nZXQob3JhbmdlKTtcbiAgICB9XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3ItZ2V0KGRhcmstYmx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIG1kKSkge1xuICAgIC5jLWJhbm5lci1jYXJlZXJzIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSByb3VuZGVkLWNvcm5lcnMoMnJlbSk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYy1iYW5uZXItY2FyZWVyc19fY29udGFpbmVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5jLWJhbm5lci1jYXJlZXJzX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtcygyNHB4KTtcbiAgICB9XG59IiwiLmMtY2FyZWVycy1pbnRybyB7XG4gICAgbWFyZ2luLXRvcDogNnJlbTtcbn1cbi5jLWNhcmVlcnMtaW50cm9fX251bWJlcmVkLWl0ZW1zIHtcbiAgICBjb3VudGVyLXJlc2V0OiBudW1iZXJlZC1pdGVtcztcbiAgICBjb2x1bW5zOiAyO1xufVxuLmMtY2FyZWVycy1pbnRyb19fbnVtYmVyZWQtaXRlbSB7XG4gICAgY291bnRlci1pbmNyZW1lbnQ6IG51bWJlcmVkLWl0ZW1zO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZm9udC1zaXplOiByZW1zKDI0cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiB3ZWlnaHQtZ2V0KG1lZGl1bSk7XG4gICAgY29sb3I6IGNvbG9yLWdldChkYXJrLXRlYWwpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogY291bnRlcihudW1iZXJlZC1pdGVtcywgZGVjaW1hbC1sZWFkaW5nLXplcm8pO1xuICAgICAgICBtYXJnaW46IDAgMWVtO1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6IHJlbXMoMzBweCk7XG4gICAgICAgIGNvbG9yOiBjb2xvci1nZXQob3JhbmdlKTtcbiAgICB9XG59XG4uYy1jYXJlZXJzLWludHJvX19idG4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICBtYXJnaW46IDNyZW0gYXV0byAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBtZCkpIHtcbiAgICAuYy1jYXJlZXJzLWludHJvIHtcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICB9XG4gICAgLmMtY2FyZWVycy1pbnRyb19fbnVtYmVyZWQtaXRlbXMge1xuICAgICAgICBjb2x1bW5zOiAxO1xuICAgIH1cbiAgICAuYy1jYXJlZXJzLWludHJvX19udW1iZXJlZC1pdGVtIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxZW0gMCAwO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5jLWJlbmVmaXQtYmxvY2tzIHtcbiAgICBtYXJnaW4tdG9wOiA1cmVtO1xufVxuLmMtYmVuZWZpdC1ibG9ja3NfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbXMoMzBweCk7XG4gICAgZm9udC13ZWlnaHQ6IHdlaWdodC1nZXQobWVkaXVtKTtcbiAgICBjb2xvcjogY29sb3ItZ2V0KGRhcmstdGVhbCk7XG59XG4uYy1iZW5lZml0cy1ibG9ja3NfX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG59XG4uYy1iZW5lZml0cy1ibG9ja3NfX2l0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gI3skZ3JpZC1ndXR0ZXItd2lkdGh9ICogMikgLyAzKTtcbiAgICBtYXJnaW46IDAgMCAwICRncmlkLWd1dHRlci13aWR0aDtcbiAgICBcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxufVxuLmMtYmVuZWZpdHMtYmxvY2sge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIuNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgQGluY2x1ZGUgcm91bmRlZC1jb3JuZXJzKDNyZW0pO1xufVxuLmMtYmVuZWZpdHMtYmxvY2s6bnRoLWNoaWxkKDEpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1nZXQob3JhbmdlKTtcbn1cbi5jLWJlbmVmaXRzLWJsb2NrOm50aC1jaGlsZCgyKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItZ2V0KGRhcmstYmx1ZSk7XG59XG4uYy1iZW5lZml0cy1ibG9jazpudGgtY2hpbGQoMykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLWdldChkYXJrLXRlYWwpO1xufVxuLmMtYmVuZWZpdHMtYmxvY2tzIHN2Zyxcbi5jLWJlbmVmaXRzLWJsb2NrX19pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDRyZW07XG4gICAgZmlsbDogY3VycmVudENvbG9yO1xufVxuLmMtYmVuZWZpdHMtYmxvY2tfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbXMoMzBweCk7XG59XG4uYy1iZW5lZml0cy1ibG9ja19fYmx1cmIge1xuICAgIGZvbnQtc2l6ZTogcmVtcygxOHB4KTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbWQpKSB7XG4gICAgLmMtYmVuZWZpdHMtYmxvY2tzX19pdGVtcyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuICAgIC5jLWJlbmVmaXRzLWJsb2Nrc19faXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46ICRncmlkLWd1dHRlci13aWR0aCAwIDAgMDtcbiAgICAgICAgXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYy1iZW5lZml0cy1ibG9jayB7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgICAgQGluY2x1ZGUgcm91bmRlZC1jb3JuZXJzKDFyZW0pO1xuICAgIH1cbiAgICAuYy1iZW5lZml0cy1ibG9ja3Mgc3ZnLFxuICAgIC5jLWJlbmVmaXRzLWJsb2NrX19pY29uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogM3JlbTtcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIH1cbiAgICAuYy1iZW5lZml0cy1ibG9ja19fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICBmb250LXNpemU6IHJlbXMoMjRweCk7XG4gICAgfVxufSIsIi5jLXRlc3RpbW9uaWFscyB7XG4gICAgbWFyZ2luLXRvcDogNnJlbTtcbn1cbi5jLXRlc3RpbW9uaWFsc19faW50cm9fX3RpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbXMoMzBweCk7XG4gICAgZm9udC13ZWlnaHQ6IHdlaWdodC1nZXQobWVkaXVtKTtcbiAgICBjb2xvcjogY29sb3ItZ2V0KGRhcmstdGVhbCk7XG59XG4uYy10ZXN0aW1vbmlhbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDZyZW07XG59XG4uYy10ZXN0aW1vbmlhbDpudGgtY2hpbGQoZXZlbikge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cbi5jLXRlc3RpbW9uaWFsX19pbWFnZS13cmFwcGVyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogNSk7XG4gICAgQGluY2x1ZGUgcm91bmRlZC1jb3JuZXJzKDNyZW0pO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODUlO1xuICAgIH1cbn1cbi5jLXRlc3RpbW9uaWFsX19pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5jLXRlc3RpbW9uaWFsX19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLmMtdGVzdGltb25pYWw6bnRoLWNoaWxkKG9kZCkgLmMtdGVzdGltb25pYWxfX2NvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCN7JGNvbnRhaW5lci13aWR0aH0gLyAxMik7XG59XG4uYy10ZXN0aW1vbmlhbDpudGgtY2hpbGQoZXZlbikgLmMtdGVzdGltb25pYWxfX2NvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygjeyRjb250YWluZXItd2lkdGh9IC8gMTIpO1xufVxuLmMtdGVzdGltb25pYWxfX3F1b3RlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6IHJlbXMoNTBweCk7XG4gICAgbGluZS1oZWlnaHQ6ICg3NSAvIDUwKTtcbiAgICBjb2xvcjogY29sb3ItZ2V0KGRhcmstdGVhbCk7XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCBjb2xvci1nZXQob3JhbmdlKTtcbn1cbi5jLXRlc3RpbW9uaWFsX19jaXRlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDNweCArIDJyZW0pO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi5jLXRlc3RpbW9uaWFsX19uYW1lIHtcbiAgICBmb250LXdlaWdodDogd2VpZ2h0LWdldChzZW1pYm9sZCk7XG4gICAgY29sb3I6IGNvbG9yLWdldChvcmFuZ2UpO1xufVxuLmMtdGVzdGltb25pYWxfX2pvYi10aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgbWFyZ2luOiAwIDFlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbWQpKSB7XG4gICAgLmMtdGVzdGltb25pYWxzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICB9XG4gICAgLmMtdGVzdGltb25pYWwsXG4gICAgLmMtdGVzdGltb25pYWw6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICB9XG4gICAgLmMtdGVzdGltb25pYWxfX2ltYWdlLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgcm91bmRlZC1jb3JuZXJzKDFyZW0pO1xuICAgIH1cbiAgICAuYy10ZXN0aW1vbmlhbDpudGgtY2hpbGQob2RkKSAuYy10ZXN0aW1vbmlhbF9fY29udGVudCxcbiAgICAuYy10ZXN0aW1vbmlhbDpudGgtY2hpbGQoZXZlbikgLmMtdGVzdGltb25pYWxfX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAuYy10ZXN0aW1vbmlhbF9fcXVvdGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtcygzMHB4KTtcbiAgICB9XG4gICAgLmMtdGVzdGltb25pYWxfX2NpdGUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDNweCArIDFyZW0pO1xuICAgIH1cbiAgICAuYy10ZXN0aW1vbmlhbF9fbmFtZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB3ZWlnaHQtZ2V0KHNlbWlib2xkKTtcbiAgICAgICAgY29sb3I6IGNvbG9yLWdldChvcmFuZ2UpO1xuICAgIH1cbiAgICAuYy10ZXN0aW1vbmlhbF9fam9iLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuYy1jdGEtYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDZyZW07XG4gICAgcGFkZGluZzogNnJlbSAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1nZXQoZGFyay1ibHVlKTtcbn1cbi5jLWN0YS1ibG9ja19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtcyg1MHB4KTtcbiAgICBsaW5lLWhlaWdodDogKDc1IC8gNTApO1xufVxuLmMtY3RhLWJsb2NrX19ibHVyYiB7XG4gICAgZm9udC1zaXplOiByZW1zKDIycHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAoNDAgLyAyMik7XG5cbiAgICBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHdlaWdodC1nZXQoc2VtaWJvbGQpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvci1nZXQob3JhbmdlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5jLWN0YS1ibG9ja19fYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBtZCkpIHtcbiAgICAuYy1jdGEtYmxvY2sge1xuICAgICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgICBwYWRkaW5nOiAzcmVtICRncmlkLXBhZGRpbmc7XG4gICAgfVxuICAgIC5jLWN0YS1ibG9ja19fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbXMoMzBweCk7XG4gICAgfVxufSIsIkBpbXBvcnQgXCJiYXNlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9iYW5uZXItY2FyZWVyc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY2FyZWVycy1pbnRyb1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYmVuZWZpdHMtYmxvY2tzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90ZXN0aW1vbmlhbHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2N0YS1ibG9ja1wiO1xuXG4uYy1jYXJlZXJzLWJpZy1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogNzB2aDtcbiAgICBtYXJnaW4tdG9wOiA2cmVtO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBtZCkpIHtcbiAgICAuYy1jYXJlZXJzLWJpZy1pbWFnZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgICAgIGhlaWdodDogNzV2dztcbiAgICB9XG59Il19 */
