

@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,500;1,700&display=swap");
/*---------------------------------------------------------

  COMPONENT: OUR GLOBAL NAV

  // DO NOT COPY `components/_nav-global` into curriculum projects.
  // This CSS is for demonstration or active development purposes, only.
  // Sync with canonical Gateway App CSS before proceeding.

  // The canonical CSS for this component is contained within
  // gateway-app/app/assets/stylesheets/global_nav.css
  
  As a “single-source” HTML/CSS/JS component housed in the gateway app and
  inserted dynamically into our curricula websites, this component class 
  includes the `g-` prefix for “gateway” or “global”. This namespace enables 
  the CSS for this component to function in parallel with the legacy 
  `c-nav-global` component until such time as that local-to-the-curricula 
  CSS is removed from those builds.

---------------------------------------------------------*/
/*---------------------------------------------------------

  COMPONENT: OUR GLOBAL NAV -- ROBOTO FONTS

  • Roboto 500 is universally necessary.
  • Roboto 700 is only necessary in the Curriculum Gateway,
    for the “Create New Account” link.

---------------------------------------------------------*/
/*---------------------------------------------------------

  COMPONENT: OUR GLOBAL NAV -- VARIABLES

---------------------------------------------------------*/
/* Color palette */
:root {

/* Colors with "-our-" in their name are sourced from the OUR brand guidelines:
   https://open-up-cms.herokuapp.com/styleguides/branding/colors.html */

--g-nav-global-orange:                   #f1592a; /* Modified OUR primary orange to WCAG AA+ standards */
--g-nav-global-our-primary-yellow:       #feb300;
--g-nav-global-our-primary-dark-gray:    #3e2e2f;
--g-nav-global-white:                    #fff;

/*
  Typographic sizes
  Font sizes based on minor third (1.2) http://www.modularscale.com/?1&em&1.2
*/

--g-nav-global-font-base-min: 16px;
--g-nav-global-font-base-max: 20px;
--g-nav-global-fluid-em:      calc(14.72px + 0.4vw);
--g-nav-global-delta:         1.2em;
--g-nav-global-epsilon:       0.833em;

}
/* Custom Media Declarations for Breakpoints */
/*---------------------------------------------------------

  COMPONENT: OUR GLOBAL NAV -- BASE

---------------------------------------------------------*/
.g-nav-global {
   font-size: 16px;
   font-size: var(--g-nav-global-font-base-min);
   font-family: "Roboto", "Trebuchet MS", Trebuchet, Tahoma, sans-serif;
   font-weight: 500;
   text-rendering: optimizelegibility; /* Can cause problems in some versions of Android */
   -webkit-text-size-adjust: none;
      -moz-text-size-adjust: none;
       -ms-text-size-adjust: none;
           text-size-adjust: none;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
   line-height: 1.45;

   /* Fluid from 16px to 20px between breakpoints */
}
@media (min-width: 537px) {
     .g-nav-global {
      font-size: max(16px, min(calc(14.72px + 0.4vw), 20px));
     }
   }
.g-nav-global * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.g-nav-global *::before, .g-nav-global *::after {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
/*---------------------------------------------------------

  COMPONENT: OUR GLOBAL NAV -- STYLES

---------------------------------------------------------*/
@media (min-width: 1024px) {
    .g-nav-global {
      z-index: 8675309;
      width: 100%;
    }
  }
.g-nav-global__wrapper {
  padding: 0.75em 1em;
  background: #f1592a;
  background: var(--g-nav-global-orange);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position:relative;
}
@media (min-width: 1024px) {
    .g-nav-global__wrapper {
      padding: 0 0.25em 0 1em;
    }
  }
.g-nav-global__logolink {
  display: block;
}
@media (min-width: 1024px) {
    .g-nav-global__logolink {
      padding: 0.83125em 0;
    }
  }
.g-nav-global__logoimg {
  display: block;
  height: 2em;
  width: auto;
}
button.g-nav-global__toggle {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  color: #fff;
  color: var(--g-nav-global-white);
  font: inherit;
  font-size: 0.833em;
  font-size: var(--g-nav-global-epsilon);
  line-height: calc(14.72px + 0.4vw);
  line-height: calc(14.72px + 0.4vw);
  line-height: calc(var(--g-nav-global-fluid-em));
  text-transform: uppercase;
  cursor: pointer;
  background-color: #f1592a;
  background-color: var(--g-nav-global-orange);
  border: 3px #feb300 solid;
  border: 3px var(--g-nav-global-our-primary-yellow) solid; /* Normally, I prefer rems/ems for all dimensions, but browser rounding on an element this small results in different pixel widths across adjacent instances of this same element. The difference is noticeable and annoying.  */
  border-radius: calc(18.4px + 0.5vw);
  border-radius: calc(18.4px + 0.5vw);
  border-radius: calc(var(--g-nav-global-fluid-em)*1.25);
  padding: calc(7.36px + 0.2vw) calc(14.72px + 0.4vw);
  padding: calc(7.36px + 0.2vw) calc(14.72px + 0.4vw);
  padding: calc(var(--g-nav-global-fluid-em)*0.5) calc(var(--g-nav-global-fluid-em));
  width: calc(73.6px + 2vw);
  width: calc(73.6px + 2vw);
  width: calc(var(--g-nav-global-fluid-em)*5);
  margin: calc(0.25rem*(14.72px + 0.4vw)) 0;
  margin: calc(0.25rem*(14.72px + 0.4vw)) 0;
  margin: calc(0.25rem*var(--g-nav-global-fluid-em)) 0;
}
@media (min-width: 1024px) {
    button.g-nav-global__toggle {
      display: none;
    }
  }
button.g-nav-global__toggle:link,
  button.g-nav-global__toggle:visited,
  button.g-nav-global__toggle:hover,
  button.g-nav-global__toggle:active {
    color: #fff;
    color: var(--g-nav-global-white);
  }
.g-nav-global__dialog {
  padding: 0.75em 1em;
  background: #f1592a;
  background: var(--g-nav-global-orange);
  border: medium none currentColor;
  border: initial;
  text-align: right;
  z-index: 8675309;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
}
@media (min-width: 1024px) {
    .g-nav-global__dialog {
      display: none;
    }
  }
/* Prevent double-scroll bar (dialog and body) in
shorter viewports that cause overflow for both */
body[\:has\(.g-nav-global__dialog\[open\]\)] {
  overflow-y: hidden;
}
body:has(.g-nav-global__dialog[open]) {
  overflow-y: hidden;
}
.g-nav-global__nav {
  display: none;
}
@media (min-width: 1024px) {
    .g-nav-global__nav {
      display: inline;
      display: initial;
    }
  }
.g-nav-global__list {
  list-style: none;
  margin: 1em auto 0;
  padding: 2em 1em 2em;
  text-align: center;
  position: static;
}
@media (min-width: 1024px) {
    .g-nav-global__list {
      margin: 0;
      padding: 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
    }
  }
.g-nav-global__list {
  /* Annoying necessity - override of OUR wordpress theme defaults for ul */
  position: static;
}
.g-nav-global__listitem {
  list-style: none;
  -webkit-hyphens: none;
      -ms-hyphens: none;
          hyphens: none;
  margin: 0;
  padding: 0.65625em 0 0;
  line-height: 1.25;
}
@media (min-width: 1024px) {
    .g-nav-global__listitem {
      padding: 1.15625em 0;
    }
  }
/* Annoying necessity - override of OUR wordpress theme defaults for ul li */
.g-nav-global__listitem::before {
  content: normal;
}
.g-nav-global__label {
  color: #fff;
  color: var(--g-nav-global-white);
  font-size: 1.2em;
  font-size: var(--g-nav-global-delta);
  display: inline-block;
}
@media (min-width: 1024px) {
    .g-nav-global__label {
      font-size: 0.833em;
      font-size: var(--g-nav-global-epsilon);
    }
  }
.g-nav-global__link,
.g-nav-global__link:link,
.g-nav-global__link:visited,
.g-nav-global__link:active {
  font-size: 1.2em;
  font-size: var(--g-nav-global-delta);
  font-weight: 500;
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: #fff;
  color: var(--g-nav-global-white);
  padding: calc(7.36px + 0.2vw);
  padding: calc(7.36px + 0.2vw);
  padding: calc(var(--g-nav-global-fluid-em)*0.5);
  -webkit-transition: none;
  transition: none;
}
@media (min-width: 1024px) {
    .g-nav-global__link, .g-nav-global__link:link, .g-nav-global__link:visited, .g-nav-global__link:active {
      font-size: 0.833em;
      font-size: var(--g-nav-global-epsilon);
      padding: 0 20px;
      padding: 0 var(--g-nav-global-font-base-max);
    }
  }
@media (min-width: 1024px) {
    .g-nav-global__link::before,
    .g-nav-global__link:link::before,
    .g-nav-global__link:visited::before,
    .g-nav-global__link:active::before,
    .g-nav-global__link::after,
    .g-nav-global__link:link::after,
    .g-nav-global__link:visited::after,
    .g-nav-global__link:active::after {
      display: block;
      height: 3px; /* Normally, I prefer rems/ems for all dimensions, but browser rounding on an element this small results in different pixel widths across adjacent instances of this same element. The difference is noticeable and annoying.  */
      width: 100%;
      content: "";
      position: relative;
      top: 2px;
    }
  }
@media (max-width: 1023px) {
    .g-nav-global__link::before,
    .g-nav-global__link:link::before,
    .g-nav-global__link:visited::before,
    .g-nav-global__link:active::before,
    .g-nav-global__link::after,
    .g-nav-global__link:link::after,
    .g-nav-global__link:visited::after,
    .g-nav-global__link:active::after {
      position: absolute;
      bottom: calc(3.68px + 0.1vw);
      bottom: calc(3.68px + 0.1vw);
      bottom: calc(var(--g-nav-global-fluid-em)*0.25);
      left: 0;
      right: 0;
      width: auto;
    }
  }
.g-nav-global__link:hover, .g-nav-global__link:link:hover, .g-nav-global__link:visited:hover, .g-nav-global__link:active:hover {
    color: #fff;
    color: var(--g-nav-global-white);
    text-decoration: none;
  }
@media (min-width: 1024px) {
    .g-nav-global__link:hover::after,
    .g-nav-global__link:link:hover::after,
    .g-nav-global__link:visited:hover::after,
    .g-nav-global__link:active:hover::after,
    .g-nav-global__link:focus::after,
    .g-nav-global__link:link:focus::after,
    .g-nav-global__link:visited:focus::after,
    .g-nav-global__link:active:focus::after {
      background: #feb300;
      background: var(--g-nav-global-our-primary-yellow);
    }
  }
/* For "Create New Account" link in Curriculum Gateway app */
.g-nav-global__label + .g-nav-global__link,
.g-nav-global__label + .g-nav-global__link:link,
.g-nav-global__label + .g-nav-global__link:visited,
.g-nav-global__label + .g-nav-global__link:active {
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  font-weight: 700;
}
.g-nav-global__label + .g-nav-global__link::before,
  .g-nav-global__label + .g-nav-global__link:link::before,
  .g-nav-global__label + .g-nav-global__link:visited::before,
  .g-nav-global__label + .g-nav-global__link:active::before,
  .g-nav-global__label + .g-nav-global__link::after,
  .g-nav-global__label + .g-nav-global__link:link::after,
  .g-nav-global__label + .g-nav-global__link:visited::after,
  .g-nav-global__label + .g-nav-global__link:active::after {
    display: block;
    height: 3px; /* Normally, I prefer rems/ems for all dimensions, but browser rounding on an element this small results in different pixel widths across adjacent instances of this same element. The difference is noticeable and annoying. */
    width: 100%;
    content: "";
    position: relative;
    top: 2px;
  }
.g-nav-global__label + .g-nav-global__link::after, .g-nav-global__label + .g-nav-global__link:link::after, .g-nav-global__label + .g-nav-global__link:visited::after, .g-nav-global__label + .g-nav-global__link:active::after {
    background: #feb300;
    background: var(--g-nav-global-our-primary-yellow);
    opacity: 0.75;
  }
.g-nav-global__label + .g-nav-global__link:hover::after, .g-nav-global__label + .g-nav-global__link:link:hover::after, .g-nav-global__label + .g-nav-global__link:visited:hover::after, .g-nav-global__label + .g-nav-global__link:active:hover::after {
    opacity: 1;
  }
@media (min-width: 1024px) {
    .g-nav-global__label + .g-nav-global__link::before,
    .g-nav-global__label + .g-nav-global__link:link::before,
    .g-nav-global__label + .g-nav-global__link:visited::before,
    .g-nav-global__label + .g-nav-global__link:active::before,
    .g-nav-global__label + .g-nav-global__link::after,
    .g-nav-global__label + .g-nav-global__link:link::after,
    .g-nav-global__label + .g-nav-global__link:visited::after,
    .g-nav-global__label + .g-nav-global__link:active::after {
      top: 0;
    }
  }
/* Inserts a separator before the last link,
either “Log Out” or “Create New Account”. */
@media (min-width: 1024px) {
      .g-nav-global__listitem:last-child:not(:only-child) .g-nav-global__link, .g-nav-global__listitem:last-child:not(:only-child) .g-nav-global__link:link, .g-nav-global__listitem:last-child:not(:only-child) .g-nav-global__link:visited, .g-nav-global__listitem:last-child:not(:only-child) .g-nav-global__link:active {
        -webkit-margin-start: 20px;
                margin-inline-start: 20px;
        -webkit-margin-start: var(--g-nav-global-font-base-max);
                margin-inline-start: var(--g-nav-global-font-base-max);
        -webkit-padding-start: 40px;
                padding-inline-start: 40px;
        -webkit-padding-start: calc(var(--g-nav-global-font-base-max)*2);
                padding-inline-start: calc(var(--g-nav-global-font-base-max)*2);
        -webkit-border-start: 1px solid #fff;
                border-inline-start: 1px solid #fff;
        -webkit-border-start: 1px solid var(--g-nav-global-white);
                border-inline-start: 1px solid var(--g-nav-global-white);
      }
    }
.g-nav-global__notification {
  font-size: 0.75em;
  padding: 1em 3em;
  background-color: orange;
  text-align: center;
}
.g-nav-global__notification p {
  font-size: 1em;
  font-weight: 500;
  line-height: 1.25;
  margin: 0;
}
.g-nav-global__notification a {
  color: #3e2e2f;
  color: var(--g-nav-global-our-primary-dark-gray);
  border: none;
  text-decoration: underline;
  white-space: nowrap;
}
/* Sometimes necessary to keep short link text
in the notification from wrapping. */
.g-nav-global__helper-nowrap {
  white-space: nowrap;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3N0eWxlc2hlZXRzL2dsb2JhbF9uYXYuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBOEJBLGlHQUFpRztBQTlCakc7Ozs7Ozs7Ozs7Ozs7Ozs7OzswREFrQjBEO0FBRTFEOzs7Ozs7OzswREFRMEQ7QUFJMUQ7Ozs7MERBSTBEO0FBRTFELGtCQUFrQjtBQUVsQjs7QUFFQTt1RUFDdUU7O0FBRXZFLGdEQUFnRCxFQUFFLHNEQUFzRDtBQUN4RyxnREFBZ0Q7QUFDaEQsZ0RBQWdEO0FBQ2hELDZDQUE2Qzs7QUFFN0M7OztDQUdDOztBQUVELGtDQUFrQztBQUNsQyxrQ0FBa0M7QUFDbEMsbURBQXFGO0FBQ3JGLG1DQUFtQztBQUNuQyxxQ0FBcUM7O0FBRXJDO0FBRUEsOENBQThDO0FBUzlDOzs7OzBEQUkwRDtBQUUxRDtHQUNHLGVBQTRDO0dBQTVDLDRDQUE0QztHQUM1QyxvRUFBb0U7R0FDcEUsZ0JBQWdCO0dBQ2hCLGtDQUFrQyxFQUFFLG1EQUFtRDtHQUN2Riw4QkFBc0I7TUFBdEIsMkJBQXNCO09BQXRCLDBCQUFzQjtXQUF0QixzQkFBc0I7R0FDdEIsbUNBQW1DO0dBQ25DLGtDQUFrQztHQUNsQyxpQkFBaUI7O0dBRWpCLGdEQUFnRDtBQU9uRDtBQUxHO0tBQ0U7TUFDQyxzREFBcUY7S0FDdEY7R0FDRjtBQUdIO0VBQ0UsOEJBQXNCO1VBQXRCLHNCQUFzQjtBQUl4QjtBQUhFO0lBQ0UsOEJBQXNCO1lBQXRCLHNCQUFzQjtFQUN4QjtBQUdGOzs7OzBEQUkwRDtBQUd4RDtJQUNFO01BQ0UsZ0JBQWdCO01BQ2hCLFdBQVc7SUFDYjtFQUNGO0FBR0Y7RUFDRSxtQkFBbUI7RUFDbkIsbUJBQXNDO0VBQXRDLHNDQUFzQztFQUN0QyxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHlCQUE4QjtNQUE5QixzQkFBOEI7VUFBOUIsOEJBQThCO0VBQzlCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGlCQUFpQjtBQU1u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LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIENPTVBPTkVOVDogT1VSIEdMT0JBTCBOQVZcblxuICAvLyBETyBOT1QgQ09QWSBgY29tcG9uZW50cy9fbmF2LWdsb2JhbGAgaW50byBjdXJyaWN1bHVtIHByb2plY3RzLlxuICAvLyBUaGlzIENTUyBpcyBmb3IgZGVtb25zdHJhdGlvbiBvciBhY3RpdmUgZGV2ZWxvcG1lbnQgcHVycG9zZXMsIG9ubHkuXG4gIC8vIFN5bmMgd2l0aCBjYW5vbmljYWwgR2F0ZXdheSBBcHAgQ1NTIGJlZm9yZSBwcm9jZWVkaW5nLlxuXG4gIC8vIFRoZSBjYW5vbmljYWwgQ1NTIGZvciB0aGlzIGNvbXBvbmVudCBpcyBjb250YWluZWQgd2l0aGluXG4gIC8vIGdhdGV3YXktYXBwL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ2xvYmFsX25hdi5jc3NcbiAgXG4gIEFzIGEg4oCcc2luZ2xlLXNvdXJjZeKAnSBIVE1ML0NTUy9KUyBjb21wb25lbnQgaG91c2VkIGluIHRoZSBnYXRld2F5IGFwcCBhbmRcbiAgaW5zZXJ0ZWQgZHluYW1pY2FsbHkgaW50byBvdXIgY3VycmljdWxhIHdlYnNpdGVzLCB0aGlzIGNvbXBvbmVudCBjbGFzcyBcbiAgaW5jbHVkZXMgdGhlIGBnLWAgcHJlZml4IGZvciDigJxnYXRld2F54oCdIG9yIOKAnGdsb2JhbOKAnS4gVGhpcyBuYW1lc3BhY2UgZW5hYmxlcyBcbiAgdGhlIENTUyBmb3IgdGhpcyBjb21wb25lbnQgdG8gZnVuY3Rpb24gaW4gcGFyYWxsZWwgd2l0aCB0aGUgbGVnYWN5IFxuICBgYy1uYXYtZ2xvYmFsYCBjb21wb25lbnQgdW50aWwgc3VjaCB0aW1lIGFzIHRoYXQgbG9jYWwtdG8tdGhlLWN1cnJpY3VsYSBcbiAgQ1NTIGlzIHJlbW92ZWQgZnJvbSB0aG9zZSBidWlsZHMuXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgQ09NUE9ORU5UOiBPVVIgR0xPQkFMIE5BViAtLSBST0JPVE8gRk9OVFNcblxuICDigKIgUm9ib3RvIDUwMCBpcyB1bml2ZXJzYWxseSBuZWNlc3NhcnkuXG4gIOKAoiBSb2JvdG8gNzAwIGlzIG9ubHkgbmVjZXNzYXJ5IGluIHRoZSBDdXJyaWN1bHVtIEdhdGV3YXksXG4gICAgZm9yIHRoZSDigJxDcmVhdGUgTmV3IEFjY291bnTigJ0gbGluay5cblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVJvYm90bzppdGFsLHdnaHRAMCw1MDA7MSw3MDAmZGlzcGxheT1zd2FwXCIpO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIENPTVBPTkVOVDogT1VSIEdMT0JBTCBOQVYgLS0gVkFSSUFCTEVTXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIENvbG9yIHBhbGV0dGUgKi9cblxuOnJvb3Qge1xuXG4vKiBDb2xvcnMgd2l0aCBcIi1vdXItXCIgaW4gdGhlaXIgbmFtZSBhcmUgc291cmNlZCBmcm9tIHRoZSBPVVIgYnJhbmQgZ3VpZGVsaW5lczpcbiAgIGh0dHBzOi8vb3Blbi11cC1jbXMuaGVyb2t1YXBwLmNvbS9zdHlsZWd1aWRlcy9icmFuZGluZy9jb2xvcnMuaHRtbCAqL1xuXG4tLWctbmF2LWdsb2JhbC1vcmFuZ2U6ICAgICAgICAgICAgICAgICAgICNmMTU5MmE7IC8qIE1vZGlmaWVkIE9VUiBwcmltYXJ5IG9yYW5nZSB0byBXQ0FHIEFBKyBzdGFuZGFyZHMgKi9cbi0tZy1uYXYtZ2xvYmFsLW91ci1wcmltYXJ5LXllbGxvdzogICAgICAgI2ZlYjMwMDtcbi0tZy1uYXYtZ2xvYmFsLW91ci1wcmltYXJ5LWRhcmstZ3JheTogICAgIzNlMmUyZjtcbi0tZy1uYXYtZ2xvYmFsLXdoaXRlOiAgICAgICAgICAgICAgICAgICAgI2ZmZjtcblxuLypcbiAgVHlwb2dyYXBoaWMgc2l6ZXNcbiAgRm9udCBzaXplcyBiYXNlZCBvbiBtaW5vciB0aGlyZCAoMS4yKSBodHRwOi8vd3d3Lm1vZHVsYXJzY2FsZS5jb20vPzEmZW0mMS4yXG4qL1xuXG4tLWctbmF2LWdsb2JhbC1mb250LWJhc2UtbWluOiAxNnB4O1xuLS1nLW5hdi1nbG9iYWwtZm9udC1iYXNlLW1heDogMjBweDtcbi0tZy1uYXYtZ2xvYmFsLWZsdWlkLWVtOiAgICAgIGNhbGMoMTZweCArICgyMCAtIDE2KSAqICgoMTAwdncgLSAzMjBweCkvKDEzMjAgLSAzMjApKSk7XG4tLWctbmF2LWdsb2JhbC1kZWx0YTogICAgICAgICAxLjJlbTtcbi0tZy1uYXYtZ2xvYmFsLWVwc2lsb246ICAgICAgIDAuODMzZW07XG5cbn1cblxuLyogQ3VzdG9tIE1lZGlhIERlY2xhcmF0aW9ucyBmb3IgQnJlYWtwb2ludHMgKi9cblxuQGN1c3RvbS1tZWRpYSAtLWctbmF2LWdsb2JhbC1icC1taW4tbWludXMgKG1heC13aWR0aDogNTM2cHgpO1xuQGN1c3RvbS1tZWRpYSAtLWctbmF2LWdsb2JhbC1icC1taW4gKG1pbi13aWR0aDogNTM3cHgpO1xuQGN1c3RvbS1tZWRpYSAtLWctbmF2LWdsb2JhbC1icC1taWQtbWludXMgKG1heC13aWR0aDogMTAyM3B4KTtcbkBjdXN0b20tbWVkaWEgLS1nLW5hdi1nbG9iYWwtYnAtbWlkIChtaW4td2lkdGg6IDEwMjRweCk7XG5AY3VzdG9tLW1lZGlhIC0tZy1uYXYtZ2xvYmFsLWJwLW1heC1taW51cyAobWF4LXdpZHRoOiAxMzE5cHgpO1xuQGN1c3RvbS1tZWRpYSAtLWctbmF2LWdsb2JhbC1icC1tYXggKG1pbi13aWR0aDogMTMyMHB4KTtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBDT01QT05FTlQ6IE9VUiBHTE9CQUwgTkFWIC0tIEJBU0VcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmctbmF2LWdsb2JhbCB7XG4gICBmb250LXNpemU6IHZhcigtLWctbmF2LWdsb2JhbC1mb250LWJhc2UtbWluKTtcbiAgIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIlRyZWJ1Y2hldCBNU1wiLCBUcmVidWNoZXQsIFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVsZWdpYmlsaXR5OyAvKiBDYW4gY2F1c2UgcHJvYmxlbXMgaW4gc29tZSB2ZXJzaW9ucyBvZiBBbmRyb2lkICovXG4gICB0ZXh0LXNpemUtYWRqdXN0OiBub25lO1xuICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgbGluZS1oZWlnaHQ6IDEuNDU7XG5cbiAgIC8qIEZsdWlkIGZyb20gMTZweCB0byAyMHB4IGJldHdlZW4gYnJlYWtwb2ludHMgKi9cblxuICAgQG1lZGlhICgtLWctbmF2LWdsb2JhbC1icC1taW4pIHtcbiAgICAgJiB7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDE2cHgsIGNhbGMoMTZweCArICgyMCAtIDE2KSAqICgoMTAwdncgLSAzMjBweCkvKDEzMjAgLSAzMjApKSksIDIwcHgpO1xuICAgICB9XG4gICB9XG59XG5cbi5nLW5hdi1nbG9iYWwgKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBDT01QT05FTlQ6IE9VUiBHTE9CQUwgTkFWIC0tIFNUWUxFU1xuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uZy1uYXYtZ2xvYmFsIHtcbiAgQG1lZGlhICgtLWctbmF2LWdsb2JhbC1icC1taWQpIHtcbiAgICAmIHtcbiAgICAgIHotaW5kZXg6IDg2NzUzMDk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLmctbmF2LWdsb2JhbF9fd3JhcHBlciB7XG4gIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gIGJhY2tncm91bmQ6IHZhcigtLWctbmF2LWdsb2JhbC1vcmFuZ2UpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICBAbWVkaWEgKC0tZy1uYXYtZ2xvYmFsLWJwLW1pZCkge1xuICAgICYge1xuICAgICAgcGFkZGluZzogMCAwLjI1ZW0gMCAxZW07XG4gICAgfVxuICB9XG59XG5cbi5nLW5hdi1nbG9iYWxfX2xvZ29saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBtZWRpYSAoLS1nLW5hdi1nbG9iYWwtYnAtbWlkKSB7XG4gICAgJiB7XG4gICAgICBwYWRkaW5nOiAwLjgzMTI1ZW0gMDtcbiAgICB9XG4gIH1cbn1cblxuLmctbmF2LWdsb2JhbF9fbG9nb2ltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDJlbTtcbiAgd2lkdGg6IGF1dG87XG59XG5cbmJ1dHRvbi5nLW5hdi1nbG9iYWxfX3RvZ2dsZSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgY29sb3I6IHZhcigtLWctbmF2LWdsb2JhbC13aGl0ZSk7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZy1uYXYtZ2xvYmFsLWVwc2lsb24pO1xuICBsaW5lLWhlaWdodDogY2FsYyh2YXIoLS1nLW5hdi1nbG9iYWwtZmx1aWQtZW0pKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nLW5hdi1nbG9iYWwtb3JhbmdlKTtcbiAgYm9yZGVyOiAzcHggdmFyKC0tZy1uYXYtZ2xvYmFsLW91ci1wcmltYXJ5LXllbGxvdykgc29saWQ7IC8qIE5vcm1hbGx5LCBJIHByZWZlciByZW1zL2VtcyBmb3IgYWxsIGRpbWVuc2lvbnMsIGJ1dCBicm93c2VyIHJvdW5kaW5nIG9uIGFuIGVsZW1lbnQgdGhpcyBzbWFsbCByZXN1bHRzIGluIGRpZmZlcmVudCBwaXhlbCB3aWR0aHMgYWNyb3NzIGFkamFjZW50IGluc3RhbmNlcyBvZiB0aGlzIHNhbWUgZWxlbWVudC4gVGhlIGRpZmZlcmVuY2UgaXMgbm90aWNlYWJsZSBhbmQgYW5ub3lpbmcuICAqL1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDEuMjUgKiB2YXIoLS1nLW5hdi1nbG9iYWwtZmx1aWQtZW0pKTtcbiAgcGFkZGluZzogY2FsYygwLjUgKiB2YXIoLS1nLW5hdi1nbG9iYWwtZmx1aWQtZW0pKSBjYWxjKHZhcigtLWctbmF2LWdsb2JhbC1mbHVpZC1lbSkpO1xuICB3aWR0aDogY2FsYyg1ICogdmFyKC0tZy1uYXYtZ2xvYmFsLWZsdWlkLWVtKSk7XG4gIG1hcmdpbjogY2FsYygwLjI1cmVtICogdmFyKC0tZy1uYXYtZ2xvYmFsLWZsdWlkLWVtKSkgMDtcbiAgQG1lZGlhICgtLWctbmF2LWdsb2JhbC1icC1taWQpIHtcbiAgICAmIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gICY6bGluayxcbiAgJjp2aXNpdGVkLFxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLWctbmF2LWdsb2JhbC13aGl0ZSk7XG4gIH1cbn1cblxuLmctbmF2LWdsb2JhbF9fZGlhbG9nIHtcbiAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tZy1uYXYtZ2xvYmFsLW9yYW5nZSk7XG4gIGJvcmRlcjogdW5zZXQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB6LWluZGV4OiA4Njc1MzA5O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgQG1lZGlhICgtLWctbmF2LWdsb2JhbC1icC1taWQpIHtcbiAgICAmIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8qIFByZXZlbnQgZG91YmxlLXNjcm9sbCBiYXIgKGRpYWxvZyBhbmQgYm9keSkgaW5cbnNob3J0ZXIgdmlld3BvcnRzIHRoYXQgY2F1c2Ugb3ZlcmZsb3cgZm9yIGJvdGggKi9cbmJvZHk6aGFzKC5nLW5hdi1nbG9iYWxfX2RpYWxvZ1tvcGVuXSkge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbi5nLW5hdi1nbG9iYWxfX25hdiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBtZWRpYSAoLS1nLW5hdi1nbG9iYWwtYnAtbWlkKSB7XG4gICAgJiB7XG4gICAgICBkaXNwbGF5OiB1bnNldDtcbiAgICB9XG4gIH1cbn1cblxuLmctbmF2LWdsb2JhbF9fbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMWVtIGF1dG8gMDtcbiAgcGFkZGluZzogMmVtIDFlbSAyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgQG1lZGlhICgtLWctbmF2LWdsb2JhbC1icC1taWQpIHtcbiAgICAmIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgfVxufVxuXG4uZy1uYXYtZ2xvYmFsX19saXN0IHtcbiAgLyogQW5ub3lpbmcgbmVjZXNzaXR5IC0gb3ZlcnJpZGUgb2YgT1VSIHdvcmRwcmVzcyB0aGVtZSBkZWZhdWx0cyBmb3IgdWwgKi9cbiAgcG9zaXRpb246IHN0YXRpYztcbn1cblxuLmctbmF2LWdsb2JhbF9fbGlzdGl0ZW0ge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBoeXBoZW5zOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuNjU2MjVlbSAwIDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBAbWVkaWEgKC0tZy1uYXYtZ2xvYmFsLWJwLW1pZCkge1xuICAgICYge1xuICAgICAgcGFkZGluZzogMS4xNTYyNWVtIDA7XG4gICAgfVxuICB9XG59XG5cbi8qIEFubm95aW5nIG5lY2Vzc2l0eSAtIG92ZXJyaWRlIG9mIE9VUiB3b3JkcHJlc3MgdGhlbWUgZGVmYXVsdHMgZm9yIHVsIGxpICovXG4uZy1uYXYtZ2xvYmFsX19saXN0aXRlbTo6YmVmb3JlIHtcbiAgY29udGVudDogbm9ybWFsO1xufVxuXG4uZy1uYXYtZ2xvYmFsX19sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1nLW5hdi1nbG9iYWwtd2hpdGUpO1xuICBmb250LXNpemU6IHZhcigtLWctbmF2LWdsb2JhbC1kZWx0YSk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgQG1lZGlhICgtLWctbmF2LWdsb2JhbC1icC1taWQpIHtcbiAgICAmIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZy1uYXYtZ2xvYmFsLWVwc2lsb24pO1xuICAgIH1cbiAgfVxufVxuXG4uZy1uYXYtZ2xvYmFsX19saW5rLFxuLmctbmF2LWdsb2JhbF9fbGluazpsaW5rLFxuLmctbmF2LWdsb2JhbF9fbGluazp2aXNpdGVkLFxuLmctbmF2LWdsb2JhbF9fbGluazphY3RpdmUge1xuICBmb250LXNpemU6IHZhcigtLWctbmF2LWdsb2JhbC1kZWx0YSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1nLW5hdi1nbG9iYWwtd2hpdGUpO1xuICBwYWRkaW5nOiBjYWxjKDAuNSAqIHZhcigtLWctbmF2LWdsb2JhbC1mbHVpZC1lbSkpO1xuICB0cmFuc2l0aW9uOiBub25lO1xuICBAbWVkaWEgKC0tZy1uYXYtZ2xvYmFsLWJwLW1pZCkge1xuICAgICYge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1nLW5hdi1nbG9iYWwtZXBzaWxvbik7XG4gICAgICBwYWRkaW5nOiAwIHZhcigtLWctbmF2LWdsb2JhbC1mb250LWJhc2UtbWF4KTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhICgtLWctbmF2LWdsb2JhbC1icC1taWQpIHtcbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDNweDsgLyogTm9ybWFsbHksIEkgcHJlZmVyIHJlbXMvZW1zIGZvciBhbGwgZGltZW5zaW9ucywgYnV0IGJyb3dzZXIgcm91bmRpbmcgb24gYW4gZWxlbWVudCB0aGlzIHNtYWxsIHJlc3VsdHMgaW4gZGlmZmVyZW50IHBpeGVsIHdpZHRocyBhY3Jvc3MgYWRqYWNlbnQgaW5zdGFuY2VzIG9mIHRoaXMgc2FtZSBlbGVtZW50LiBUaGUgZGlmZmVyZW5jZSBpcyBub3RpY2VhYmxlIGFuZCBhbm5veWluZy4gICovXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDJweDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhICgtLWctbmF2LWdsb2JhbC1icC1taWQtbWludXMpIHtcbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiBjYWxjKDAuMjUgKiB2YXIoLS1nLW5hdi1nbG9iYWwtZmx1aWQtZW0pKTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tZy1uYXYtZ2xvYmFsLXdoaXRlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgQG1lZGlhICgtLWctbmF2LWdsb2JhbC1icC1taWQpIHtcbiAgICAmOmhvdmVyOjphZnRlcixcbiAgICAmOmZvY3VzOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nLW5hdi1nbG9iYWwtb3VyLXByaW1hcnkteWVsbG93KTtcbiAgICB9XG4gIH1cbn1cblxuLyogRm9yIFwiQ3JlYXRlIE5ldyBBY2NvdW50XCIgbGluayBpbiBDdXJyaWN1bHVtIEdhdGV3YXkgYXBwICovXG4uZy1uYXYtZ2xvYmFsX19sYWJlbCArIC5nLW5hdi1nbG9iYWxfX2xpbmssXG4uZy1uYXYtZ2xvYmFsX19sYWJlbCArIC5nLW5hdi1nbG9iYWxfX2xpbms6bGluayxcbi5nLW5hdi1nbG9iYWxfX2xhYmVsICsgLmctbmF2LWdsb2JhbF9fbGluazp2aXNpdGVkLFxuLmctbmF2LWdsb2JhbF9fbGFiZWwgKyAuZy1uYXYtZ2xvYmFsX19saW5rOmFjdGl2ZSB7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICBmb250LXdlaWdodDogNzAwO1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDNweDsgLyogTm9ybWFsbHksIEkgcHJlZmVyIHJlbXMvZW1zIGZvciBhbGwgZGltZW5zaW9ucywgYnV0IGJyb3dzZXIgcm91bmRpbmcgb24gYW4gZWxlbWVudCB0aGlzIHNtYWxsIHJlc3VsdHMgaW4gZGlmZmVyZW50IHBpeGVsIHdpZHRocyBhY3Jvc3MgYWRqYWNlbnQgaW5zdGFuY2VzIG9mIHRoaXMgc2FtZSBlbGVtZW50LiBUaGUgZGlmZmVyZW5jZSBpcyBub3RpY2VhYmxlIGFuZCBhbm5veWluZy4gKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDJweDtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZy1uYXYtZ2xvYmFsLW91ci1wcmltYXJ5LXllbGxvdyk7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgfVxuICAmOmhvdmVyOjphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICBAbWVkaWEgKC0tZy1uYXYtZ2xvYmFsLWJwLW1pZCkge1xuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi8qIEluc2VydHMgYSBzZXBhcmF0b3IgYmVmb3JlIHRoZSBsYXN0IGxpbmssXG5laXRoZXIg4oCcTG9nIE91dOKAnSBvciDigJxDcmVhdGUgTmV3IEFjY291bnTigJ0uICovXG4uZy1uYXYtZ2xvYmFsX19saXN0aXRlbTpsYXN0LWNoaWxkOm5vdCg6b25seS1jaGlsZCkge1xuICAmIC5nLW5hdi1nbG9iYWxfX2xpbmssXG4gICYgLmctbmF2LWdsb2JhbF9fbGluazpsaW5rLFxuICAmIC5nLW5hdi1nbG9iYWxfX2xpbms6dmlzaXRlZCxcbiAgJiAuZy1uYXYtZ2xvYmFsX19saW5rOmFjdGl2ZSB7XG4gICAgQG1lZGlhICgtLWctbmF2LWdsb2JhbC1icC1taWQpIHtcbiAgICAgICYge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1nLW5hdi1nbG9iYWwtZm9udC1iYXNlLW1heCk7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKDIgKiB2YXIoLS1nLW5hdi1nbG9iYWwtZm9udC1iYXNlLW1heCkpO1xuICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0OiAxcHggc29saWQgdmFyKC0tZy1uYXYtZ2xvYmFsLXdoaXRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmctbmF2LWdsb2JhbF9fbm90aWZpY2F0aW9uIHtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG4gIHBhZGRpbmc6IDFlbSAzZW07XG4gIGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZy1uYXYtZ2xvYmFsX19ub3RpZmljYXRpb24gcCB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uZy1uYXYtZ2xvYmFsX19ub3RpZmljYXRpb24gYSB7XG4gIGNvbG9yOiB2YXIoLS1nLW5hdi1nbG9iYWwtb3VyLXByaW1hcnktZGFyay1ncmF5KTtcbiAgYm9yZGVyOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogU29tZXRpbWVzIG5lY2Vzc2FyeSB0byBrZWVwIHNob3J0IGxpbmsgdGV4dFxuaW4gdGhlIG5vdGlmaWNhdGlvbiBmcm9tIHdyYXBwaW5nLiAqL1xuLmctbmF2LWdsb2JhbF9faGVscGVyLW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iXX0= */
