/**
* Device Specific Breakpoints
*
* @TODO Format into groups as above with min/max breakpoints
*/
/**
* Default Button Variables
* @author Sam Thompson <samt@panmedia.co.nz>
*/
/**
* Button Size Varients
*/
/**
* Button Theme Varients
*/
/**
* Positon Helper Mixin
* Enables writing position styles on one line
*/
/**
* Border Style Mixin
* Smartly generates border styles
* @TODO 1. check if width prop is more than on measurment, if not, use shorthand syntax
*/
/**
* Form Size Mixin
* Normalises form element (buttons & inputs) sizes based on class names (xs, sm, etc)
* @TODO 1. wrap the sizing in a class provided to the mixin for both buttons and inputs,
*       2. smartly calculate the line-height and padding (or base height of padding)
*       3. variablise the default sizes and call like newFormSize('classname', param1, ...);
*/
/**
* Button Factory Mixin
* @author Sam Thompson <samt@panmedia.co.nz>
* @TODO wrap styles in a custom button class passed to the mixin in a var like '$name'
*/
/**
* Form Input Factory Mixin
* @author Sam Thompson <samt@panmedia.co.nz>
*/
.xmod-icon {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  /* Preferred icon size */
  font-size: inherit;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga'; }

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

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

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

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

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

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

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

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

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

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

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

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

.slick-loading .slick-list {
  background: #fff; }

.xmod-banner {
  position: relative;
  overflow: hidden;
  margin-bottom: 24px;
  /* Arrow Controls */
  /* Dot Indicators */ }
  .xmod-banner .xmod-banner-frame {
    cursor: -webkit-grab;
    cursor: grab; }
    .xmod-banner .xmod-banner-frame:active {
      cursor: -webkit-grabbing;
      cursor: grabbing; }
  .xmod-banner .xmod-frame-image-wrapper {
    display: block;
    position: relative;
    height: 160px; }
    @media (min-width: 375px) {
      .xmod-banner .xmod-frame-image-wrapper {
        height: 160px; } }
    @media (min-width: 413px) {
      .xmod-banner .xmod-frame-image-wrapper {
        height: 240px; } }
    @media (min-width: 767px) {
      .xmod-banner .xmod-frame-image-wrapper {
        height: 360px; } }
    @media (min-width: 1280px) {
      .xmod-banner .xmod-frame-image-wrapper {
        height: 360px; } }
    @media (min-width: 1440px) {
      .xmod-banner .xmod-frame-image-wrapper {
        height: 480px; } }
    @media (min-width: 1920px) {
      .xmod-banner .xmod-frame-image-wrapper {
        height: 520px; } }
  .xmod-banner .xmod-banner-image {
    width: auto;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
    @media (min-width: 461px) {
      .xmod-banner .xmod-banner-image {
        width: 100%;
        height: auto; } }
  .xmod-banner .slick-prev,
  .xmod-banner .slick-next {
    position: absolute;
    z-index: 1; }
    .xmod-banner .slick-prev:before,
    .xmod-banner .slick-next:before {
      font-size: 32px;
      color: #000; }
  .xmod-banner .slick-prev {
    left: 24px; }
  .xmod-banner .slick-next {
    right: 24px; }
  .xmod-banner ul.slick-dots {
    position: absolute;
    bottom: 0; }

* {
  min-height: 0;
  min-width: 0; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3BhbnRoZXItZnJhbWV3b3JrL3NyYy9zY3NzL3ZhcmlhYmxlcy9icmVha3BvaW50cy5zY3NzIiwiLi4vcGFudGhlci1mcmFtZXdvcmsvc3JjL3Njc3MvdmFyaWFibGVzL2J1dHRvbnMuc2NzcyIsIi4uL3BhbnRoZXItZnJhbWV3b3JrL3NyYy9zY3NzL21peGlucy9oZWxwZXJzLnNjc3MiLCIuLi9wYW50aGVyLWZyYW1ld29yay9zcmMvc2Nzcy9taXhpbnMvYnV0dG9ucy5zY3NzIiwiLi4vcGFudGhlci1mcmFtZXdvcmsvc3JjL3Njc3MvbWl4aW5zL2lucHV0cy5zY3NzIiwieG1vZC1pY29ucy5zY3NzIiwiLi4vZGVwZW5kZW5jaWVzL3NsaWNrL3NsaWNrL3NsaWNrLnNjc3MiLCJtb2R1bGVzLmNzcyIsIi4uL2RlcGVuZGVuY2llcy9zbGljay9zbGljay9zbGljay10aGVtZS5zY3NzIiwieG1vZC1iYW5uZXJzL3ZhcmlhYmxlcy5zY3NzIiwieG1vZC1iYW5uZXJzL3RoZW1lLnNjc3MiLCIuLi9wYW50aGVyLWZyYW1ld29yay9zcmMvc2Nzcy9taXhpbnMvYnJlYWtwb2ludHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQ0E7Ozs7RUFJRTtBQ3hDRjs7O0VBR0U7QUFHRjs7RUFFRTtBQXVCRjs7RUFFRTtBQ1hGOzs7RUFHRTtBQThCRjs7OztFQUlFO0FBa0NGOzs7Ozs7RUFNRTtBQ25HRjs7OztFQUlFO0FDSkY7OztFQUdFO0FDU0Y7RUFDSSw4QkFBOEI7RUFDOUIsb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixnQkFBZ0I7RUFBRyx5QkFBeUI7RUFDNUMsbUJBQW1CO0VBQ25CLHNCQUFzQjtFQUN0QixlQUFlO0VBQ2YscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixrQkFBa0I7RUFDbEIsb0JBQW9CO0VBQ3BCLGVBQWU7RUFFZixzQ0FBc0M7RUFDdEMsb0NBQW9DO0VBQ3BDLG9DQUFvQztFQUNwQyxtQ0FBbUM7RUFFbkMsMEJBQTBCO0VBQzFCLG1DQUFtQztFQUVuQyxxQkFBcUI7RUFDckIsOEJBQThCLEVBQ2pDOztBQ3BDRCxZQUFZO0FBRVo7RUFDSSxtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLHVCQUF1QjtFQUN2Qiw0QkFBNEI7RUFDNUIsMEJBQTBCO0VBRTFCLHVCQUF1QjtFQUN2QixzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLHdCQUF3QjtFQUN4QixvQkFBb0I7RUFDcEIseUNBQXlDLEVBQzVDOztBQUNEO0VBQ0ksbUJBQW1CO0VBQ25CLGlCQUFpQjtFQUNqQixlQUFlO0VBQ2YsVUFBVTtFQUNWLFdBQVcsRUFVZDtFQWZEO0lBUVEsY0FBYyxFQUNqQjtFQVRMO0lBWVEsZ0JBQWdCO0lBQ2hCLGFBQWEsRUFDaEI7O0FBRUw7O0VBSUksb0NBQTBCO0VBRTFCLGdDQUFzQixFQUN6Qjs7QUFFRDtFQUNJLG1CQUFtQjtFQUNuQixRQUFRO0VBQ1IsT0FBTztFQUNQLGVBQWUsRUFlbEI7RUFuQkQ7SUFRUSxZQUFZO0lBQ1osZUFBZSxFQUNsQjtFQVZMO0lBYVEsWUFBWSxFQUNmO0VBZEw7SUFpQlEsbUJBQW1CLEVBQ3RCOztBQUVMO0VBQ0ksWUFBWTtFQUNaLGFBQWE7RUFDYixnQkFBZ0I7RUFXaEIsY0FBYyxFQW1CakI7RUNzQkM7SURsRE0sYUFBYSxFQUNoQjtFQU5MO0lBUVEsZUFBZSxFQUNsQjtFQVRMO0lBV1EsY0FBYyxFQUNqQjtFQVpMO0lBaUJRLHFCQUFxQixFQUN4QjtFQWxCTDtJQXFCUSxlQUFlLEVBQ2xCO0VBdEJMO0lBeUJRLG1CQUFtQixFQUN0QjtFQTFCTDtJQTZCUSxlQUFlO0lBQ2YsYUFBYTtJQUNiLDhCQUE4QixFQUNqQzs7QUFFTDtFQUNJLGNBQWMsRUFDakI7O0FFeERELFlBQVk7QUFFWjtFQUVRLHFFQUEyRSxFQUM5RTs7QUFHTCxXQUFXO0FBV1gsWUFBWTtBQUVaOztFQUVJLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsYUFBYTtFQUNiLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQix3QkFBd0I7RUFDeEIsbUJBQW1CO0VBQ25CLFNBQVM7RUFFVCxrQ0FBd0I7RUFDeEIsOEJBQW9CO0VBQ3BCLFdBQVc7RUFDWCxhQUFhO0VBQ2IsY0FBYyxFQXFCakI7RUF0Q0Q7OztJQW1CUSxjQUFjO0lBQ2Qsd0JBQXdCO0lBQ3hCLG1CQUFtQixFQUl0QjtJQXpCTDs7O01BdUJZLFdDbkVjLEVEb0VqQjtFQXhCVDs7SUEyQlEsY0N0RXVCLEVEdUUxQjtFQTVCTDs7SUE4QlEsOEJDcEY0QjtJRHFGNUIsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixhQ3JGaUI7SURzRmpCLGNDL0VvQjtJRGdGcEIsb0NBQW9DO0lBQ3BDLG1DQUFtQyxFQUN0Qzs7QUFHTDtFQUNJLFlBQVksRUFXZjtFRHVFQztJQ2hGTSxXQUFXO0lBQ1gsYUFBYSxFQUNoQjtFQUxMO0lBT1Esd0JDaEc2QixFRG9HaEM7SUQ2RUQ7TUMvRVEseUJDakcwQixFRGtHN0I7O0FBSVQ7RUFDSSxhQUFhLEVBV2hCO0VEbUVDO0lDNUVNLFlBQVk7SUFDWixZQUFZLEVBQ2Y7RUFMTDtJQU9RLHlCQzdHOEIsRURpSGpDO0lEeUVEO01DM0VRLHdCQ2hIeUIsRURpSDVCOztBQUlULFVBQVU7QUFFVjtFQUNJLG9CQUFvQixFQUN2Qjs7QUFFRDtFQUNJLG1CQUFtQjtFQUNuQixjQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIsV0FBVztFQUNYLFVBQVU7RUFDVixZQUFZLEVBaURmO0VBekREO0lBVVEsbUJBQW1CO0lBQ25CLHNCQUFzQjtJQUN0QixhQUFhO0lBQ2IsWUFBWTtJQUNaLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZ0JBQWdCLEVBd0NuQjtJQXhETDtNQWtCWSxVQUFVO01BQ1Ysd0JBQXdCO01BQ3hCLGVBQWU7TUFDZixhQUFhO01BQ2IsWUFBWTtNQUNaLGNBQWM7TUFDZCxpQkFBaUI7TUFDakIsZUFBZTtNQUNmLG1CQUFtQjtNQUNuQixhQUFhO01BQ2IsZ0JBQWdCLEVBdUJuQjtNQW5EVDtRQThCZ0IsY0FBYyxFQUlqQjtRQWxDYjtVQWdDb0IsV0N0Sk0sRUR1SlQ7TUFqQ2pCO1FBb0NnQixtQkFBbUI7UUFDbkIsT0FBTztRQUNQLFFBQVE7UUFDUiwrQkNoSzJCO1FEaUszQixZQUFZO1FBQ1osYUFBYTtRQUNiLDhCQzFLb0I7UUQyS3BCLGdCQ25LSztRRG9LTCxrQkFBa0I7UUFDbEIsbUJBQW1CO1FBQ25CLGFDM0tPO1FENEtQLGNDcEtlO1FEcUtmLG9DQUFvQztRQUNwQyxtQ0FBbUMsRUFDdEM7SUFsRGI7TUFxRFksYUNsTFc7TURtTFgsY0M3S2dCLEVEOEtuQjs7QUU5S1Q7RUFFSSxpQkFBaUIsRUFDbEI7O0FBR0g7RUFDSSxtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQW1DcEIsb0JBQW9CO0VBY3BCLG9CQUFvQixFQUt2QjtFQXpERDtJQU1RLHFCQUFhO0lBQWIsYUFBYSxFQUloQjtJQVZMO01BUVkseUJBQWlCO01BQWpCLGlCQUFpQixFQUNwQjtFQVRUO0lBYVEsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixjQXRDNEIsRUE2Qy9CO0lDekNEO01EbUJKO1FBZ0IwQyxjQXZDTixFQTZDL0IsRUFBQTtJQ3pDRDtNRG1CSjtRQWlCMEMsY0F2Q04sRUE0Qy9CLEVBQUE7SUN6Q0Q7TURtQko7UUFrQnVDLGNBdkNOLEVBMkM1QixFQUFBO0lDekNEO01EbUJKO1FBbUIwQyxjQXZDTixFQTBDL0IsRUFBQTtJQ3pDRDtNRG1CSjtRQW9CMEMsY0F2Q04sRUF5Qy9CLEVBQUE7SUN6Q0Q7TURtQko7UUFxQjBDLGNBdkNOLEVBd0MvQixFQUFBO0VBdEJMO0lBeUJRLFlBQVk7SUFDWixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCxVQUFVO0lBQ1YscUNBQW9CO0lBQXBCLGlDQUFvQixFQU12QjtJQ3ZERDtNRG1CSjtRQWlDVSxZQUFZO1FBQ1osYUFBYSxFQUVsQixFQUFBO0VBcENMOztJQXlDUSxtQkFBbUI7SUFDbkIsV0FBVyxFQUtkO0lBL0NMOztNQTRDWSxnQkFBZ0I7TUFDaEIsWUFBWSxFQUNmO0VBOUNUO0lBZ0RrQixXQUFXLEVBQUk7RUFoRGpDO0lBaURrQixZQUFZLEVBQUk7RUFqRGxDO0lBc0RRLG1CQUFtQjtJQUNuQixVQUFVLEVBQ2I7O0FBTUw7RUFDRSxjQUFjO0VBQ2QsYUFBYSxFQUNkIiwiZmlsZSI6Im1vZHVsZXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRXh0cmEgU21hbGwgQnJlYWtwb2ludCAoTGFyZ2UgTW9iaWxlcylcclxuJHhzLWJyZWFrcG9pbnQtbWluOiAzODBweCAhZGVmYXVsdDtcclxuJHhzLWJyZWFrcG9pbnQtbWF4OiA0NjBweCAhZGVmYXVsdDtcclxuJHhzOiAnKG1pbi13aWR0aDogI3skeHMtYnJlYWtwb2ludC1taW59KScgIWRlZmF1bHQ7XHJcbiR4cy1taW46ICcobWluLXdpZHRoOiAjeyR4cy1icmVha3BvaW50LW1pbn0pJyAhZGVmYXVsdDtcclxuJHhzLW1heDogJyhtYXgtd2lkdGg6ICN7JHhzLWJyZWFrcG9pbnQtbWF4fSknICFkZWZhdWx0O1xyXG5cclxuLy8gU21hbGwgQnJlYWtwb2ludCAoU21hbGwgVGFibGV0cylcclxuJHNtLWJyZWFrcG9pbnQtbWluOiA0NjFweCAhZGVmYXVsdDtcclxuJHNtLWJyZWFrcG9pbnQtbWF4OiA3NjhweCAhZGVmYXVsdDtcclxuJHNtOiAnKG1pbi13aWR0aDogI3skc20tYnJlYWtwb2ludC1taW59KScgIWRlZmF1bHQ7XHJcbiRzbS1taW46ICcobWluLXdpZHRoOiAjeyRzbS1icmVha3BvaW50LW1pbn0pJyAhZGVmYXVsdDtcclxuJHNtLW1heDogJyhtYXgtd2lkdGg6ICN7JHNtLWJyZWFrcG9pbnQtbWF4fSknO1xyXG5cclxuLy8gTWVkaXVtIEJyZWFrcG9pbnQgKEdlbmVyYWwgVGFibGV0cylcclxuJG1kLWJyZWFrcG9pbnQtbWluOiA3NjlweCAhZGVmYXVsdDtcclxuJG1kLWJyZWFrcG9pbnQtbWF4OiAxMDI0cHggIWRlZmF1bHQ7XHJcbiRtZDogJyhtaW4td2lkdGg6ICN7JG1kLWJyZWFrcG9pbnQtbWlufSknICFkZWZhdWx0O1xyXG4kbWQtbWluOiAnKG1pbi13aWR0aDogI3skbWQtYnJlYWtwb2ludC1taW59KScgIWRlZmF1bHQ7XHJcbiRtZC1tYXg6ICcobWF4LXdpZHRoOiAjeyRtZC1icmVha3BvaW50LW1heH0pJyAhZGVmYXVsdDtcclxuXHJcbi8vIExhcmdlIEJyZWFrcG9pbnQgKExhcHRvcHMpXHJcbiRsZy1icmVha3BvaW50LW1pbjogMTAyNXB4ICFkZWZhdWx0O1xyXG4kbGctYnJlYWtwb2ludC1tYXg6IDEzNjZweCAhZGVmYXVsdDtcclxuJGxnOiAnKG1pbi13aWR0aDogI3skbGctYnJlYWtwb2ludC1taW59KScgIWRlZmF1bHQ7XHJcbiRsZy1taW46ICcobWluLXdpZHRoOiAjeyRsZy1icmVha3BvaW50LW1pbn0pJyAhZGVmYXVsdDtcclxuJGxnLW1heDogJyhtYXgtd2lkdGg6ICN7JGxnLWJyZWFrcG9pbnQtbWF4fSknICFkZWZhdWx0O1xyXG5cclxuLy8gRXh0cmEgTGFyZ2UgQnJlYWtwb2ludCAoTWVkaXVtIERlbnNpdHkgRGVza3RvcHMpXHJcbiR4bC1icmVha3BvaW50LW1pbjogMTM2N3B4ICFkZWZhdWx0O1xyXG4keGwtYnJlYWtwb2ludC1tYXg6IDE2MDBweCAhZGVmYXVsdDtcclxuJHhsOiAnKG1pbi13aWR0aDogI3skeGwtYnJlYWtwb2ludC1taW59KScgIWRlZmF1bHQ7XHJcbiR4bC1taW46ICcobWluLXdpZHRoOiAjeyR4bC1icmVha3BvaW50LW1pbn0pJyAhZGVmYXVsdDtcclxuJHhsLW1heDogJyhtYXgtd2lkdGg6ICN7JHhsLWJyZWFrcG9pbnQtbWF4fSknICFkZWZhdWx0O1xyXG5cclxuXHJcbi8qKlxyXG4qIERldmljZSBTcGVjaWZpYyBCcmVha3BvaW50c1xyXG4qXHJcbiogQFRPRE8gRm9ybWF0IGludG8gZ3JvdXBzIGFzIGFib3ZlIHdpdGggbWluL21heCBicmVha3BvaW50c1xyXG4qL1xyXG5cclxuJG1vYmlsZS1zbS1icmVha3BvaW50LW1pbjogMzc1cHg7XHJcbiRtb2JpbGUtbGctYnJlYWtwb2ludC1taW46IDQxM3B4O1xyXG4kdGFibGV0LWJyZWFrcG9pbnQtbWluOiA3NjdweDtcclxuJGxhcHRvcC1zbS1icmVha3BvaW50LW1pbjogMTI4MHB4O1xyXG4kbGFwdG9wLWxnLWJyZWFrcG9pbnQtbWluOiAxNDQwcHg7XHJcbiRoZC1zY3JlZW4tYnJlYWtwb2ludC1taW46IDE5MjBweDtcclxuJHJldGluYS1zY3JlZW4tYnJlYWtwb2ludC1taW46IDI1NjBweDtcclxuJHVoZC1zY3JlZW4tYnJlYWtwb2ludC1taW46IDM4NDBweDtcclxuXHJcbiRtb2JpbGUtc206ICcobWluLXdpZHRoOiAjeyRtb2JpbGUtc20tYnJlYWtwb2ludC1taW59KSc7XHJcbiRtb2JpbGUtbGc6ICcobWluLXdpZHRoOiAjeyRtb2JpbGUtbGctYnJlYWtwb2ludC1taW59KSc7XHJcbiR0YWJsZXQ6ICcobWluLXdpZHRoOiAjeyR0YWJsZXQtYnJlYWtwb2ludC1taW59KSc7XHJcbiRsYXB0b3Atc206ICcobWluLXdpZHRoOiAjeyRsYXB0b3Atc20tYnJlYWtwb2ludC1taW59KSc7XHJcbiRsYXB0b3AtbGc6ICcobWluLXdpZHRoOiAjeyRsYXB0b3AtbGctYnJlYWtwb2ludC1taW59KSc7XHJcbiRoZC1zY3JlZW46ICcobWluLXdpZHRoOiAjeyRoZC1zY3JlZW4tYnJlYWtwb2ludC1taW59KSc7XHJcbiRyZXRpbmEtc2NyZWVuOiAnKG1pbi13aWR0aDogI3skcmV0aW5hLXNjcmVlbi1icmVha3BvaW50LW1pbn0pJztcclxuJHVoZC1zY3JlZW46ICcobWluLXdpZHRoOiAjeyR1aGQtc2NyZWVuLWJyZWFrcG9pbnQtbWlufSknO1xyXG4iLCIvKipcclxuKiBEZWZhdWx0IEJ1dHRvbiBWYXJpYWJsZXNcclxuKiBAYXV0aG9yIFNhbSBUaG9tcHNvbiA8c2FtdEBwYW5tZWRpYS5jby5uej5cclxuKi9cclxuXHJcblxyXG4vKipcclxuKiBCdXR0b24gU2l6ZSBWYXJpZW50c1xyXG4qL1xyXG4keHMtYnRuLWhlaWdodDogNXB4ICFkZWZhdWx0O1xyXG4keHMtYnRuLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcclxuJHhzLWJ0bi10ZXh0LXNpemU6IDEycHggIWRlZmF1bHQ7XHJcbiR4cy1idG4tbGluZS1oZWlnaHQ6IDEycHggIWRlZmF1bHQ7XHJcblxyXG4kc20tYnRuLWhlaWdodDogNXB4ICFkZWZhdWx0O1xyXG4kc20tYnRuLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcclxuJHNtLWJ0bi10ZXh0LXNpemU6IDEycHggIWRlZmF1bHQ7XHJcbiRzbS1idG4tbGluZS1oZWlnaHQ6IDEycHggIWRlZmF1bHQ7XHJcblxyXG4kbWQtYnRuLWhlaWdodDogNXB4ICFkZWZhdWx0O1xyXG4kbWQtYnRuLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcclxuJG1kLWJ0bi10ZXh0LXNpemU6IDEycHggIWRlZmF1bHQ7XHJcbiRtZC1idG4tbGluZS1oZWlnaHQ6IDEycHggIWRlZmF1bHQ7XHJcblxyXG4kbGctYnRuLWhlaWdodDogNXB4ICFkZWZhdWx0O1xyXG4kbGctYnRuLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcclxuJGxnLWJ0bi10ZXh0LXNpemU6IDEycHggIWRlZmF1bHQ7XHJcbiRsZy1idG4tbGluZS1oZWlnaHQ6IDEycHggIWRlZmF1bHQ7XHJcblxyXG5cclxuXHJcbi8qKlxyXG4qIEJ1dHRvbiBUaGVtZSBWYXJpZW50c1xyXG4qL1xyXG5cclxuLy8gV2hpdGUgTGFiZWwgKGRlZmF1bHQpXHJcbiRkZi1idG4tc2l6ZTogJ21kJyAhZGVmYXVsdDtcclxuJGRmLWJ0bi1maWxsLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xyXG4kZGYtYnRuLWZpbGwtY29sb3ItaG92ZXI6ICNmNWY1ZjUgIWRlZmF1bHQ7XHJcbiRkZi1idG4tZmlsbC1ncmFkaWVudDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRkZi1idG4tZmlsbC1ncmFkaWVudC1ob3ZlcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRkZi1idG4tYm9yZGVyLXdpZHRoOiAkZm9ybS1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XHJcbiRkZi1idG4tYm9yZGVyLXN0eWxlOiAkZm9ybS1ib3JkZXItc3R5bGUgIWRlZmF1bHQ7XHJcbiRkZi1idG4tYm9yZGVyLWNvbG9yOiAkZm9ybS1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRkZi1idG4tYm9yZGVyLWNvbG9yLWhvdmVyOiAkZm9ybS1ib3JkZXItY29sb3ItaG92ZXIgIWRlZmF1bHQ7XHJcbiRkZi1idG4tYm9yZGVyLXJhZGl1czogJGZvcm0tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuJGRmLWJ0bi1zaGFkb3c6IGZhbHNlICFkZWZhdWx0O1xyXG4kZGYtYnRuLXNoYWRvdy1ob3ZlcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRkZi1idG4tdGV4dC1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcclxuJGRmLWJ0bi10ZXh0LWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XHJcbiRkZi1idG4tdHJhbnNpdGlvbjogJGZvcm0tdHJhbnNpdGlvbiAhZGVmYXVsdDtcclxuXHJcbi8vIERhcmtcclxuJGRhcmstYnRuLWZpbGwtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XHJcbiRkYXJrLWJ0bi1maWxsLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XHJcbiRkYXJrLWJ0bi1maWxsLWdyYWRpZW50OiBmYWxzZSAhZGVmYXVsdDtcclxuJGRhcmstYnRuLWZpbGwtZ3JhZGllbnQtaG92ZXI6IGZhbHNlICFkZWZhdWx0O1xyXG4kZGFyay1idG4tYm9yZGVyLWNvbG9yOiAkZGFyay1idG4tZmlsbC1jb2xvciAhZGVmYXVsdDtcclxuJGRhcmstYnRuLWJvcmRlci1jb2xvci1ob3ZlcjogJGRhcmstYnRuLWZpbGwtY29sb3ItaG92ZXIgIWRlZmF1bHQ7XHJcbiRkYXJrLWJ0bi1zaGFkb3c6IGZhbHNlICFkZWZhdWx0O1xyXG4kZGFyay1idG4tc2hhZG93LWhvdmVyOiBmYWxzZSAhZGVmYXVsdDtcclxuJGRhcmstYnRuLXRleHQtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XHJcbiRkYXJrLWJ0bi10ZXh0LWNvbG9yLWhvdmVyOiAjZmZmICFkZWZhdWx0O1xyXG5cclxuLy8gUHJpbWFyeSAoc3VibWl0KVxyXG4kcHJpbWFyeS1idG4tZmlsbC1jb2xvcjogJHRoZW1lICFkZWZhdWx0O1xyXG4kcHJpbWFyeS1idG4tZmlsbC1jb2xvci1ob3ZlcjogbGlnaHRlbigkdGhlbWUsIDQlKSAhZGVmYXVsdDtcclxuJHByaW1hcnktYnRuLWZpbGwtZ3JhZGllbnQ6IGZhbHNlICFkZWZhdWx0O1xyXG4kcHJpbWFyeS1idG4tZmlsbC1ncmFkaWVudC1ob3ZlcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRwcmltYXJ5LWJ0bi1ib3JkZXItY29sb3I6ICRwcmltYXJ5LWJ0bi1maWxsLWNvbG9yICFkZWZhdWx0O1xyXG4kcHJpbWFyeS1idG4tYm9yZGVyLWNvbG9yLWhvdmVyOiAkcHJpbWFyeS1idG4tZmlsbC1jb2xvci1ob3ZlciAhZGVmYXVsdDtcclxuJHByaW1hcnktYnRuLXNoYWRvdzogZmFsc2UgIWRlZmF1bHQ7XHJcbiRwcmltYXJ5LWJ0bi1zaGFkb3ctaG92ZXI6IGZhbHNlICFkZWZhdWx0O1xyXG4kcHJpbWFyeS1idG4tdGV4dC1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcclxuJHByaW1hcnktYnRuLXRleHQtY29sb3ItaG92ZXI6IGZhbHNlICFkZWZhdWx0O1xyXG4iLCJAbWl4aW4gY2xlYXJmaXgge1xyXG4gICAgJjpiZWZvcmUsXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplOiBmYWxzZSkge1xyXG4gIEBpZiAoJHNpemUpIHtcclxuICAgICAgZm9udC1zaXplOiAoJHNpemUgKiAxMCkgKyBweDtcclxuICAgICAgZm9udC1zaXplOiAkc2l6ZSArIHJlbTtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGVycm9yIFwiU2l6ZSBub3QgZ2l2ZW4gdG8gZm9udC1zaXplKCkgbWl4aW5cIjtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuKiBQb3NpdG9uIEhlbHBlciBNaXhpblxyXG4qIEVuYWJsZXMgd3JpdGluZyBwb3NpdGlvbiBzdHlsZXMgb24gb25lIGxpbmVcclxuKi9cclxuXHJcbkBtaXhpbiBwb3NpdGlvbihcclxuICAgICRtZXRob2Q6IGZhbHNlLFxyXG4gICAgJHRvcDogZmFsc2UsXHJcbiAgICAkcmlnaHQ6IGZsYXNlLFxyXG4gICAgJGJvdHRvbTogZmFsc2UsXHJcbiAgICAkbGVmdDogZmFsc2VcclxuKSB7XHJcbiAgICBAaWYgJG1ldGhvZCB7IHBvc2l0aW9uOiAkbWV0aG9kOyB9XHJcbiAgICBAaWYgJHRvcCB7IHRvcDogJHRvcDsgfVxyXG4gICAgQGlmICRyaWdodCB7IHJpZ2h0OiAkcmlnaHQ7IH1cclxuICAgIEBpZiAkYm90dG9tIHsgYm90dG9tOiAkYm90dG9tOyB9XHJcbiAgICBAaWYgJHJpZ2h0IHsgcmlnaHQ6ICRyaWdodDsgfVxyXG59XHJcbkBtaXhpbiBwb3MoXHJcbiAgICAkbWV0aG9kOiBmYWxzZSxcclxuICAgICR0b3A6IGZhbHNlLFxyXG4gICAgJHJpZ2h0OiBmbGFzZSxcclxuICAgICRib3R0b206IGZhbHNlLFxyXG4gICAgJGxlZnQ6IGZhbHNlXHJcbikge1xyXG4gICAgQGlmICRtZXRob2QgeyBwb3NpdGlvbjogJG1ldGhvZDsgfVxyXG4gICAgQGlmICR0b3AgeyB0b3A6ICR0b3A7IH1cclxuICAgIEBpZiAkcmlnaHQgeyByaWdodDogJHJpZ2h0OyB9XHJcbiAgICBAaWYgJGJvdHRvbSB7IGJvdHRvbTogJGJvdHRvbTsgfVxyXG4gICAgQGlmICRyaWdodCB7IHJpZ2h0OiAkcmlnaHQ7IH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4qIEJvcmRlciBTdHlsZSBNaXhpblxyXG4qIFNtYXJ0bHkgZ2VuZXJhdGVzIGJvcmRlciBzdHlsZXNcclxuKiBAVE9ETyAxLiBjaGVjayBpZiB3aWR0aCBwcm9wIGlzIG1vcmUgdGhhbiBvbiBtZWFzdXJtZW50LCBpZiBub3QsIHVzZSBzaG9ydGhhbmQgc3ludGF4XHJcbiovXHJcblxyXG5AbWl4aW4gYm9yZGVyKFxyXG4gICAgJGJvcmRlci13aWR0aDogZmFsc2UsXHJcbiAgICAkYm9yZGVyLXN0eWxlOiBmYWxzZSxcclxuICAgICRib3JkZXItY29sb3I6IGZhbHNlLFxyXG4gICAgJGJvcmRlci1yYWRpdXM6IGZhbHNlXHJcbikge1xyXG4gICAgQGlmICgkYm9yZGVyLXdpZHRoKSB7IGJvcmRlci13aWR0aDogJGJvcmRlci13aWR0aDsgfVxyXG4gICAgQGlmICgkYm9yZGVyLXN0eWxlKSB7IGJvcmRlci1zdHlsZTogJGJvcmRlci1zdHlsZTsgfVxyXG4gICAgQGlmICgkYm9yZGVyLWNvbG9yKSB7IGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjsgfVxyXG4gICAgQGlmICgkYm9yZGVyLXJhZGl1cykgeyBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1czsgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGhpZGUoJG1ldGhvZDogZmFsc2UpIHtcclxuICAgIEBpZiAoJG1ldGhvZCA9PSBcInVzZS1kaXNwbGF5XCIpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIEBlbHNlaWYgKCRtZXRob2QgPT0gXCJ1c2Utb3BhY2l0eVwiKSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIH1cclxuICAgIEBlbHNlaWYgKG5vdCgkbWV0aG9kKSkge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XHJcbiAgICAgICAgaGVpZ2h0OiAxcHg7IHdpZHRoOiAxcHg7XHJcbiAgICAgICAgbWFyZ2luOiAtMXB4OyBwYWRkaW5nOiAwOyBib3JkZXI6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuKiBGb3JtIFNpemUgTWl4aW5cclxuKiBOb3JtYWxpc2VzIGZvcm0gZWxlbWVudCAoYnV0dG9ucyAmIGlucHV0cykgc2l6ZXMgYmFzZWQgb24gY2xhc3MgbmFtZXMgKHhzLCBzbSwgZXRjKVxyXG4qIEBUT0RPIDEuIHdyYXAgdGhlIHNpemluZyBpbiBhIGNsYXNzIHByb3ZpZGVkIHRvIHRoZSBtaXhpbiBmb3IgYm90aCBidXR0b25zIGFuZCBpbnB1dHMsXHJcbiogICAgICAgMi4gc21hcnRseSBjYWxjdWxhdGUgdGhlIGxpbmUtaGVpZ2h0IGFuZCBwYWRkaW5nIChvciBiYXNlIGhlaWdodCBvZiBwYWRkaW5nKVxyXG4qICAgICAgIDMuIHZhcmlhYmxpc2UgdGhlIGRlZmF1bHQgc2l6ZXMgYW5kIGNhbGwgbGlrZSBuZXdGb3JtU2l6ZSgnY2xhc3NuYW1lJywgcGFyYW0xLCAuLi4pO1xyXG4qL1xyXG5AbWl4aW4gZm9ybVNpemUoXHJcbiAgICAkc2l6ZTogZmFsc2UsXHJcbiAgICAkaGVpZ2h0OiBmYWxzZSxcclxuICAgICRwYWRkaW5nOiBmYWxzZSxcclxuICAgICR0ZXh0LXNpemU6IGZhbHNlLFxyXG4gICAgJGxpbmUtaGVpZ2h0OiBmYWxzZVxyXG4pIHtcclxuXHJcbiAgICBAaWYgJHNpemUgPT0gJ25vbmUnIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuICAgIEBpZiAkc2l6ZSA9PSAneHMnIHtcclxuICAgICAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcclxuICAgICAgICAmLmljb24tb25seSB7IHBhZGRpbmc6IDAgNXB4OyB9XHJcbiAgICB9XHJcbiAgICBAaWYgJHNpemUgPT0gJ3NtJyB7XHJcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTJweDtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgJi5pY29uLW9ubHkgeyBwYWRkaW5nOiAwIDZweDsgfVxyXG4gICAgfVxyXG4gICAgQGlmICRzaXplID09ICdtZCcgb3IgJHNpemUgPT0gJ2RlZmF1bHQnIHtcclxuICAgICAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAxNnB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcclxuICAgICAgICAmLmljb24tb25seSB7IHBhZGRpbmc6IDAgOHB4OyB9XHJcbiAgICB9XHJcbiAgICBAaWYgJHNpemUgPT0gJ2xnJyB7XHJcbiAgICAgICAgaGVpZ2h0OiAzOHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTZweDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgJi5pY29uLW9ubHkgeyBwYWRkaW5nOiAwIDhweDsgfVxyXG4gICAgfVxyXG4gICAgQGlmIG5vdCAkc2l6ZSBvciAkc2l6ZSA9PSAnbm9uZScge1xyXG4gICAgICAgIEBpZiAkaGVpZ2h0IHsgaGVpZ2h0OiAkaGVpZ2h0OyB9XHJcbiAgICAgICAgQGlmICRwYWRkaW5nIHsgcGFkZGluZzogMCAkcGFkZGluZzsgfVxyXG4gICAgICAgIEBpZiAkdGV4dC1zaXplIHsgZm9udC1zaXplOiAkZm9udC1zaXplOyB9XHJcbiAgICAgICAgQGlmICRsaW5lLWhlaWdodCB7IGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7IH1cclxuICAgIH1cclxufVxyXG4iLCIvKipcclxuKiBCdXR0b24gRmFjdG9yeSBNaXhpblxyXG4qIEBhdXRob3IgU2FtIFRob21wc29uIDxzYW10QHBhbm1lZGlhLmNvLm56PlxyXG4qIEBUT0RPIHdyYXAgc3R5bGVzIGluIGEgY3VzdG9tIGJ1dHRvbiBjbGFzcyBwYXNzZWQgdG8gdGhlIG1peGluIGluIGEgdmFyIGxpa2UgJyRuYW1lJ1xyXG4qL1xyXG5cclxuQG1peGluIGJ1dHRvbihcclxuICAgIC8vIHNpemVcclxuICAgICRzaXplOiBmYWxzZSxcclxuICAgICRoZWlnaHQ6IGZhbHNlLFxyXG4gICAgJHBhZGRpbmc6IGZhbHNlLFxyXG4gICAgJHRleHQtc2l6ZTogZmFsc2UsXHJcbiAgICAkbGluZS1oZWlnaHQ6IGZhbHNlLFxyXG4gICAgLy8gZGVmYXVsdFxyXG4gICAgJGZpbGwtY29sb3I6IGZhbHNlLFxyXG4gICAgJGZpbGwtZ3JhZGllbnQ6IGZhbHNlLFxyXG4gICAgJGJvcmRlci1jb2xvcjogZmFsc2UsXHJcbiAgICAkYm9yZGVyLXdpZHRoOiBmYWxzZSxcclxuICAgICRib3JkZXItc3R5bGU6IGZhbHNlLFxyXG4gICAgJGJvcmRlci1yYWRpdXM6IGZhbHNlLFxyXG4gICAgJHNoYWRvdzogZmFsc2UsXHJcbiAgICAkdGV4dC1jb2xvcjogZmFsc2UsXHJcbiAgICAkdHJhbnNpdGlvbjogZmFsc2UsXHJcbiAgICAvLyBob3ZlclxyXG4gICAgJGZpbGwtY29sb3ItaG92ZXI6IGZhbHNlLFxyXG4gICAgJGZpbGwtZ3JhZGllbnQtaG92ZXI6IGZhbHNlLFxyXG4gICAgJGJvcmRlci1jb2xvci1ob3ZlcjogZmFsc2UsXHJcbiAgICAkc2hhZG93LWhvdmVyOiBmYWxzZSxcclxuICAgICR0ZXh0LWNvbG9yLWhvdmVyOiBmYWxzZVxyXG4pIHtcclxuICAgIEBpbmNsdWRlIGZvcm1TaXplKFxyXG4gICAgICAgICRzaXplOiAkc2l6ZSxcclxuICAgICAgICAkaGVpZ2h0OiAkaGVpZ2h0LFxyXG4gICAgICAgICRwYWRkaW5nOiAkcGFkZGluZyxcclxuICAgICAgICAkdGV4dC1zaXplOiAkdGV4dC1zaXplLFxyXG4gICAgICAgICRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0XHJcbiAgICApO1xyXG4gICAgQGlmICRmaWxsLWNvbG9yIHsgYmFja2dyb3VuZC1jb2xvcjogJGZpbGwtY29sb3I7IH1cclxuICAgIEBpZiAkZmlsbC1ncmFkaWVudCB7IGJhY2tncm91bmQ6ICRmaWxsLWdyYWRpZW50OyB9XHJcbiAgICBAaW5jbHVkZSBib3JkZXIoJGJvcmRlci13aWR0aCwgJGJvcmRlci1zdHlsZSwgJGJvcmRlci1jb2xvciwgJGJvcmRlci1yYWRpdXMpO1xyXG4gICAgQGlmICRzaGFkb3cgeyBib3gtc2hhZG93OiAkc2hhZG93OyB9XHJcbiAgICBAaWYgJHRleHQtY29sb3IgeyBjb2xvcjogJHRleHQtY29sb3I7IH1cclxuICAgIEBpZiAkdHJhbnNpdGlvbiB7IHRyYW5zaXRpb246ICR0cmFuc2l0aW9uOyB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgQGlmICRmaWxsLWNvbG9yLWhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogJGZpbGwtY29sb3ItaG92ZXI7IH1cclxuICAgICAgICBAaWYgJGZpbGwtZ3JhZGllbnQtaG92ZXIgeyBiYWNrZ3JvdW5kOiAkZmlsbC1ncmFkaWVudC1ob3ZlcjsgfVxyXG4gICAgICAgIEBpZiAkYm9yZGVyLWNvbG9yIHsgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yLWhvdmVyOyB9XHJcbiAgICAgICAgQGlmICRzaGFkb3ctaG92ZXIgeyBib3gtc2hhZG93OiAkc2hhZG93LWhvdmVyOyB9XHJcbiAgICAgICAgQGlmICR0ZXh0LWNvbG9yLWhvdmVyIHsgY29sb3I6ICR0ZXh0LWNvbG9yLWhvdmVyOyB9XHJcbiAgICB9XHJcbn1cclxuIiwiLyoqXHJcbiogRm9ybSBJbnB1dCBGYWN0b3J5IE1peGluXHJcbiogQGF1dGhvciBTYW0gVGhvbXBzb24gPHNhbXRAcGFubWVkaWEuY28ubno+XHJcbiovXHJcblxyXG5AbWl4aW4gdGV4dC1pbnB1dChcclxuICAgIC8vIHNpemVcclxuICAgICRzaXplOiBmYWxzZSxcclxuICAgICRoZWlnaHQ6IGZhbHNlLFxyXG4gICAgJHBhZGRpbmc6IGZhbHNlLFxyXG4gICAgJHRleHQtc2l6ZTogZmFsc2UsXHJcbiAgICAkbGluZS1oZWlnaHQ6IGZhbHNlLFxyXG4gICAgLy8gZGVmYXVsdFxyXG4gICAgJGZpbGwtY29sb3I6IGZhbHNlLFxyXG4gICAgJGZpbGwtZ3JhZGllbnQ6IGZhbHNlLFxyXG4gICAgJGJvcmRlci1jb2xvcjogZmFsc2UsXHJcbiAgICAkYm9yZGVyLXdpZHRoOiBmYWxzZSxcclxuICAgICRib3JkZXItc3R5bGU6IGZhbHNlLFxyXG4gICAgJGJvcmRlci1yYWRpdXM6IGZhbHNlLFxyXG4gICAgJHNoYWRvdzogZmFsc2UsXHJcbiAgICAkdGV4dC1jb2xvcjogZmFsc2UsXHJcbiAgICAkcGxhY2Vob2xkZXItY29sb3I6IGZhbHNlLFxyXG4gICAgJHRyYW5zaXRpb246IGZhbHNlLFxyXG4gICAgLy8gaG92ZXJcclxuICAgICRmaWxsLWNvbG9yLWhvdmVyOiBmYWxzZSxcclxuICAgICRmaWxsLWdyYWRpZW50LWhvdmVyOiBmYWxzZSxcclxuICAgICRib3JkZXItY29sb3ItaG92ZXI6IGZhbHNlLFxyXG4gICAgJHNoYWRvdy1ob3ZlcjogZmFsc2UsXHJcbiAgICAkdGV4dC1jb2xvci1ob3ZlcjogZmFsc2UsXHJcbiAgICAvLyBmb2N1c1xyXG4gICAgJGZpbGwtY29sb3ItZm9jdXM6IGZhbHNlLFxyXG4gICAgJGZpbGwtZ3JhZGllbnQtZm9jdXM6IGZhbHNlLFxyXG4gICAgJGJvcmRlci1jb2xvci1mb2N1czogZmFsc2UsXHJcbiAgICAkc2hhZG93LWZvY3VzOiBmYWxzZSxcclxuICAgICR0ZXh0LWNvbG9yLWZvY3VzOiBmYWxzZVxyXG4pIHtcclxuXHJcbiAgICBAaW5jbHVkZSBmb3JtU2l6ZShcclxuICAgICAgICAkc2l6ZTogJHNpemUsXHJcbiAgICAgICAgJGhlaWdodDogJGhlaWdodCxcclxuICAgICAgICAkcGFkZGluZzogJHBhZGRpbmcsXHJcbiAgICAgICAgJHRleHQtc2l6ZTogJHRleHQtc2l6ZSxcclxuICAgICAgICAkbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodFxyXG4gICAgKTtcclxuXHJcbiAgICBAaWYgJGZpbGwtY29sb3IgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZmlsbC1jb2xvcjsgfVxyXG4gICAgQGlmICRmaWxsLWdyYWRpZW50IHsgYmFja2dyb3VuZDogJGZpbGwtZ3JhZGllbnQ7IH1cclxuICAgIEBpbmNsdWRlIGJvcmRlcigkYm9yZGVyLXdpZHRoLCAkYm9yZGVyLXN0eWxlLCAkYm9yZGVyLWNvbG9yLCAkYm9yZGVyLXJhZGl1cyk7XHJcbiAgICBAaWYgJHNoYWRvdyB7IGJveC1zaGFkb3c6ICRzaGFkb3c7IH1cclxuICAgIEBpZiAkdGV4dC1jb2xvciB7IGNvbG9yOiAkdGV4dC1jb2xvcjsgfVxyXG4gICAgQGlmICR0cmFuc2l0aW9uIHsgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247IH1cclxuICAgIEBpZiAkcGxhY2Vob2xkZXItY29sb3IgeyBjb2xvcjogJHRleHQtY29sb3I7IH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBAaWYgJGZpbGwtY29sb3ItaG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZmlsbC1jb2xvci1ob3ZlcjsgfVxyXG4gICAgICAgIEBpZiAkZmlsbC1ncmFkaWVudC1ob3ZlciB7IGJhY2tncm91bmQ6ICRmaWxsLWdyYWRpZW50LWhvdmVyOyB9XHJcbiAgICAgICAgQGlmICRib3JkZXItY29sb3ItaG92ZXIgeyBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3ItaG92ZXI7IH1cclxuICAgICAgICBAaWYgJHNoYWRvdy1ob3ZlciB7IGJveC1zaGFkb3c6ICRzaGFkb3ctaG92ZXI7IH1cclxuICAgICAgICBAaWYgJHRleHQtY29sb3ItaG92ZXIgeyBjb2xvcjogJHRleHQtY29sb3ItaG92ZXI7IH1cclxuICAgIH1cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIEBpZiAkZmlsbC1jb2xvci1mb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICRmaWxsLWNvbG9yLWZvY3VzOyB9XHJcbiAgICAgICAgQGlmICRmaWxsLWdyYWRpZW50LWZvY3VzIHsgYmFja2dyb3VuZDogJGZpbGwtZ3JhZGllbnQtZm9jdXM7IH1cclxuICAgICAgICBAaWYgJGJvcmRlci1jb2xvci1mb2N1cyB7IGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvci1mb2N1czsgfVxyXG4gICAgICAgIEBpZiAkc2hhZG93LWZvY3VzIHsgYm94LXNoYWRvdzogJHNoYWRvdy1mb2N1czsgfVxyXG4gICAgICAgIEBpZiAkdGV4dC1jb2xvci1mb2N1cyB7IGNvbG9yOiAkdGV4dC1jb2xvci1mb2N1czsgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8vIEBmb250LWZhY2Uge1xuLy8gICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbi8vICAgZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gICBmb250LXdlaWdodDogNDAwO1xuLy8gICBzcmM6IHVybCgnL3N0ZGxpYi9NYXRlcmlhbEljb25zLVJlZ3VsYXIuZW90Jyk7IC8qIEZvciBJRTYtOCAqL1xuLy8gICBzcmM6IGxvY2FsKCdNYXRlcmlhbCBJY29ucycpLFxuLy8gICAgICAgIGxvY2FsKCdNYXRlcmlhbEljb25zLVJlZ3VsYXInKSxcbi8vICAgICAgICB1cmwoJy9zdGRsaWIvTWF0ZXJpYWxJY29ucy1SZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuLy8gICAgICAgIHVybCgnL3N0ZGxpYi9NYXRlcmlhbEljb25zLVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLFxuLy8gICAgICAgIHVybCgnL3N0ZGxpYi9NYXRlcmlhbEljb25zLVJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuLy8gfVxuXG4ueG1vZC1pY29uIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDI0cHg7ICAvKiBQcmVmZXJyZWQgaWNvbiBzaXplICovXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG5cbiAgICAvKiBTdXBwb3J0IGZvciBhbGwgV2ViS2l0IGJyb3dzZXJzLiAqL1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC8qIFN1cHBvcnQgZm9yIFNhZmFyaSBhbmQgQ2hyb21lLiAqL1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG5cbiAgICAvKiBTdXBwb3J0IGZvciBGaXJlZm94LiAqL1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbiAgICAvKiBTdXBwb3J0IGZvciBJRS4gKi9cbiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbn1cblxuLy8gUGFudGhlciBJY29uXG4leG1vZC1pY29uLFxuJXhtb2QtaWNvbjpiZWZvcmUsXG4leG1vZC1pY29uOmFmdGVyIHtcbiAgICBAZXh0ZW5kIC54bW9kLWljb247XG59XG4iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qKlxyXG4qIERldmljZSBTcGVjaWZpYyBCcmVha3BvaW50c1xyXG4qXHJcbiogQFRPRE8gRm9ybWF0IGludG8gZ3JvdXBzIGFzIGFib3ZlIHdpdGggbWluL21heCBicmVha3BvaW50c1xyXG4qL1xuLyoqXHJcbiogRGVmYXVsdCBCdXR0b24gVmFyaWFibGVzXHJcbiogQGF1dGhvciBTYW0gVGhvbXBzb24gPHNhbXRAcGFubWVkaWEuY28ubno+XHJcbiovXG4vKipcclxuKiBCdXR0b24gU2l6ZSBWYXJpZW50c1xyXG4qL1xuLyoqXHJcbiogQnV0dG9uIFRoZW1lIFZhcmllbnRzXHJcbiovXG4vKipcclxuKiBQb3NpdG9uIEhlbHBlciBNaXhpblxyXG4qIEVuYWJsZXMgd3JpdGluZyBwb3NpdGlvbiBzdHlsZXMgb24gb25lIGxpbmVcclxuKi9cbi8qKlxyXG4qIEJvcmRlciBTdHlsZSBNaXhpblxyXG4qIFNtYXJ0bHkgZ2VuZXJhdGVzIGJvcmRlciBzdHlsZXNcclxuKiBAVE9ETyAxLiBjaGVjayBpZiB3aWR0aCBwcm9wIGlzIG1vcmUgdGhhbiBvbiBtZWFzdXJtZW50LCBpZiBub3QsIHVzZSBzaG9ydGhhbmQgc3ludGF4XHJcbiovXG4vKipcclxuKiBGb3JtIFNpemUgTWl4aW5cclxuKiBOb3JtYWxpc2VzIGZvcm0gZWxlbWVudCAoYnV0dG9ucyAmIGlucHV0cykgc2l6ZXMgYmFzZWQgb24gY2xhc3MgbmFtZXMgKHhzLCBzbSwgZXRjKVxyXG4qIEBUT0RPIDEuIHdyYXAgdGhlIHNpemluZyBpbiBhIGNsYXNzIHByb3ZpZGVkIHRvIHRoZSBtaXhpbiBmb3IgYm90aCBidXR0b25zIGFuZCBpbnB1dHMsXHJcbiogICAgICAgMi4gc21hcnRseSBjYWxjdWxhdGUgdGhlIGxpbmUtaGVpZ2h0IGFuZCBwYWRkaW5nIChvciBiYXNlIGhlaWdodCBvZiBwYWRkaW5nKVxyXG4qICAgICAgIDMuIHZhcmlhYmxpc2UgdGhlIGRlZmF1bHQgc2l6ZXMgYW5kIGNhbGwgbGlrZSBuZXdGb3JtU2l6ZSgnY2xhc3NuYW1lJywgcGFyYW0xLCAuLi4pO1xyXG4qL1xuLyoqXHJcbiogQnV0dG9uIEZhY3RvcnkgTWl4aW5cclxuKiBAYXV0aG9yIFNhbSBUaG9tcHNvbiA8c2FtdEBwYW5tZWRpYS5jby5uej5cclxuKiBAVE9ETyB3cmFwIHN0eWxlcyBpbiBhIGN1c3RvbSBidXR0b24gY2xhc3MgcGFzc2VkIHRvIHRoZSBtaXhpbiBpbiBhIHZhciBsaWtlICckbmFtZSdcclxuKi9cbi8qKlxyXG4qIEZvcm0gSW5wdXQgRmFjdG9yeSBNaXhpblxyXG4qIEBhdXRob3IgU2FtIFRob21wc29uIDxzYW10QHBhbm1lZGlhLmNvLm56PlxyXG4qL1xuLnhtb2QtaWNvbiB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgLyogUHJlZmVycmVkIGljb24gc2l6ZSAqL1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIC8qIFN1cHBvcnQgZm9yIGFsbCBXZWJLaXQgYnJvd3NlcnMuICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAvKiBTdXBwb3J0IGZvciBTYWZhcmkgYW5kIENocm9tZS4gKi9cbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgLyogU3VwcG9ydCBmb3IgRmlyZWZveC4gKi9cbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLyogU3VwcG9ydCBmb3IgSUUuICovXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnOyB9XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuc2xpY2stbGlzdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stbG9hZGluZyAuc2xpY2stbGlzdCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiZmFsc2VhamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7IH1cblxuLyogSWNvbnMgKi9cbi8qIEFycm93cyAqL1xuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIGZvbnQtc2l6ZTogMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7IH1cbiAgLnNsaWNrLXByZXY6aG92ZXIsIC5zbGljay1wcmV2OmZvY3VzLFxuICAuc2xpY2stbmV4dDpob3ZlcixcbiAgLnNsaWNrLW5leHQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnNsaWNrLXByZXY6aG92ZXI6YmVmb3JlLCAuc2xpY2stcHJldjpmb2N1czpiZWZvcmUsXG4gICAgLnNsaWNrLW5leHQ6aG92ZXI6YmVmb3JlLFxuICAgIC5zbGljay1uZXh0OmZvY3VzOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5zbGljay1wcmV2LnNsaWNrLWRpc2FibGVkOmJlZm9yZSxcbiAgLnNsaWNrLW5leHQuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjI1OyB9XG4gIC5zbGljay1wcmV2OmJlZm9yZSxcbiAgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJNYXRlcmlhbCBJY29uc1wiO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogLTI1cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTI1cHg7IH1cbiAgLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcImNoZXZyb25fbGVmdFwiOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJjaGV2cm9uX3JpZ2h0XCI7IH1cblxuLnNsaWNrLW5leHQge1xuICByaWdodDogLTI1cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dCB7XG4gICAgbGVmdDogLTI1cHg7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcImNoZXZyb25fcmlnaHRcIjsgfVxuICAgIFtkaXI9XCJydGxcIl0gLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiY2hldnJvbl9sZWZ0XCI7IH1cblxuLyogRG90cyAqL1xuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5zbGljay1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0yNXB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zbGljay1kb3RzIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlciwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICAgICAuc2xpY2stZG90cyBsaSBidXR0b246aG92ZXI6YmVmb3JlLCAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXM6YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6IFwiZmliZXJfbWFudWFsX3JlY29yZFwiO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJNYXRlcmlhbCBJY29uc1wiO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cbiAgICAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBvcGFjaXR5OiAwLjc1OyB9XG5cbi5zbGljay1sb2FkaW5nIC5zbGljay1saXN0IHtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4ueG1vZC1iYW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIC8qIEFycm93IENvbnRyb2xzICovXG4gIC8qIERvdCBJbmRpY2F0b3JzICovIH1cbiAgLnhtb2QtYmFubmVyIC54bW9kLWJhbm5lci1mcmFtZSB7XG4gICAgY3Vyc29yOiBncmFiOyB9XG4gICAgLnhtb2QtYmFubmVyIC54bW9kLWJhbm5lci1mcmFtZTphY3RpdmUge1xuICAgICAgY3Vyc29yOiBncmFiYmluZzsgfVxuICAueG1vZC1iYW5uZXIgLnhtb2QtZnJhbWUtaW1hZ2Utd3JhcHBlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTYwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgICAgIC54bW9kLWJhbm5lciAueG1vZC1mcmFtZS1pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxNjBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQxM3B4KSB7XG4gICAgICAueG1vZC1iYW5uZXIgLnhtb2QtZnJhbWUtaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogMjQwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjdweCkge1xuICAgICAgLnhtb2QtYmFubmVyIC54bW9kLWZyYW1lLWltYWdlLXdyYXBwZXIge1xuICAgICAgICBoZWlnaHQ6IDM2MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgICAueG1vZC1iYW5uZXIgLnhtb2QtZnJhbWUtaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogMzYwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgIC54bW9kLWJhbm5lciAueG1vZC1mcmFtZS1pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgaGVpZ2h0OiA0ODBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAgICAgLnhtb2QtYmFubmVyIC54bW9kLWZyYW1lLWltYWdlLXdyYXBwZXIge1xuICAgICAgICBoZWlnaHQ6IDUyMHB4OyB9IH1cbiAgLnhtb2QtYmFubmVyIC54bW9kLWJhbm5lci1pbWFnZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDYxcHgpIHtcbiAgICAgIC54bW9kLWJhbm5lciAueG1vZC1iYW5uZXItaW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgLnhtb2QtYmFubmVyIC5zbGljay1wcmV2LFxuICAueG1vZC1iYW5uZXIgLnNsaWNrLW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnhtb2QtYmFubmVyIC5zbGljay1wcmV2OmJlZm9yZSxcbiAgICAueG1vZC1iYW5uZXIgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC54bW9kLWJhbm5lciAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogMjRweDsgfVxuICAueG1vZC1iYW5uZXIgLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAyNHB4OyB9XG4gIC54bW9kLWJhbm5lciB1bC5zbGljay1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwOyB9XG5cbioge1xuICBtaW4taGVpZ2h0OiAwO1xuICBtaW4td2lkdGg6IDA7IH1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gRGVmYXVsdCBWYXJpYWJsZXNcblxuLy8gU2xpY2sgaWNvbiBlbnRpdHkgY29kZXMgb3V0cHV0cyB0aGUgZm9sbG93aW5nXG4vLyBcIlxcMjE5MFwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaQXCJcbi8vIFwiXFwyMTkyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpJcIlxuLy8gXCJcXDIwMjJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKAolwiXG5cbiRzbGljay1mb250LXBhdGg6IFwiLi9mb250cy9cIiAhZGVmYXVsdDtcbiRzbGljay1mb250LWZhbWlseTogXCJzbGlja1wiICFkZWZhdWx0O1xuJHNsaWNrLWxvYWRlci1wYXRoOiBcIi4vXCIgIWRlZmF1bHQ7XG4kc2xpY2stYXJyb3ctY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogJHNsaWNrLWRvdC1jb2xvciAhZGVmYXVsdDtcbiRzbGljay1wcmV2LWNoYXJhY3RlcjogXCJcXDIxOTBcIiAhZGVmYXVsdDtcbiRzbGljay1uZXh0LWNoYXJhY3RlcjogXCJcXDIxOTJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3QtY2hhcmFjdGVyOiBcIlxcMjAyMlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1zaXplOiA2cHggIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAwLjc1ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDEgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAwLjI1ICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gc2xpY2staW1hZ2UtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGltYWdlLXVybCkge1xuICAgICAgICBAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stbG9hZGVyLXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBzbGljay1mb250LXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhmb250LXVybCkge1xuICAgICAgICBAcmV0dXJuIGZvbnQtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1mb250LXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbi8qIFNsaWRlciAqL1xuXG4uc2xpY2stbGlzdCB7XG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgc2xpY2staW1hZ2UtdXJsKFwiYWpheC1sb2FkZXIuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIH1cbn1cblxuLyogSWNvbnMgKi9cbkBpZiAkc2xpY2stZm9udC1mYW1pbHkgPT0gXCJzbGlja1wiIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdFwiKTtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxufVxuXG4vKiBBcnJvd3MgKi9cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiAkc2xpY2stYXJyb3ctY29sb3I7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbn1cblxuLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IC0yNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zbGljay1uZXh0IHtcbiAgICByaWdodDogLTI1cHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogLTI1cHg7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogRG90cyAqL1xuXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNsaWNrLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yNXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkc2xpY2stZG90LWNoYXJhY3RlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzbGljay1kb3Qtc2l6ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3I7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIERlZmF1bHQgVmFyaWFibGVzXG5cbi8vIFNsaWNrIGljb24gZW50aXR5IGNvZGVzIG91dHB1dHMgdGhlIGZvbGxvd2luZ1xuLy8gXCJcXDIxOTBcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGkFwiXG4vLyBcIlxcMjE5MlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaSXCJcbi8vIFwiXFwyMDIyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLigKJcIlxuXG4kc2xpY2stZm9udC1wYXRoOiBcIi4uLy4uLy4uL2RlcGVuZGVuY2llcy9zbGljay9zbGljay9mb250cy9cIjtcbiRzbGljay1mb250LWZhbWlseTogXCJNYXRlcmlhbCBJY29uc1wiO1xuJHNsaWNrLWxvYWRlci1wYXRoOiBmYWxzZTtcbiRzbGljay1hcnJvdy1jb2xvcjogd2hpdGU7XG4kc2xpY2stZG90LWNvbG9yOiBibGFjaztcbiRzbGljay1kb3QtY29sb3ItYWN0aXZlOiAkc2xpY2stZG90LWNvbG9yO1xuJHNsaWNrLXByZXYtY2hhcmFjdGVyOiBcImNoZXZyb25fbGVmdFwiO1xuJHNsaWNrLW5leHQtY2hhcmFjdGVyOiBcImNoZXZyb25fcmlnaHRcIjtcbiRzbGljay1kb3QtY2hhcmFjdGVyOiBcImZpYmVyX21hbnVhbF9yZWNvcmRcIjtcbiRzbGljay1kb3Qtc2l6ZTogMTRweDsgLy8gZGVmYXVsdCA2cHhcbiRzbGljay1vcGFjaXR5LWRlZmF1bHQ6IDAuNzU7XG4kc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjogMTtcbiRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU6IDAuMjU7XG4iLCIkeG1vZC1iYW5uZXItaGVpZ2h0LW1vYmlsZS1zbTogMTYwcHggIWRlZmF1bHQ7XG4keG1vZC1iYW5uZXItaGVpZ2h0LW1vYmlsZS1sZzogMjQwcHggIWRlZmF1bHQ7XG4keG1vZC1iYW5uZXItaGVpZ2h0LXRhYmxldDogMzYwcHggIWRlZmF1bHQ7XG4keG1vZC1iYW5uZXItaGVpZ2h0LWxhcHRvcC1zbTogMzYwcHggIWRlZmF1bHQ7XG4keG1vZC1iYW5uZXItaGVpZ2h0LWxhcHRvcC1sZzogNDgwcHggIWRlZmF1bHQ7XG4keG1vZC1iYW5uZXItaGVpZ2h0LWhkLXNjcmVlbjogNTIwcHggIWRlZmF1bHQ7XG5cbi54bW9kLWJhbm5lci13cmFwcGVyIHtcbiAgICAvLyBoaWRlIGNsb25lZCBiYW5uZXIgZnJvbSBzbGlja1xuICAgIC8vID4gLnhtb2QtYmFubmVyIHtcbiAgICAvLyAgICAgZGlzcGxheTogbm9uZTtcbiAgICAvLyB9XG4gICAgLy8gc2hvdyBzbGlja2lmaWVkIGJhbm5lclxuICAgIC8vID4gLnhtb2QtYmFubmVyLXdyYXBwZXIgLnhtb2QtYmFubmVyIHtcbiAgICAvLyAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgLy8gfVxufVxuLnNsaWNrLWxpc3Qge1xuICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB9XG59XG5cbi54bW9kLWJhbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcblxuICAgIC54bW9kLWJhbm5lci1mcmFtZSB7XG4gICAgICAgIGN1cnNvcjogZ3JhYjtcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgY3Vyc29yOiBncmFiYmluZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC54bW9kLWZyYW1lLWltYWdlLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6ICR4bW9kLWJhbm5lci1oZWlnaHQtbW9iaWxlLXNtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUtc20pIHsgaGVpZ2h0OiAkeG1vZC1iYW5uZXItaGVpZ2h0LW1vYmlsZS1zbTsgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUtbGcpIHsgaGVpZ2h0OiAkeG1vZC1iYW5uZXItaGVpZ2h0LW1vYmlsZS1sZzsgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHsgaGVpZ2h0OiAkeG1vZC1iYW5uZXItaGVpZ2h0LXRhYmxldDsgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsYXB0b3Atc20pIHsgaGVpZ2h0OiAkeG1vZC1iYW5uZXItaGVpZ2h0LWxhcHRvcC1zbTsgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsYXB0b3AtbGcpIHsgaGVpZ2h0OiAkeG1vZC1iYW5uZXItaGVpZ2h0LWxhcHRvcC1sZzsgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRoZC1zY3JlZW4pIHsgaGVpZ2h0OiAkeG1vZC1iYW5uZXItaGVpZ2h0LWhkLXNjcmVlbjsgfVxuICAgIH1cblxuICAgIC54bW9kLWJhbm5lci1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc20pIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBBcnJvdyBDb250cm9scyAqL1xuICAgIC5zbGljay1wcmV2LFxuICAgIC5zbGljay1uZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2xpY2stcHJldiB7IGxlZnQ6IDI0cHg7IH1cbiAgICAuc2xpY2stbmV4dCB7IHJpZ2h0OiAyNHB4OyB9XG5cblxuICAgIC8qIERvdCBJbmRpY2F0b3JzICovXG4gICAgdWwuc2xpY2stZG90cyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cbn1cblxuXG4vLyBmaXJlZm94IGZsZXhib3ggYnVnXG5cbioge1xuICBtaW4taGVpZ2h0OiAwO1xuICBtaW4td2lkdGg6IDA7XG59XG4iLCIvLyBCcmVha3BvaW50c1xyXG5cclxuLy8gQnJlYWsgYWZ0ZXJcclxuQG1peGluIGJyZWFrcG9pbnQoJHF1ZXJ5LXN0cmluZykge1xyXG4gICAgQG1lZGlhICN7JHF1ZXJ5LXN0cmluZ30ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcbi8vIEJyZWFrIEJldHdlZW5cclxuQG1peGluIGJwLWJldHdlZW4oJG1pbiwgJG1heCkge1xyXG4gICAgQG1lZGlhICN7JG1pbn0gYW5kICN7JG1heH0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcbi8vIEJyZWFrIGFmdGVyXHJcbkBtaXhpbiBicC1hZnRlcigkbWluKSB7XHJcbiAgICBAbWVkaWEgI3skbWlufXtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG4vLyBCcmVhayBCZWZvcmVcclxuQG1peGluIGJwLWJlZm9yZSgkbWF4KSB7XHJcbiAgICBAbWVkaWEgI3skbWF4fXtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */
