/* ----------
 @ Bourbon
---------- */
/* ----------
 @ Bootstrap Variables
---------- */
/* ----------
 @ Custom Variables
---------- */
/* --------------------
 @@ Project Specific Variables
-------------------- */
/* ----------
 @ Options
---------- */
/* ----------
 @ Colors
---------- */
:root {
  --brand-primary: #0c2189;
  --brand-secondary: #09d6a1;
  --brand-tertiary: #e83452;
  --brand-success: #30be76;
  --brand-info: #0c2189;
  --brand-warning: #09d6a1;
  --brand-danger: #e83452;
  --brand-light-blue: #edf3f8;
  --brand-orange: #ffc200;
  --brand-light-grey: #F5F5F5;
  --brand-mid-grey: #707070;
  --brand-vigor: #0c2189;
  --brand-process: #09d6a1;
  --brand-energize: #e83452;
  --brand-pursuit: #00c3ff;
  --brand-ignite: #ffc200;
}

/* ----------
 @ Typography
---------- */
/* ----------
 @ Layout
---------- */
/* ----------
 @ Custom Utilities
---------- */
/* Project specific mixins */
/* --------------------
 @@ 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-page {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  min-height: 25rem;
  padding: 0 0 0 var(--side-gutter);
  background-color: #F5F5F5;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-radius: 0 0 3.72rem 0;
  gap: 0 4.17rem;
}

.c-banner-page__content {
  position: relative;
  max-width: calc(1656px / 12 * 6);
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 0;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}

.c-banner-page__image-container {
  position: relative;
  max-width: 46rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 0;
}

.c-banner-page__image {
  width: 100%;
  height: 100%;
  margin: 0;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 826/476;
  -webkit-clip-path: url(#c-banner-page__clip--desktop);
          clip-path: url(#c-banner-page__clip--desktop);
}

.c-banner-page__image-clip-container {
  border-radius: 0 0 3.72rem 0;
  overflow: hidden;
  margin: 0;
  width: 100%;
  height: 100%;
  position: relative;
  display: block;
}

.c-banner-page__stripes {
  position: absolute;
  left: -3rem;
  bottom: -1.47rem;
  width: 18.72rem;
  z-index: 1;
}

.c-banner-page__label {
  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;
  margin: 0;
  color: #fff;
}

.c-banner-page__label::after {
  content: '';
  width: 5em;
  height: 3px;
  margin-top: 0.5em;
  background-color: #09d6a1;
  -webkit-transition: width 150ms ease-in-out;
  transition: width 150ms ease-in-out;
}

.c-banner-page__title {
  margin: 0.7rem 0 0 0;
}

.c-banner-page__btn {
  margin-top: 2rem;
}

.c-banner-page .c-strut-dropdown__value {
  color: #1f1f1f;
}

.c-banner-page__clip {
  position: absolute;
  display: block;
  inset: 0;
  height: 100%;
  width: 100%;
  margin: 0;
  z-index: -1;
}

.c-banner-page__clip--mobile {
  display: none;
}

.c-banner-page__blurb {
  margin-top: 0.75rem;
}

@media only screen and (max-width: 991px) {
  .c-banner-page {
    min-height: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0;
    border-radius: unset;
  }
  .c-banner-page .c-breadcrumbs__crumb:last-child {
    display: none;
  }
  .c-banner-page__image-container {
    max-width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
  .c-banner-page__image-clip-container {
    border-radius: unset;
  }
  .c-banner-page__stripes {
    position: absolute;
    left: 5%;
    bottom: auto;
    top: 1.17rem;
    width: 34.6%;
    z-index: 1;
  }
  .c-banner-page__content {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    max-width: 100%;
    padding: 1.25rem 1.25rem var(--section-vertical-margin);
    -ms-flex-item-align: auto;
        -ms-grid-row-align: auto;
        align-self: auto;
  }
  .c-banner-page__clip--desktop {
    display: none;
  }
  .c-banner-page__clip--mobile {
    display: block;
  }
  .c-banner-page__image {
    -webkit-clip-path: url(#c-banner-page__clip--mobile);
            clip-path: url(#c-banner-page__clip--mobile);
  }
}

.c-intro-block {
  position: relative;
  width: 100%;
  max-width: calc(1656px / 12 * 8);
  margin: 0 auto;
  padding: 5rem 0 3rem;
}

.c-intro-block--align-left {
  text-align: left;
}

.c-intro-block__icon {
  display: inline-block;
  width: 4rem;
}

.c-intro-block__btn {
  margin-top: 2rem;
}

@media only screen and (max-width: 768px) {
  .c-intro-block {
    padding: 3rem 0;
  }
}

.c-grouped-listings {
  margin-bottom: 5rem;
}

.c-grouped-listing {
  margin-top: 3rem;
  scroll-margin-top: 1rem;
}

.c-grouped-listing:first-child {
  margin-top: 0;
}

.c-grouped-listing__title {
  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: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.c-grouped-listing__title::after {
  content: '';
  width: 4em;
  height: 3px;
  margin-top: 0.25em;
  background-color: #ffc200;
}

.c-grouped-listing__list {
  -webkit-columns: 2;
     -moz-columns: 2;
          columns: 2;
  margin-top: 2rem;
}

.c-grouped-listing__list__item {
  margin: 0;
  line-height: 2;
}

.c-grouped-listing__list__link {
  font-weight: 600;
  text-decoration: none;
  color: #0c2189;
}

.c-grouped-listing__list__link:hover, .c-grouped-listing__list__link:focus {
  text-decoration: underline;
  color: #0c2189;
}

@media only screen and (max-width: 768px) {
  .c-grouped-listings {
    margin-bottom: 3rem;
  }
  .c-grouped-listing__list {
    -webkit-columns: 1;
       -moz-columns: 1;
            columns: 1;
    margin-top: 2rem;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl91dGlsaXRpZXMuc2NzcyIsInBhZ2UtdGVtcGxhdGVzL3BhZ2UtcmVzb3VyY2UtbGlzdGluZy5jc3MiLCJfY3VzdG9tLXV0aWxpdGllcy5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX21peGlucy5zY3NzIiwiLi4vLi4vLi4vYmFzZS10aGVtZS9hc3NldHMvc2Nzcy91dGlsaXRpZXMvX21peGlucy5zY3NzIiwiY29tcG9uZW50cy9fYmFubmVyLXBhZ2Uuc2NzcyIsImNvbXBvbmVudHMvX2ludHJvLWJsb2NrLnNjc3MiLCJwYWdlLXRlbXBsYXRlcy9wYWdlLXJlc291cmNlLWxpc3Rpbmcuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7WUNFWTtBRElaOztZQ0RZO0FDTFo7O1lEUVk7QUVSWjs7c0JGV3NCO0FFUHRCOztZRlVZO0FFSlo7O1lGT1k7QUU2Qlo7RUFDSSx3QkFBZ0I7RUFDaEIsMEJBQWtCO0VBQ2xCLHlCQUFpQjtFQUNqQix3QkFBZ0I7RUFDaEIscUJBQWE7RUFDYix3QkFBZ0I7RUFDaEIsdUJBQWU7RUFDZiwyQkFBbUI7RUFDbkIsdUJBQWU7RUFDZiwyQkFBbUI7RUFDbkIseUJBQWlCO0VBQ2pCLHNCQUFjO0VBQ2Qsd0JBQWdCO0VBQ2hCLHlCQUFpQjtFQUNqQix3QkFBZ0I7RUFDaEIsdUJBQWU7QUYzQm5COztBRXNDQTs7WUZsQ1k7QUV3Rlo7O1lGckZZO0FDcENaOztZRHVDWTtBRzdDWiw0QkFBQTtBQ0FBOztzQkppRHNCO0FJN0N0Qjs7Ozs7O1lKb0RZO0FJN0JaOzs7OztZSm1DWTtBSXhCWjs7Ozs7O1lKK0JZO0FJbkJaOztzQkpzQnNCO0FJbEJ0Qjs7O1lKc0JZO0FJWlo7Ozs7WUppQlk7QUlGWjs7Ozs7WUpRWTtBSUdaOzs7WUpDWTtBSVdaOzs7WUpQWTtBSy9GWjtFQUNJLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2Isa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQixpQ0FBaUM7RUFDakMseUJBQXlCO0VB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QUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0FQd1EzQjs7QU8zUUE7RUFNUSxXQUFXO0VBQ1gsVUFBVTtFQUNWLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIseUJMTHVCO0FGOFEvQjs7QU90UUE7RUFDSSxrQkFBVTtLQUFWLGVBQVU7VUFBVixVQUFVO0VBQ1YsZ0JBQWdCO0FQeVFwQjs7QU92UUE7RUFDSSxTQUFTO0VBQ1QsY0FBYztBUDBRbEI7O0FPeFFBO0VBQ0ksZ0JMeUVhO0VLeEViLHFCQUFxQjtFQUNyQixjTHZCMkI7QUZrUy9COztBTzlRQTtFQU9RLDBCQUEwQjtFQUMxQixjTDVCdUI7QUZ1Uy9COztBT3ZRQTtFQUVJO0lBQ0ksbUJBQW1CO0VQeVF6QjtFT3ZRRTtJQUNJLGtCQUFVO09BQVYsZUFBVTtZQUFWLFVBQVU7SUFDVixnQkFBZ0I7RVB5UXRCO0FBQ0YiLCJmaWxlIjoicGFnZS10ZW1wbGF0ZXMvcGFnZS1yZXNvdXJjZS1saXN0aW5nLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIC0tLS0tLS0tLS1cbiBAIEJvdXJib25cbi0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcImJvdXJib24vY29yZS9fYm91cmJvbi5zY3NzXCI7XG5cbi8qIC0tLS0tLS0tLS1cbiBAIEJvb3RzdHJhcCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL21peGluc1wiOyIsIi8qIC0tLS0tLS0tLS1cbiBAIEJvdXJib25cbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIEJvb3RzdHJhcCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIEN1c3RvbSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgUHJvamVjdCBTcGVjaWZpYyBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBPcHRpb25zXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBDb2xvcnNcbi0tLS0tLS0tLS0gKi9cbjpyb290IHtcbiAgLS1icmFuZC1wcmltYXJ5OiAjMGMyMTg5O1xuICAtLWJyYW5kLXNlY29uZGFyeTogIzA5ZDZhMTtcbiAgLS1icmFuZC10ZXJ0aWFyeTogI2U4MzQ1MjtcbiAgLS1icmFuZC1zdWNjZXNzOiAjMzBiZTc2O1xuICAtLWJyYW5kLWluZm86ICMwYzIxODk7XG4gIC0tYnJhbmQtd2FybmluZzogIzA5ZDZhMTtcbiAgLS1icmFuZC1kYW5nZXI6ICNlODM0NTI7XG4gIC0tYnJhbmQtbGlnaHQtYmx1ZTogI2VkZjNmODtcbiAgLS1icmFuZC1vcmFuZ2U6ICNmZmMyMDA7XG4gIC0tYnJhbmQtbGlnaHQtZ3JleTogI0Y1RjVGNTtcbiAgLS1icmFuZC1taWQtZ3JleTogIzcwNzA3MDtcbiAgLS1icmFuZC12aWdvcjogIzBjMjE4OTtcbiAgLS1icmFuZC1wcm9jZXNzOiAjMDlkNmExO1xuICAtLWJyYW5kLWVuZXJnaXplOiAjZTgzNDUyO1xuICAtLWJyYW5kLXB1cnN1aXQ6ICMwMGMzZmY7XG4gIC0tYnJhbmQtaWduaXRlOiAjZmZjMjAwO1xufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBUeXBvZ3JhcGh5XG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBMYXlvdXRcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIEN1c3RvbSBVdGlsaXRpZXNcbi0tLS0tLS0tLS0gKi9cbi8qIFByb2plY3Qgc3BlY2lmaWMgbWl4aW5zICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIE1peGluc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIE1haW50YWluIEFzcGVjdCBSYXRpb1xuXHQtICoqKiByZXF1aXJlcyB0aGF0IHRoZSBlbGVtZW50IGhhcyBhbiBpbm5lciBjb250YWluZXIgZWxlbWVudCBpZiB0aGVyZSBpcyBpbm5lciBjb250ZW50XG5cdC0gJHggPT4geCBwb3J0aW9uIG9mIHJhdGlvXG5cdC0gJHkgPT4geSBwb3J0aW9uIG9mIHJhdGlvXG4gICAgLSAkYyA9PiBzZXQgdG8gJ2ZhbHNlJyB0byBza2lwIDpmaXJzdC1jaGlsZCBzdHlsaW5nXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBCYWNrZ3JvdW5kIEltYWdlXG5cdC0gU2hvcnRjdXQgZm9yIGxpbmtpbmcgaW1hZ2VzIGluIHRoZSBjb25maWd1cmVkIGltYWdlcyBmb2xkZXJcblx0LSAkaSA9PiBpbWFnZSBmaWxlIG5hbWUgKHJlbGF0aXZlIHRvIGltYWdlcyBmb2xkZXIpXG5cdC0gJHJlc3QgPT4gYW55IGFkZGl0aW9uYWwgJ2JhY2tncm91bmQnIHByb3BlcnR5IHNob3J0Y3V0IGRlY2xhcmF0aW9ucyAoaWU6IG5vLXJlcGVhdClcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFNpemVcbiBcdC0gU2hvcnRjdXQgZm9yIHNldHRpbmcgaGVpZ2h0IGFuZCB3aWR0aFxuIFx0LSAkd2lkdGggPT4gd2lkdGggb2YgZWxlbWVudFxuIFx0LSAkaGVpZ2h0ID0+IGhlaWdodCBvZiBlbGVtZW50XG4gXHQtIFNpbmdsZSB2YWx1ZSB3aWxsIHNldCBib3RoIHZhbHVlcyAoZS5nLiBzaXplKDEwMCUpO1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBGdW5jdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBDb2xvciBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gdGhlICR0aGVtZS1jb2xvcnMgbWFwXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBCcmVha3BvaW50IEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSB0aGUgJGdyaWQtYnJlYWtwb2ludHMgbWFwXG4gXHQtICR0eXBlID0+ICdtYXgnIHwgJ21pbicsIGRlcGVuZGluZyBvbiBtZWRpYSBxdWVyeSB0eXBlXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBSZW1zXG5cdC0gY29udmVydCBwaXhlbHMgdG8gcmVtc1xuXHQtICRwID0+IHBpeGVsIHZhbHVlXG5cdC0gJGIgPT4gYmFzZSBzaXplICh0byB1c2UgaW4gZm9ybXVsYSkgLSBkZWZhdWx0cyB0byAkZm9udC1zaXplcyByb290IHZhcmlhYmxlXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBNYXAgRGVlcCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gbmVzdGVkIG1hcHNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFdlaWdodCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gdGhlICRmb250LXdlaWdodHMgbWFwXG4tLS0tLS0tLS0tICovXG4uYy1iYW5uZXItcGFnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMjVyZW07XG4gIHBhZGRpbmc6IDAgMCAwIHZhcigtLXNpZGUtZ3V0dGVyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMy43MnJlbSAwO1xuICBnYXA6IDAgNC4xN3JlbTtcbn1cblxuLmMtYmFubmVyLXBhZ2VfX2NvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogY2FsYygxNjU2cHggLyAxMiAqIDYpO1xuICBmbGV4OiAxO1xuICBtYXJnaW46IDA7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLmMtYmFubmVyLXBhZ2VfX2ltYWdlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiA0NnJlbTtcbiAgZmxleDogMTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYy1iYW5uZXItcGFnZV9faW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBhc3BlY3QtcmF0aW86IDgyNi80NzY7XG4gIGNsaXAtcGF0aDogdXJsKCNjLWJhbm5lci1wYWdlX19jbGlwLS1kZXNrdG9wKTtcbn1cblxuLmMtYmFubmVyLXBhZ2VfX2ltYWdlLWNsaXAtY29udGFpbmVyIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDMuNzJyZW0gMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy1iYW5uZXItcGFnZV9fc3RyaXBlcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTNyZW07XG4gIGJvdHRvbTogLTEuNDdyZW07XG4gIHdpZHRoOiAxOC43MnJlbTtcbiAgei1pbmRleDogMTtcbn1cblxuLmMtYmFubmVyLXBhZ2VfX2xhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmMtYmFubmVyLXBhZ2VfX2xhYmVsOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogNWVtO1xuICBoZWlnaHQ6IDNweDtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMwOWQ2YTE7XG4gIHRyYW5zaXRpb246IHdpZHRoIDE1MG1zIGVhc2UtaW4tb3V0O1xufVxuXG4uYy1iYW5uZXItcGFnZV9fdGl0bGUge1xuICBtYXJnaW46IDAuN3JlbSAwIDAgMDtcbn1cblxuLmMtYmFubmVyLXBhZ2VfX2J0biB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG5cbi5jLWJhbm5lci1wYWdlIC5jLXN0cnV0LWRyb3Bkb3duX192YWx1ZSB7XG4gIGNvbG9yOiAjMWYxZjFmO1xufVxuXG4uYy1iYW5uZXItcGFnZV9fY2xpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGluc2V0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4uYy1iYW5uZXItcGFnZV9fY2xpcC0tbW9iaWxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmMtYmFubmVyLXBhZ2VfX2JsdXJiIHtcbiAgbWFyZ2luLXRvcDogMC43NXJlbTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuYy1iYW5uZXItcGFnZSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogdW5zZXQ7XG4gIH1cbiAgLmMtYmFubmVyLXBhZ2UgLmMtYnJlYWRjcnVtYnNfX2NydW1iOmxhc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmMtYmFubmVyLXBhZ2VfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsZXg6IG5vbmU7XG4gIH1cbiAgLmMtYmFubmVyLXBhZ2VfX2ltYWdlLWNsaXAtY29udGFpbmVyIHtcbiAgICBib3JkZXItcmFkaXVzOiB1bnNldDtcbiAgfVxuICAuYy1iYW5uZXItcGFnZV9fc3RyaXBlcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEuMTdyZW07XG4gICAgd2lkdGg6IDM0LjYlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgLmMtYmFubmVyLXBhZ2VfX2NvbnRlbnQge1xuICAgIG9yZGVyOiAxO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuMjVyZW0gdmFyKC0tc2VjdGlvbi12ZXJ0aWNhbC1tYXJnaW4pO1xuICAgIGFsaWduLXNlbGY6IGF1dG87XG4gIH1cbiAgLmMtYmFubmVyLXBhZ2VfX2NsaXAtLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmMtYmFubmVyLXBhZ2VfX2NsaXAtLW1vYmlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmMtYmFubmVyLXBhZ2VfX2ltYWdlIHtcbiAgICBjbGlwLXBhdGg6IHVybCgjYy1iYW5uZXItcGFnZV9fY2xpcC0tbW9iaWxlKTtcbiAgfVxufVxuXG4uYy1pbnRyby1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogY2FsYygxNjU2cHggLyAxMiAqIDgpO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogNXJlbSAwIDNyZW07XG59XG5cbi5jLWludHJvLWJsb2NrLS1hbGlnbi1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmMtaW50cm8tYmxvY2tfX2ljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA0cmVtO1xufVxuXG4uYy1pbnRyby1ibG9ja19fYnRuIHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYy1pbnRyby1ibG9jayB7XG4gICAgcGFkZGluZzogM3JlbSAwO1xuICB9XG59XG5cbi5jLWdyb3VwZWQtbGlzdGluZ3Mge1xuICBtYXJnaW4tYm90dG9tOiA1cmVtO1xufVxuXG4uYy1ncm91cGVkLWxpc3Rpbmcge1xuICBtYXJnaW4tdG9wOiAzcmVtO1xuICBzY3JvbGwtbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLmMtZ3JvdXBlZC1saXN0aW5nOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmMtZ3JvdXBlZC1saXN0aW5nX190aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uYy1ncm91cGVkLWxpc3RpbmdfX3RpdGxlOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogNGVtO1xuICBoZWlnaHQ6IDNweDtcbiAgbWFyZ2luLXRvcDogMC4yNWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMjAwO1xufVxuXG4uYy1ncm91cGVkLWxpc3RpbmdfX2xpc3Qge1xuICBjb2x1bW5zOiAyO1xuICBtYXJnaW4tdG9wOiAycmVtO1xufVxuXG4uYy1ncm91cGVkLWxpc3RpbmdfX2xpc3RfX2l0ZW0ge1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAyO1xufVxuXG4uYy1ncm91cGVkLWxpc3RpbmdfX2xpc3RfX2xpbmsge1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMGMyMTg5O1xufVxuXG4uYy1ncm91cGVkLWxpc3RpbmdfX2xpc3RfX2xpbms6aG92ZXIsIC5jLWdyb3VwZWQtbGlzdGluZ19fbGlzdF9fbGluazpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogIzBjMjE4OTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYy1ncm91cGVkLWxpc3RpbmdzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICB9XG4gIC5jLWdyb3VwZWQtbGlzdGluZ19fbGlzdCB7XG4gICAgY29sdW1uczogMTtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICB9XG59XG4iLCIvKiAtLS0tLS0tLS0tXG4gQCBDdXN0b20gVmFyaWFibGVzXG4tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJjaGlsZC10aGVtZS9hc3NldHMvc2Nzcy92YXJpYWJsZXNcIjtcblxuLyogLS0tLS0tLS0tLVxuIEAgQ3VzdG9tIFV0aWxpdGllc1xuLS0tLS0tLS0tLSAqL1xuXG5AaW1wb3J0IFwiY2hpbGQtdGhlbWUvYXNzZXRzL3Njc3MvbWl4aW5zXCI7XG5cbkBpbXBvcnQgXCJiYXNlLXRoZW1lL2Fzc2V0cy9zY3NzL3V0aWxpdGllcy9taXhpbnNcIjtcbkBpbXBvcnQgXCJiYXNlLXRoZW1lL2Fzc2V0cy9zY3NzL3V0aWxpdGllcy9yZXNldFwiO1xuQGltcG9ydCBcImJhc2UtdGhlbWUvYXNzZXRzL3Njc3MvdXRpbGl0aWVzL2Jhc2VcIjtcbkBpbXBvcnQgXCJiYXNlLXRoZW1lL2Fzc2V0cy9zY3NzL3V0aWxpdGllcy93cC1iYXNlXCI7IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBQcm9qZWN0IFNwZWNpZmljIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLVxuIEAgT3B0aW9uc1xuLS0tLS0tLS0tLSAqL1xuXG4kZW5hYmxlLXJlc3BvbnNpdmUtdGV4dDpcdHRydWU7XG5cbi8qIC0tLS0tLS0tLS1cbiBAIENvbG9yc1xuLS0tLS0tLS0tLSAqL1xuXG4kbGlnaHQtYmx1ZTogICAgICAgICAgICAjZWRmM2Y4O1xuXG4kYnJhbmQtdmlnb3I6ICAgICAgICAgICAjMGMyMTg5O1xuJGJyYW5kLXByb2Nlc3M6ICAgICAgICAgIzA5ZDZhMTtcbiRicmFuZC1lbmVyZ2l6ZTogICAgICAgICNlODM0NTI7XG4kYnJhbmQtcHVyc3VpdDogICAgICAgICAjMDBjM2ZmO1xuJGJyYW5kLWlnbml0ZTogICAgICAgICAgI2ZmYzIwMDtcbiRicmFuZC1vcmFuZ2U6ICAgICAgICAgICRicmFuZC1pZ25pdGU7XG5cbiRicmFuZC1wcmltYXJ5OiAgICAgICAgICRicmFuZC12aWdvcjtcbiRicmFuZC1zZWNvbmRhcnk6ICAgICAgICRicmFuZC1wcm9jZXNzO1xuJGJyYW5kLXRlcnRpYXJ5OiAgICAgICAgJGJyYW5kLWVuZXJnaXplO1xuXG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoJHRoZW1lLWNvbG9ycywgKFxuICAgIHByaW1hcnk6ICRicmFuZC1wcmltYXJ5LFxuICAgIHNlY29uZGFyeTogJGJyYW5kLXNlY29uZGFyeSxcbiAgICB0ZXJ0aWFyeTogJGJyYW5kLXRlcnRpYXJ5LFxuICAgIHN1Y2Nlc3M6ICMzMGJlNzYsXG4gICAgaW5mbzogJGJyYW5kLXByaW1hcnksXG4gICAgd2FybmluZzogJGJyYW5kLXNlY29uZGFyeSxcbiAgICBkYW5nZXI6ICRicmFuZC10ZXJ0aWFyeSxcbiAgICBsaWdodC1ibHVlOiAkbGlnaHQtYmx1ZSwgICAgXG4gICAgb3JhbmdlOiAkYnJhbmQtb3JhbmdlLFxuICAgIGxpZ2h0LWdyZXk6ICNGNUY1RjUsXG4gICAgbWlkLWdyZXk6ICM3MDcwNzAsXG4gICAgdmlnb3I6ICRicmFuZC12aWdvcixcbiAgICBwcm9jZXNzOiAkYnJhbmQtcHJvY2VzcyxcbiAgICBlbmVyZ2l6ZTogJGJyYW5kLWVuZXJnaXplLFxuICAgIHB1cnN1aXQ6ICRicmFuZC1wdXJzdWl0LFxuICAgIGlnbml0ZTogJGJyYW5kLWlnbml0ZVxuKSk7XG5cbjpyb290IHtcbiAgICAtLWJyYW5kLXByaW1hcnk6ICN7JGJyYW5kLXByaW1hcnl9O1xuICAgIC0tYnJhbmQtc2Vjb25kYXJ5OiAjeyRicmFuZC1zZWNvbmRhcnl9O1xuICAgIC0tYnJhbmQtdGVydGlhcnk6ICN7JGJyYW5kLXRlcnRpYXJ5fTtcbiAgICAtLWJyYW5kLXN1Y2Nlc3M6ICMzMGJlNzY7XG4gICAgLS1icmFuZC1pbmZvOiAjeyRicmFuZC1wcmltYXJ5fTtcbiAgICAtLWJyYW5kLXdhcm5pbmc6ICN7JGJyYW5kLXNlY29uZGFyeX07XG4gICAgLS1icmFuZC1kYW5nZXI6ICN7JGJyYW5kLXRlcnRpYXJ5fTtcbiAgICAtLWJyYW5kLWxpZ2h0LWJsdWU6ICN7JGxpZ2h0LWJsdWV9O1xuICAgIC0tYnJhbmQtb3JhbmdlOiAjeyRicmFuZC1vcmFuZ2V9O1xuICAgIC0tYnJhbmQtbGlnaHQtZ3JleTogI0Y1RjVGNTtcbiAgICAtLWJyYW5kLW1pZC1ncmV5OiAjNzA3MDcwO1xuICAgIC0tYnJhbmQtdmlnb3I6ICN7JGJyYW5kLXZpZ29yfTtcbiAgICAtLWJyYW5kLXByb2Nlc3M6ICN7JGJyYW5kLXByb2Nlc3N9O1xuICAgIC0tYnJhbmQtZW5lcmdpemU6ICN7JGJyYW5kLWVuZXJnaXplfTtcbiAgICAtLWJyYW5kLXB1cnN1aXQ6ICN7JGJyYW5kLXB1cnN1aXR9O1xuICAgIC0tYnJhbmQtaWduaXRlOiAjeyRicmFuZC1pZ25pdGV9O1xufVxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAjZmZmO1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgIzFmMWYxZjtcblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnk7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSk7XG5cbiRsaW5lLWNvbG9yOiBcdFx0XHQjZTFlMmUzO1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBUeXBvZ3JhcGh5XG4tLS0tLS0tLS0tICovXG5cbiRiYXNlRm9udFNpemU6IDE4cHg7XG5cbiRyb290Rm9udFNpemU6IHN0cmlwLXVuaXQoJGJhc2VGb250U2l6ZSkgLyAxNiAqIDEwMCU7IC8vIEZvciBhY2Nlc3NpYmlsaXR5IHJlYXNvbnMgdGhlIHJvb3QgZm9udCBzaXplIHNob3VsZCBiZSBzZXQgdG8gJSwgbW9zdCBicm93c2VycyBoYXZlIGEgYmFzZSBmb250IHNpemUgb2YgMTZweFxuXG4kZm9udC1zaXplczogKFxuICAgIHJvb3Q6ICRyb290Rm9udFNpemUsXG4gICAgaDE6IDYwcHgsXG4gICAgaDI6IDQ2cHgsXG4gICAgaDM6IDM2cHgsXG4gICAgaDQ6IDI2cHgsXG4gICAgaDU6IDIxcHgsXG4gICAgaDY6IDE4cHgsXG4gICAgbGVhZDogMjFweCxcbiAgICBibG9ja3F1b3RlOiAyMXB4XG4pO1xuXG4kZm9udC1zaXplLWJhc2U6IDFyZW07XG5cbiRsZWFkLWZvbnQtc2l6ZTogcmVtcyhtYXAtZ2V0KCRmb250LXNpemVzLCBsZWFkKSk7XG4kYmxvY2txdW90ZS1mb250LXNpemU6IHJlbXMobWFwLWdldCgkZm9udC1zaXplcywgYmxvY2txdW90ZSkpO1xuXG4kZm9udC1mYW1pbHktYmFzZTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICRmb250LWZhbWlseS1iYXNlO1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcblxuJGZhLWZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IFByb1wiO1xuXG4kZm9udC13ZWlnaHRzOiAoXG4gICAgYmxhY2s6IDkwMCxcbiAgICBleHRyYS1ib2xkOiA4MDAsXG4gICAgZXh0cmFib2xkOiA4MDAsXG4gICAgYm9sZDogNzAwLFxuICAgIHNlbWktYm9sZDogNjAwLFxuICAgIHNlbWlib2xkOiA2MDAsXG4gICAgbWVkaXVtOiA1MDAsXG4gICAgcmVndWxhcjogNDAwLFxuICAgIGxpZ2h0OiA0MDAsXG4gICAgdGhpbjogNDAwXG4pO1xuXG4kZm9udC13ZWlnaHQtYmFzZTogbWFwLWdldCgkZm9udC13ZWlnaHRzLCByZWd1bGFyKTtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogbWFwLWdldCgkZm9udC13ZWlnaHRzLCBib2xkKTtcbiRsZWFkLWZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRmb250LXdlaWdodHMsIHNlbWktYm9sZCk7XG5cbiRsaW5lLWhlaWdodC1iYXNlOiAxLjY1O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiRsaW5rLWRlY29yYXRpb246IHVuZGVybGluZTtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cbi8qIC0tLS0tLS0tLS1cbiBAIExheW91dFxuLS0tLS0tLS0tLSAqL1xuXG4kZ3JpZC1ndXR0ZXItd2lkdGg6IFx0IDJyZW07XG4kZ3JpZC1wYWRkaW5nOlx0XHRcdCAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuXG4kdmVydGljYWwtbWFyZ2luLWJhc2U6XHQgMS41cmVtO1xuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICAgIHhzOiAwLCAvLyBOb3Qgc3VyZSB3aHkgYnV0IHRoaXMgbXVzdCBiZSB6ZXJvXG4gICAgc206IDU3NnB4LFxuICAgIG1kOiA3NjlweCxcbiAgICBsZzogOTkycHgsXG4gICAgeGw6IDE2MjBweFxuKTtcblxuJGNvbnRhaW5lci13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgeGwpKyhzdHJpcC11bml0KCRncmlkLWd1dHRlci13aWR0aCkgKiBzdHJpcC11bml0KCRiYXNlRm9udFNpemUpKTtcblxuJGljb24tcGF0aDogJy4uL2ltZy9pY29ucy8nOyBcblxuJGZvcm0tZWxlbWVudC14LXBhZGRpbmc6IDVweDtcbiRmb3JtLWVsZW1lbnQteS1wYWRkaW5nOiAwLjVyZW07IiwiLyogUHJvamVjdCBzcGVjaWZpYyBtaXhpbnMgKi8iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIE1peGluc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLVxuIEAgTWFpbnRhaW4gQXNwZWN0IFJhdGlvXG5cdC0gKioqIHJlcXVpcmVzIHRoYXQgdGhlIGVsZW1lbnQgaGFzIGFuIGlubmVyIGNvbnRhaW5lciBlbGVtZW50IGlmIHRoZXJlIGlzIGlubmVyIGNvbnRlbnRcblx0LSAkeCA9PiB4IHBvcnRpb24gb2YgcmF0aW9cblx0LSAkeSA9PiB5IHBvcnRpb24gb2YgcmF0aW9cbiAgICAtICRjID0+IHNldCB0byAnZmFsc2UnIHRvIHNraXAgOmZpcnN0LWNoaWxkIHN0eWxpbmdcbi0tLS0tLS0tLS0gKi9cblxuQG1peGluIGFzcGVjdC1yYXRpbygkeDogMSwgJHk6IDEsICRjOiB0cnVlKSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgkeSAvICR4KTtcblx0fVxuXHRAaWYgKCRjID09IHRydWUpIHtcblx0XHQmID4gOmZpcnN0LWNoaWxkIHtcblx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcblx0XHR9XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgQmFja2dyb3VuZCBJbWFnZVxuXHQtIFNob3J0Y3V0IGZvciBsaW5raW5nIGltYWdlcyBpbiB0aGUgY29uZmlndXJlZCBpbWFnZXMgZm9sZGVyXG5cdC0gJGkgPT4gaW1hZ2UgZmlsZSBuYW1lIChyZWxhdGl2ZSB0byBpbWFnZXMgZm9sZGVyKVxuXHQtICRyZXN0ID0+IGFueSBhZGRpdGlvbmFsICdiYWNrZ3JvdW5kJyBwcm9wZXJ0eSBzaG9ydGN1dCBkZWNsYXJhdGlvbnMgKGllOiBuby1yZXBlYXQpXG4tLS0tLS0tLS0tICovXG5cbkBtaXhpbiBiZy1pbWFnZSgkaSwgJHJlc3QuLi4pIHtcblx0YmFja2dyb3VuZDogdXJsKFwiI3skaW1hZ2VzLWZvbGRlcn0vI3skaX1cIikgJHJlc3Q7XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFNpemVcbiBcdC0gU2hvcnRjdXQgZm9yIHNldHRpbmcgaGVpZ2h0IGFuZCB3aWR0aFxuIFx0LSAkd2lkdGggPT4gd2lkdGggb2YgZWxlbWVudFxuIFx0LSAkaGVpZ2h0ID0+IGhlaWdodCBvZiBlbGVtZW50XG4gXHQtIFNpbmdsZSB2YWx1ZSB3aWxsIHNldCBib3RoIHZhbHVlcyAoZS5nLiBzaXplKDEwMCUpO1xuLS0tLS0tLS0tLSAqL1xuQG1peGluIHNpemUoJHdpZHRoLCAkaGVpZ2h0OiAkd2lkdGgpIHtcblx0d2lkdGg6ICR3aWR0aDtcblx0aGVpZ2h0OiAkaGVpZ2h0O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIEZ1bmN0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLVxuIEAgQ29sb3IgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkdGhlbWUtY29sb3JzIG1hcFxuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gY29sb3ItZ2V0KCRrZXlzKSB7XG5cdCRjb2xvcjogbWFwLWRlZXAtZ2V0KCR0aGVtZS1jb2xvcnMsICRrZXlzKTtcblx0QHJldHVybiAkY29sb3I7XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIEJyZWFrcG9pbnQgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkZ3JpZC1icmVha3BvaW50cyBtYXBcbiBcdC0gJHR5cGUgPT4gJ21heCcgfCAnbWluJywgZGVwZW5kaW5nIG9uIG1lZGlhIHF1ZXJ5IHR5cGVcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtZ2V0KCR0eXBlLCAka2V5cykge1xuXHQkYnJlYWtwb2ludDogbWFwLWRlZXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAka2V5cyk7XG5cdEBpZiAoJHR5cGUgPT0gJ21heCcpe1xuXHRcdEByZXR1cm4gJGJyZWFrcG9pbnQgLSAxO1xuXHR9IEBlbHNlIHtcblx0XHRAcmV0dXJuICRicmVha3BvaW50O1xuXHR9XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFJlbXNcblx0LSBjb252ZXJ0IHBpeGVscyB0byByZW1zXG5cdC0gJHAgPT4gcGl4ZWwgdmFsdWVcblx0LSAkYiA9PiBiYXNlIHNpemUgKHRvIHVzZSBpbiBmb3JtdWxhKSAtIGRlZmF1bHRzIHRvICRmb250LXNpemVzIHJvb3QgdmFyaWFibGVcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIHJlbXMoJHAsICRiOiAkYmFzZUZvbnRTaXplKSB7XG4gICAgQHJldHVybiAoc3RyaXAtdW5pdCgkcCkgLyBzdHJpcC11bml0KCRiKSkgKyAwcmVtO1xufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBNYXAgRGVlcCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gbmVzdGVkIG1hcHNcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIG1hcC1kZWVwLWdldCgkbWFwLCAka2V5cy4uLikge1xuXHRAZWFjaCAka2V5IGluICRrZXlzIHtcblx0XHQkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuXHR9XG5cdEByZXR1cm4gJG1hcDtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgV2VpZ2h0IEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSB0aGUgJGZvbnQtd2VpZ2h0cyBtYXBcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIHdlaWdodC1nZXQoJGtleXMpIHtcblx0JHdlaWdodDogbWFwLWRlZXAtZ2V0KCRmb250LXdlaWdodHMsICRrZXlzKTtcblx0QHJldHVybiAkd2VpZ2h0O1xufSIsIi5jLWJhbm5lci1wYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAyNXJlbTtcbiAgICBwYWRkaW5nOiAwIDAgMCB2YXIoLS1zaWRlLWd1dHRlcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDMuNzJyZW0gMDtcbiAgICBnYXA6IDAgNC4xN3JlbTtcbn1cbi5jLWJhbm5lci1wYWdlX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiBjYWxjKCN7JGNvbnRhaW5lci13aWR0aH0gLyAxMiAqIDYpO1xuICAgIGZsZXg6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cbi5jLWJhbm5lci1wYWdlX19pbWFnZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDQ2cmVtO1xuICAgIGZsZXg6IDE7XG4gICAgbWFyZ2luOiAwO1xufVxuLmMtYmFubmVyLXBhZ2VfX2ltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGFzcGVjdC1yYXRpbzogODI2LzQ3NjtcbiAgICBjbGlwLXBhdGg6IHVybCgjYy1iYW5uZXItcGFnZV9fY2xpcC0tZGVza3RvcCk7XG59XG4uYy1iYW5uZXItcGFnZV9faW1hZ2UtY2xpcC1jb250YWluZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAzLjcycmVtIDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi5jLWJhbm5lci1wYWdlX19zdHJpcGVzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTNyZW07XG4gICAgYm90dG9tOiAtMS40N3JlbTtcbiAgICB3aWR0aDogMTguNzJyZW07XG4gICAgei1pbmRleDogMTtcbn1cbi5jLWJhbm5lci1wYWdlX19sYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDVlbTtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNWVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1nZXQoc2Vjb25kYXJ5KTtcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxufVxuLmMtYmFubmVyLXBhZ2VfX3RpdGxlIHtcbiAgICBtYXJnaW46IDAuN3JlbSAwIDAgMDtcbn1cbi5jLWJhbm5lci1wYWdlX19idG4ge1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG59XG4uYy1iYW5uZXItcGFnZSAuYy1zdHJ1dC1kcm9wZG93bl9fdmFsdWUge1xuICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbn1cbi5jLWJhbm5lci1wYWdlX19jbGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaW5zZXQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICB6LWluZGV4OiAtMTtcbn1cbi5jLWJhbm5lci1wYWdlX19jbGlwLS1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4uYy1iYW5uZXItcGFnZV9fYmx1cmIge1xuICAgIG1hcmdpbi10b3A6IDAuNzVyZW07XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIGxnKSkge1xuICAgIC5jLWJhbm5lci1wYWdlIHtcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdW5zZXQ7XG4gICAgfVxuICAgIC5jLWJhbm5lci1wYWdlIC5jLWJyZWFkY3J1bWJzX19jcnVtYjpsYXN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmMtYmFubmVyLXBhZ2VfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICB9XG4gICAgLmMtYmFubmVyLXBhZ2VfX2ltYWdlLWNsaXAtY29udGFpbmVyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdW5zZXQ7XG4gICAgfVxuICAgIC5jLWJhbm5lci1wYWdlX19zdHJpcGVzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1JTtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICB0b3A6IDEuMTdyZW07XG4gICAgICAgIHdpZHRoOiAzNC42JTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgLmMtYmFubmVyLXBhZ2VfX2NvbnRlbnQge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuMjVyZW0gdmFyKC0tc2VjdGlvbi12ZXJ0aWNhbC1tYXJnaW4pO1xuICAgICAgICBhbGlnbi1zZWxmOiBhdXRvO1xuICAgIH1cbiAgICBcbiAgICAuYy1iYW5uZXItcGFnZV9fY2xpcC0tZGVza3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5jLWJhbm5lci1wYWdlX19jbGlwLS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLmMtYmFubmVyLXBhZ2VfX2ltYWdlIHtcbiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI2MtYmFubmVyLXBhZ2VfX2NsaXAtLW1vYmlsZSk7XG4gICAgfVxufSIsIi5jLWludHJvLWJsb2NrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBjYWxjKCN7JGNvbnRhaW5lci13aWR0aH0gLyAxMiAqIDgpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDVyZW0gMCAzcmVtO1xufVxuLmMtaW50cm8tYmxvY2stLWFsaWduLWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG4uYy1pbnRyby1ibG9ja19faWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA0cmVtO1xufVxuLmMtaW50cm8tYmxvY2tfX2J0biB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbWQpKSB7XG4gICAgLmMtaW50cm8tYmxvY2sge1xuICAgICAgICBwYWRkaW5nOiAzcmVtIDA7XG4gICAgfVxufSIsIkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9iYW5uZXItcGFnZVwiO1xuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvaW50cm8tYmxvY2tcIjtcblxuLmMtZ3JvdXBlZC1saXN0aW5ncyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbn1cbi5jLWdyb3VwZWQtbGlzdGluZyB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICBzY3JvbGwtbWFyZ2luLXRvcDogMXJlbTtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cbi5jLWdyb3VwZWQtbGlzdGluZ19fdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiA0ZW07XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjI1ZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLWdldChvcmFuZ2UpO1xuICAgIH1cbn1cbi5jLWdyb3VwZWQtbGlzdGluZ19fbGlzdCB7XG4gICAgY29sdW1uczogMjtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xufVxuLmMtZ3JvdXBlZC1saXN0aW5nX19saXN0X19pdGVtIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDI7XG59XG4uYy1ncm91cGVkLWxpc3RpbmdfX2xpc3RfX2xpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiB3ZWlnaHQtZ2V0KHNlbWlib2xkKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGNvbG9yLWdldChwcmltYXJ5KTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBjb2xvcjogY29sb3ItZ2V0KHByaW1hcnkpO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbWQpKSB7XG5cbiAgICAuYy1ncm91cGVkLWxpc3RpbmdzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICB9XG4gICAgLmMtZ3JvdXBlZC1saXN0aW5nX19saXN0IHtcbiAgICAgICAgY29sdW1uczogMTtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICB9XG59Il19 */
