/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

/* 599px */

/* 699px */

/* 700px */

/* 768px */

/* 1023px */

/* 1024px */

*,*:before,*:after { -webkit-box-sizing: border-box; box-sizing: border-box; }

html {
  font-family: 'Nunito Sans', sans-serif;
  color: #000;
  line-height: 1.4;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

a {
  color: #F0AE1C;
  text-decoration: none
}

a:hover,
  a:focus {
  color: #BD8A18;
}

button {
  padding: 0;
  margin: 0;
  border: 0;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  line-height: 1;
}

img {
  display: block;
  width: 100%;
}

svg { display: block; }

.card-list {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.card-list__item {
  margin-bottom: 30px;
}

.contact-list {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

@media (min-width: 64em) {

  .contact-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.contact-list__item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border-color: #D6D6D6;
  border-top-width: 1px;
  border-top-style: solid;
  padding: 20px 12px;
}

@media (min-width: 43.75em) {

  .contact-list__item {
    padding-right: 60px;
    padding-left: 60px;
  }
}

@media (min-width: 64em) {

  .contact-list__item {
    padding: 40px 24px 36px 7%;
  }

  .contact-list__item:first-child {
    border-right-width: 1px;
    border-right-style: solid;
  }
}

.container {
  padding: 0 10px;
}

@media (min-width: 43.75em) {

  .container {
    padding: 0 50px;
  }
}

.hero {
  position: relative;
  margin: 0;
}

@media (min-width: 64em) {

  .hero {
    margin: 0 auto;
    max-width: 1440px;
    padding: 0 50px;
  }
}

.hero__caption {
  position: relative;
  margin: -30px 10px 0;
  padding: 14px 10px 18px;
  background-color: rgba(240, 174, 28, .8);
  color: #fff;
  font-weight: 900;
  font-style: italic;
  font-size: 22px;
}

@media (min-width: 43.75em) {

  .hero__caption {
    position: absolute;
    right: 0;
    bottom: 58px;
    margin: 0;
    max-width: 625px;
    padding: 14px 50px 18px 24px;
    font-size: 32px;
  }
}

@media (min-width: 64em) {

  .hero__caption {
    max-width: 900px;
    padding: 14px 90px 18px 40px;
    font-size: 44px;
  }
}

.hero__caption-break {
  display: none;
}

@media (min-width: 43.75em) {

  .hero__caption-break {
    display: block;
  }
}

.media-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.media-group__main {
  margin-left: 24px;
}

@media (min-width: 43.75em) {

  .media-group__main {
    margin-left: 40px;
  }
}

.media-group__title {
  margin-bottom: 4px;
  color: #4A4A4A;
  text-transform: uppercase;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: 0.05em;
}

@media (min-width: 43.75em) {

  .media-group__title {
    font-size: 20px;
  }
}

.media-group__link {
  color: #4A4A4A;
  font-weight: 400;
  font-style: normal;
  font-size: 30px;
  font-family: 'Crimson Text', serif;
  line-height: 1;
}

@media (min-width: 43.75em) {

  .media-group__link {
    font-size: 40px;
  }
}

@media (max-width: 43.6875em) {
  .media-group__icon > svg { width: 40px; height: auto; }
}

.nav-list {
  margin: 0;
  padding: 20px 0 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 63.9375em) {

  .nav-list {
    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;
  }
}

.nav-list__item {
  list-style-type: none
}

.nav-list__item + .nav-list__item {
  margin-top: 36px;
}

@media (min-width: 64em) {

  .nav-list__item + .nav-list__item {
    margin-left: 60px;
    margin-top: 0;
  }
}

.nav-link {
  color: #4A4A4A;
  font-weight: 800;
  text-transform: uppercase;
  font-size: 18px;
  letter-spacing: 0.07em;
}

@media (min-width: 43.75em) {

  .nav-link {
    font-size: 24px;
  }
}

@media (min-width: 64em) {

  .nav-link {
    font-size: 14px;
  }
}

@media (max-width: 63.9375em) {

  .nav-link:hover,
  .nav-link:focus {
    color: rgb(52, 52, 52);
  }
}

.page {
  padding: 64px 27px;
  min-height: calc(100vh - 250px);
}

@media (min-width: 43.75em) {

  .page {
    padding-top: 110px;
  }
}

@media (min-width: 64em) {

  .page {
    margin: 0 auto;
    padding: 110px 50px 110px 77px;
    max-width: 1440px;
  }
}

.page-content {
  max-width: 800px;
}

.page__title {
  margin-bottom: 36px;
}

.page__section-title {
  font-size: 24px;
}

.page__copy + .page__section-title {
  margin-top: 48px;
}

.site-footer {
  background-color: #4A4A4A;
}

.site-footer__main {
  padding: 32px 24px 10px;
}

@media (min-width: 48em) {

  .site-footer__main {
    margin: 0 auto;
    padding: 20px 50px 40px;
    max-width: 1440px;
  }
}

.site-footer__logo {
  width: 244px;
  height: 26px;
}

@media (min-width: 48em) {

  .site-footer__logo {
    width: 284px;
    height: 30px;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.client-button {
  display: inline-block;
  border-radius: 8px;
  padding: 18px 24px 16px;
  background-color: #D6D6D6;
  -webkit-box-shadow: 0 2px 14px 0 rgba(0, 0, 0, .5);
          box-shadow: 0 2px 14px 0 rgba(0, 0, 0, .5);
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-weight: 800;
  font-size: 18px;
  color: #4A4A4A;
  min-width: 260px;
  text-align: center;
  margin-bottom: 44px
}

.client-button:hover,
  .client-button:focus {
  color: #4A4A4A;
  background-color: rgb(171, 171, 171);
  outline: 0;
}

@media (min-width: 48em) {

  .client-button {
    margin-bottom: 0;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

.site-footer__row {
  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;
}

@media (min-width: 48em) {

  .site-footer__row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.site-footer__row--header {
  margin-bottom: 18px;
}

@media (min-width: 48em) {

  .site-footer__row--header {
    margin-bottom: 24px;
  }
}

.site-footer__address {
  text-align: center;
  color: #D6D6D6;
  font-weight: 800;
  font-style: normal;
  font-size: 14px;
  margin-bottom: 54px;
}

@media (min-width: 48em) {

  .site-footer__address {
    margin-bottom: 42px;
    font-size: 18px;
    text-align: left;
  }
}

.site-footer__copyright {
  color: #D6D6D6;
  font-weight: 800;
  font-size: 14px;
}

.site-footer__nav {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 20px;

}

@media (min-width: 48em) {

  .site-footer__nav {
    margin-bottom: 0;
  }
}

.site-footer__nav-item {
  color: #D6D6D6
}

.site-footer__nav-item + .site-footer__nav-item::before {
  content: '|';
  margin: 0 20px;
}

.footer-link {
  color: #D6D6D6;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 800;
}

@media (min-width: 48em) {

  .footer-link {
    font-size: 14px;
  }
}

.site-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-left: 27px;
}

@media (min-width: 64em) {

  .site-header {
    margin: 0 auto;
    padding: 0 50px;
    max-width: 1440px;
  }
}

.site-header__logo {
  position: absolute;
  padding: 10px 12px 12px;
  background-color: #F0AE1C;
  z-index: 1
}

.site-header__logo > svg {
  display: block;
  width: 73px;
  height: 40px;
}

@media (min-width: 43.75em) {

  .site-header__logo > svg {
    width: 130px;
    height: 72px;
  }
}

@media (min-width: 43.75em) {

  .site-header__logo {
    padding: 14px 22px;
  }
}

@media (min-width: 64em) {

  .site-header__logo {
    margin-left: 27px;
  }
}

.site-header__nav {
  display: none;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

@media (max-width: 63.9375em) {

  .site-header__nav {
    position: fixed;
    z-index: 1000;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    background-color: rgba(240, 174, 28, 0.9);
    padding-top: 10vh;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.site-header__nav.nav-is-open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (min-width: 64em) {

  .site-header__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

.site-header__mobile-nav-btn {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  padding: 14px 12px;
  -ms-flex-item-align: end;
      align-self: flex-end
}

.site-header__mobile-nav-btn svg {
  pointer-events: none;
}

@media (min-width: 64em) {

  .site-header__mobile-nav-btn {
    display: none;
  }
}

.site-header__mobile-nav-close-btn {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  padding: 10px;
  background-color: transparent;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none
}

.site-header__mobile-nav-close-btn > svg {
  fill: #4A4A4A;
}

@media (min-width: 64em) {

  .site-header__mobile-nav-close-btn {
    display: none;
  }
}

.value-card {
  padding: 10px 20px 24px;
  background-color: #fff;
  -webkit-box-shadow: 0 2px 34px 0 rgba(0, 0, 0, .1);
          box-shadow: 0 2px 34px 0 rgba(0, 0, 0, .1);
}

@media (min-width: 43.75em) {

  .value-card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 24px 0;
  }
}

.value-card__icon {
  border-bottom: 1px solid #D6D6D6;
  padding-bottom: 10px;
}

@media (min-width: 43.75em) {

  .value-card__icon {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    padding: 12px 0;
    width: 180px;
    border-right: 1px solid #D6D6D6;
    border-bottom: 0;
  }
}

.value-card__icon > svg {
  margin: 0 auto;
}

@media (max-width: 43.6875em) {
  .value-card__icon > svg { height: auto; }
  .value-card__icon--service > svg { width: 39px; }
  .value-card__icon--relationship > svg { width: 43px; }
  .value-card__icon--teamwork > svg { width: 55px; }
  .value-card__icon--integrity > svg { width: 30px; }
  .value-card__icon--attitude > svg { width: 50px; }
}

@media (min-width: 43.75em) {

  .value-card__main {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 0 100px 0 36px;
  }
}

.value-copy {
  margin: 10px 0 0;
  font-size: 15px;
  line-height: 28px;
  font-family: 'Crimson Text', serif;
  color: #4A4A4A;
}

@media (min-width: 43.75em) {

  .value-copy {
    margin: 0;
    font-size: 24px;
    line-height: 44px;
  }
}

.value-title {
  font-family: 'Nunito Sans', sans-serif;
}

.section-title {
  color: #F0AE1C;
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
}

@media (min-width: 43.75em) {

  .section-title {
    font-size: 34px;
  }
}

.section-title--center {
  text-align: center;
}

.section-blurb {
  font-family: 'Crimson Text', serif;
  font-size: 15px;
  color: #4A4A4A;
  line-height: 28px;
}

@media (min-width: 43.75em) {

  .section-blurb {
    font-size: 24px;
    line-height: 44px;
  }
}

.section-blurb--light {
  color: #fff;
}

.about-section {
  padding: 60px 20px 70px;
}

@media (min-width: 43.75em) {

  .about-section {
    padding: 100px 75px;
  }
}

@media (min-width: 64em) {

  .about-section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 auto;
    padding: 132px 50px;
    max-width: 1440px;
    text-align: left;
  }
}

.about-section__left {
  text-align: center;
}

@media (min-width: 64em) {

  .about-section__left {
    -webkit-box-flex: 2;
        -ms-flex: 2;
            flex: 2;
    padding-right: 24px;
  }
}

@media (min-width: 43.75em) {

  .about-section__left > .section-title {
    margin-bottom: 40px;
  }
}

@media (min-width: 64em) {

  .about-section__right {
    -webkit-box-flex: 3;
        -ms-flex: 3;
            flex: 3;
    padding-right: 80px;
  }
}

.contact-section {
  background-color: #EDEDED;
  padding-bottom: 20px;
}

@media (min-width: 43.75em) {

  .contact-section {
    padding-bottom: 40px;
  }
}

.contact-card {
  position: relative;
  margin: -60px auto 0;
  border-radius: 8px;
  background-color: #fff;
  -webkit-box-shadow: 0 2px 34px 0 rgba(0, 0, 0, .1);
          box-shadow: 0 2px 34px 0 rgba(0, 0, 0, .1);
  max-width: 1200px;
  z-index: 1;
}

@media (min-width: 43.75em) {

  .contact-card {
    margin-top: -90px;
  }
}

.contact-form {
  padding: 24px 10px 20px;
}

@media (min-width: 43.75em) {

  .contact-form {
    padding: 42px 60px 38px;
  }
}

.contact-form > .section-title {
  margin-bottom: 12px;
}

@media (min-width: 43.75em) {

  .contact-form > .section-title {
    margin-bottom: 24px;
  }
}

@media (min-width: 64em) {
  .contact-form__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 20px
  }
  .contact-form__row > .contact-input {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .contact-form__row > .contact-input:nth-child(2n) {
    margin-left: 40px;
  }
}

.contact-input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #D6D6D6;
  border-radius: 8px;
  font-family: 'Crimson Text', serif;
  font-size: 22px;
  padding: 14px 10px;
  margin-bottom: 10px;
  width: 100%
}

.contact-input::-webkit-input-placeholder {
  line-height: 1.5;
}

.contact-input::-ms-input-placeholder {
  line-height: 1.5;
}

.contact-input::placeholder {
  line-height: 1.5;
}

.contact-input:focus {
  border-color: #BD8A18;
  outline: 0;
}

.contact-input::-webkit-input-placeholder {
  font-style: italic;
}

.contact-input::-ms-input-placeholder {
  font-style: italic;
}

.contact-input::placeholder {
  font-style: italic;
}

@media (min-width: 43.75em) {

  .contact-input {
    margin-bottom: 20px;
    padding: 20px;
    font-size: 28px;
  }
}

@media (min-width: 64em) {

  .contact-input {
    margin-bottom: 0;
  }
}

.contact-button {
  display: block;
  text-align: center;
  margin-top: 10px;
  border: none;
  border-radius: 8px;
  font-weight: 800;
  font-size: 20px;
  letter-spacing: 0.3em;
  padding: 12px 20px;
  width: 100%;
  background-color: #F0AE1C;
  color: #fff;
  text-transform: uppercase;
}

@media (min-width: 43.75em) {

  .contact-button {
    margin: 0;
    padding: 20px;
    font-size: 24px;
  }
}

.contact-button:hover,
  .contact-button:focus {
  color: #fff;
  background-color: #BD8A18;
  outline: 0;
}

.contact-map {
  position: relative;
  height: 315px;
  overflow: hidden;
}

@media (min-width: 43.75em) {

  .contact-map {
    height: 615px;
  }
}

.contact-map__iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.mission-section {
  background-color: #4A4A4A;
}

.mission-section__main {
  padding: 60px 20px 70px;
  text-align: center;
}

@media (min-width: 43.75em) {

  .mission-section__main {
    margin: 0 auto;
    padding: 132px 50px;
    max-width: 864px;
  }
}

@media (min-width: 43.75em) {

  .mission-section__main > .section-title {
    margin-bottom: 40px;
  }
}

.services-section {
  padding: 60px 0;
}

@media (min-width: 43.75em) {

  .services-section {
    padding: 76px 0 116px;
  }
}

@media (min-width: 64em) {

  .services-section {
    margin: 0 auto;
    max-width: 1440px;
  }
}

.services-section__main {
  margin: 0 auto;
  padding: 0 10px;
  max-width: 1440px;
}

@media (min-width: 64em) {

  .services-section__main {
    padding: 0 50px;
  }
}

.services-section__main > .section-title {
  margin-bottom: 20px;
}

@media (min-width: 43.75em) {

  .services-section__main > .section-title {
    margin-bottom: 48px;
  }
}

@media (min-width: 64em) {

  .services-section__main > .section-title {
    margin-bottom: 58px;
  }
}

.service-card-list {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

@media (min-width: 64em) {

  .service-card-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.service-card {
  margin: 0 auto 10px;
  border-radius: 8px;
  background-color: #fff;
  overflow: hidden;
  -webkit-box-shadow: 0 2px 34px 0 rgba(0, 0, 0, .1);
          box-shadow: 0 2px 34px 0 rgba(0, 0, 0, .1);
  max-width: 480px;
}

@media (min-width: 43.75em) {

  .service-card {
    margin-bottom: 32px;
  }
}

@media (min-width: 64em) {

  .service-card {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-bottom: 0;
  }
}

@media (min-width: 64em) {

  .service-card:nth-child(1) {
    margin-right: -8px;
  }
}

@media (min-width: 64em) {

  .service-card:nth-child(2) {
    z-index: 1;
    position: relative;
  }
}

@media (min-width: 64em) {

  .service-card:nth-child(3) {
    margin-left: -8px;
  }
}

@media (min-width: 64em) {
  .service-card--recessed {
    margin: 36px 0;
  }
}

.service-card__title {
  padding: 28px 24px;
  background-color: #F0AE1C;
  color: #fff;
  font-weight: 800;
  text-align: center;
  font-size: 20px;
}

@media (min-width: 43.75em) {

  .service-card__title {
    font-size: 24px;
  }
}

@media (min-width: 64em) {

  .service-card__title--featured {
    padding-top: 46px;
    padding-bottom: 46px;
  }
}

.services-list {
  margin: 0;
  padding: 16px 0 0;
  list-style-type: none;
}

@media (min-width: 64em) {

  .services-list {
    padding: 32px 0 24px;
  }
}

.services-list__item {
  text-align: center;
  font-family: 'Crimson Text', serif;
  font-style: italic;
  color: #4A4A4A;
  font-size: 18px;
  margin-bottom: 24px;
}

@media (min-width: 43.75em) {

  .services-list__item {
    font-size: 20px;
    margin-bottom: 30px;
  }
}

.values-section {
  background-color: #EDEDED;
  padding: 0 10px;
}

@media (min-width: 43.75em) {

  .values-section {
    padding: 0 50px;
  }
}

.values-section__main {
  padding: 60px 0;
}

@media (min-width: 43.75em) {

  .values-section__main {
    margin: 0 auto;
    padding: 84px 0;
    max-width: 1200px;
  }
}

.values-section__main > .section-title {
  margin-bottom: 20px;
}

@media (min-width: 43.75em) {

  .values-section__main > .section-title {
    margin-bottom: 70px;
  }
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCIuLi8uLi9zcmMvY3NzL3ZhcmlhYmxlcy9fYnJlYWtwb2ludHMuY3NzIiwiLi4vLi4vc3JjL2Nzcy9yZXNldHMvZ2xvYmFsL2luZGV4LmNzcyIsIi4uLy4uL3NyYy9jc3MvcmVzZXRzL2h0bWwvaW5kZXguY3NzIiwiLi4vLi4vc3JjL2Nzcy9yZXNldHMvYW5jaG9ycy9pbmRleC5jc3MiLCIuLi8uLi9zcmMvY3NzL3Jlc2V0cy9idXR0b24vaW5kZXguY3NzIiwiLi4vLi4vc3JjL2Nzcy9yZXNldHMvaGVhZGluZ3MvaW5kZXguY3NzIiwiLi4vLi4vc3JjL2Nzcy9yZXNldHMvaW1hZ2UvaW5kZXguY3NzIiwiLi4vLi4vc3JjL2Nzcy9yZXNldHMvc3ZnL2luZGV4LmNzcyIsIi4uLy4uL3NyYy9jc3MvcGFydGlhbHMvY2FyZC1saXN0L2luZGV4LmNzcyIsIi4uLy4uL3NyYy9jc3MvcGFydGlhbHMvY29udGFjdC1saXN0L2luZGV4LmNzcyIsIi4uLy4uL3NyYy9jc3MvcGFydGlhbHMvY29udGFpbmVyL2luZGV4LmNzcyIsIi4uLy4uL3NyYy9jc3MvcGFydGlhbHMvaGVyby9pbmRleC5jc3MiLCIuLi8uLi9zcmMvY3NzL3BhcnRpYWxzL21lZGlhLWdyb3VwL2luZGV4LmNzcyIsIi4uLy4uL3NyYy9jc3MvcGFydGlhbHMvbmF2L2luZGV4LmNzcyIsIi4uLy4uL3NyYy9jc3MvcGFydGlhbHMvcGFnZS9pbmRleC5jc3MiLCIuLi8uLi9zcmMvY3NzL3BhcnRpYWxzL3NpdGUtZm9vdGVyL2luZGV4LmNzcyIsIi4uLy4uL3NyYy9jc3MvcGFydGlhbHMvc2l0ZS1oZWFkZXIvaW5kZXguY3NzIiwiLi4vLi4vc3JjL2Nzcy9wYXJ0aWFscy92YWx1ZS1jYXJkL2luZGV4LmNzcyIsIi4uLy4uL3NyYy9jc3MvcGFydGlhbHMvc2VjdGlvbi9pbmRleC5jc3MiLCIuLi8uLi9zcmMvY3NzL3BhcnRpYWxzL2Fib3V0LXNlY3Rpb24vaW5kZXguY3NzIiwiLi4vLi4vc3JjL2Nzcy9wYXJ0aWFscy9jb250YWN0LXNlY3Rpb24vaW5kZXguY3NzIiwiLi4vLi4vc3JjL2Nzcy9wYXJ0aWFscy9taXNzaW9uLXNlY3Rpb24vaW5kZXguY3NzIiwiLi4vLi4vc3JjL2Nzcy9wYXJ0aWFscy9zZXJ2aWNlcy1zZWN0aW9uL2luZGV4LmNzcyIsIi4uLy4uL3NyYy9jc3MvcGFydGlhbHMvdmFsdWVzLXNlY3Rpb24vaW5kZXguY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRFQUE0RTs7QUFFNUU7Z0ZBQ2dGOztBQUVoRjs7O0dBR0c7O0FBRUg7RUFDRSxrQkFBa0IsQ0FBQyxPQUFPO0VBQzFCLCtCQUErQixDQUFDLE9BQU87Q0FDeEM7O0FBRUQ7Z0ZBQ2dGOztBQUVoRjs7R0FFRzs7QUFFSDtFQUNFLFVBQVU7Q0FDWDs7QUFFRDs7R0FFRzs7QUFFSDtFQUNFLGVBQWU7Q0FDaEI7O0FBRUQ7OztHQUdHOztBQUVIO0VBQ0UsZUFBZTtFQUNmLGlCQUFpQjtDQUNsQjs7QUFFRDtnRkFDZ0Y7O0FBRWhGOzs7R0FHRzs7QUFFSDtFQUNFLGdDQUF3QjtVQUF4Qix3QkFBd0IsQ0FBQyxPQUFPO0VBQ2hDLFVBQVUsQ0FBQyxPQUFPO0VBQ2xCLGtCQUFrQixDQUFDLE9BQU87Q0FDM0I7O0FBRUQ7OztHQUdHOztBQUVIO0VBQ0Usa0NBQWtDLENBQUMsT0FBTztFQUMxQyxlQUFlLENBQUMsT0FBTztDQUN4Qjs7QUFFRDtnRkFDZ0Y7O0FBRWhGOztHQUVHOztBQUVIO0VBQ0UsOEJBQThCO0NBQy9COztBQUVEOzs7R0FHRzs7QUFFSDtFQUNFLG9CQUFvQixDQUFDLE9BQU87RUFDNUIsMkJBQTJCLENBQUMsT0FBTztFQUNuQywwQ0FBa0M7VUFBbEMsa0NBQWtDLENBQUMsT0FBTztDQUMzQzs7QUFFRDs7R0FFRzs7QUFFSDs7RUFFRSxvQkFBb0I7Q0FDckI7O0FBRUQ7OztHQUdHOztBQUVIOzs7RUFHRSxrQ0FBa0MsQ0FBQyxP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QixxQkFBcUI7R0FFeEI7Q0FERTs7QUFHSDtFQUNFLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsc0JBQXNCO0NBS3ZCOztBQUhDOztFQUxGO0lBTUkscUJBQXFCO0dBRXhCO0NBREU7O0FBR0g7RUFDRSxtQkFBbUI7RUFDbkIsbUNBQThCO0VBQzlCLG1CQUFtQjtFQUNuQixlQUE2QjtFQUM3QixnQkFBZ0I7RUFDaEIsb0JBQW9CO0NBTXJCOztBQUpDOztFQVJGO0lBU0ksZ0JBQWdCO0lBQ2hCLG9CQUFvQjtHQUV2QjtDQURFOztBQ2xJSDtFQUNFLDBCQUFvQztFQUNwQyxnQkFBZ0I7Q0FLakI7O0FBSEM7O0VBSkY7SUFLSSxnQkFBZ0I7R0FFbkI7Q0FERTs7QUFHSDtFQUNFLGdCQUFnQjtDQWVqQjs7QUFiQzs7RUFIRjtJQUlJLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsa0JBQWtCO0dBVXJCO0NBVEU7O0FBRUQ7RUFDRSxvQkFBb0I7Q0FLckI7O0FBSEM7O0VBSEY7SUFJSSxvQkFBb0I7R0FFdkI7Q0FERSIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAY3VzdG9tLW1lZGlhIC0tZm9yLXBob25lLW9ubHkgKG1heC13aWR0aDogMzcuNDM3NWVtKTsgLyogNTk5cHggKi9cbkBjdXN0b20tbWVkaWEgLS1mb3ItdGFibGV0LXBvcnRyYWl0LWRvd24gKG1heC13aWR0aDogNDMuNjg3NWVtKTsgLyogNjk5cHggKi9cbkBjdXN0b20tbWVkaWEgLS1mb3ItdGFibGV0LXBvcnRyYWl0LXVwIChtaW4td2lkdGg6IDQzLjc1ZW0pOyAvKiA3MDBweCAqL1xuQGN1c3RvbS1tZWRpYSAtLWZvci10YWJsZXQteGwtcG9ydHJhaXQtdXAgKG1pbi13aWR0aDogNDhlbSk7IC8qIDc2OHB4ICovXG5AY3VzdG9tLW1lZGlhIC0tZm9yLXRhYmxldC1sYW5kc2NhcGUtZG93biAobWF4LXdpZHRoOiA2My45Mzc1ZW0pOyAvKiAxMDIzcHggKi9cbkBjdXN0b20tbWVkaWEgLS1mb3ItdGFibGV0LWxhbmRzY2FwZS11cCAobWluLXdpZHRoOiA2NGVtKTsgLyogMTAyNHB4ICovXG4iLCIqLCo6YmVmb3JlLCo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4iLCJodG1sIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXByaW1hcnlGb250KTtcbiAgY29sb3I6IHZhcigtLWJsYWNrKTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuYm9keSB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuIiwiYSB7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5Q29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnlDb2xvckRhcmspO1xuICB9XG59XG4iLCJidXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cbiIsImgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuIiwiaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuIiwic3ZnIHsgZGlzcGxheTogYmxvY2s7IH1cbiIsIi5jYXJkLWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLmNhcmQtbGlzdF9faXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG4iLCIuY29udGFjdC1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQtbGFuZHNjYXBlLXVwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4uY29udGFjdC1saXN0X19pdGVtIHtcbiAgZmxleDogMTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kb3ZlR3JheSk7XG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIHBhZGRpbmc6IDIwcHggMTJweDtcblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC1wb3J0cmFpdC11cCkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQtbGFuZHNjYXBlLXVwKSB7XG4gICAgcGFkZGluZzogNDBweCAyNHB4IDM2cHggNyU7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cbiIsIi5jb250YWluZXIge1xuICBwYWRkaW5nOiAwIDEwcHg7XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQtcG9ydHJhaXQtdXApIHtcbiAgICBwYWRkaW5nOiAwIDUwcHg7XG4gIH1cbn1cbiIsIi5oZXJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQtbGFuZHNjYXBlLXVwKSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gICAgcGFkZGluZzogMCA1MHB4O1xuICB9XG59XG5cbi5oZXJvX19jYXB0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IC0zMHB4IDEwcHggMDtcbiAgcGFkZGluZzogMTRweCAxMHB4IDE4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQwLDE3NCwyOCwuOCk7XG4gIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250V2VpZ2h0QmxhY2spO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMjJweDtcblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC1wb3J0cmFpdC11cCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDU4cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogNjI1cHg7XG4gICAgcGFkZGluZzogMTRweCA1MHB4IDE4cHggMjRweDtcbiAgICBmb250LXNpemU6IDMycHg7XG4gIH1cblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC1sYW5kc2NhcGUtdXApIHtcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgIHBhZGRpbmc6IDE0cHggOTBweCAxOHB4IDQwcHg7XG4gICAgZm9udC1zaXplOiA0NHB4O1xuICB9XG59XG5cbi5oZXJvX19jYXB0aW9uLWJyZWFrIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC1wb3J0cmFpdC11cCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIubWVkaWEtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubWVkaWEtZ3JvdXBfX21haW4ge1xuICBtYXJnaW4tbGVmdDogMjRweDtcblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC1wb3J0cmFpdC11cCkge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICB9XG59XG5cbi5tZWRpYS1ncm91cF9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnlDb2xvcik7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250V2VpZ2h0RXh0cmFCb2xkKTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuXG4gIEBtZWRpYSAoLS1mb3ItdGFibGV0LXBvcnRyYWl0LXVwKSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG59XG5cbi5tZWRpYS1ncm91cF9fbGluayB7XG4gIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnlDb2xvcik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250V2VpZ2h0Tm9ybWFsKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1zZXJpZkZvbnQpO1xuICBsaW5lLWhlaWdodDogMTtcblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC1wb3J0cmFpdC11cCkge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgfVxufVxuXG5AbWVkaWEgKC0tZm9yLXRhYmxldC1wb3J0cmFpdC1kb3duKSB7XG4gIC5tZWRpYS1ncm91cF9faWNvbiA+IHN2ZyB7IHdpZHRoOiA0MHB4OyBoZWlnaHQ6IGF1dG87IH1cbn1cbiIsIi5uYXYtbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMjBweCAwIDEycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQtbGFuZHNjYXBlLWRvd24pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWxpc3RfX2l0ZW0ge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cblxuICAgICYgKyAubmF2LWxpc3RfX2l0ZW0ge1xuICAgICAgbWFyZ2luLXRvcDogMzZweDtcblxuICAgICAgQG1lZGlhICgtLWZvci10YWJsZXQtbGFuZHNjYXBlLXVwKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbn1cblxuLm5hdi1saW5rIHtcbiAgY29sb3I6IHZhcigtLXNlY29uZGFyeUNvbG9yKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRXZWlnaHRFeHRyYUJvbGQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA3ZW07XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQtcG9ydHJhaXQtdXApIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC1sYW5kc2NhcGUtdXApIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAbWVkaWEgKC0tZm9yLXRhYmxldC1sYW5kc2NhcGUtZG93bikge1xuICAgICAgY29sb3I6IGNvbG9yKHZhcigtLXNlY29uZGFyeUNvbG9yKSBzaGFkZSgzMCUpKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5wYWdlIHtcbiAgcGFkZGluZzogNjRweCAyN3B4O1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjUwcHgpO1xuXG4gIEBtZWRpYSAoLS1mb3ItdGFibGV0LXBvcnRyYWl0LXVwKSB7XG4gICAgcGFkZGluZy10b3A6IDExMHB4O1xuICB9XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQtbGFuZHNjYXBlLXVwKSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMTEwcHggNTBweCAxMTBweCA3N3B4O1xuICAgIG1heC13aWR0aDogMTQ0MHB4O1xuICB9XG59XG5cbi5wYWdlLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDgwMHB4O1xufVxuXG4ucGFnZV9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAzNnB4O1xufVxuXG4ucGFnZV9fc2VjdGlvbi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbn1cblxuLnBhZ2VfX2NvcHkge1xuICAmICsgLnBhZ2VfX3NlY3Rpb24tdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDQ4cHg7XG4gIH1cbn1cbiIsIi5zaXRlLWZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeUNvbG9yKTtcbn1cblxuLnNpdGUtZm9vdGVyX19tYWluIHtcbiAgcGFkZGluZzogMzJweCAyNHB4IDEwcHg7XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQteGwtcG9ydHJhaXQtdXApIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAyMHB4IDUwcHggNDBweDtcbiAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgfVxufVxuXG4uc2l0ZS1mb290ZXJfX2xvZ28ge1xuICB3aWR0aDogMjQ0cHg7XG4gIGhlaWdodDogMjZweDtcblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC14bC1wb3J0cmFpdC11cCkge1xuICAgIHdpZHRoOiAyODRweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgb3JkZXI6IDE7XG4gIH1cbn1cblxuLmNsaWVudC1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMThweCAyNHB4IDE2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRvdmVHcmF5KTtcbiAgYm94LXNoYWRvdzogMCAycHggMTRweCAwIHJnYmEoMCwwLDAsMC41KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udFdlaWdodEV4dHJhQm9sZCk7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6IHZhcigtLXNlY29uZGFyeUNvbG9yKTtcbiAgbWluLXdpZHRoOiAyNjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiA0NHB4O1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnlDb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IodmFyKC0tZG92ZUdyYXkpIHNoYWRlKDIwJSkpO1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC14bC1wb3J0cmFpdC11cCkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgb3JkZXI6IDI7XG4gIH1cbn1cblxuLnNpdGUtZm9vdGVyX19yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIEBtZWRpYSAoLS1mb3ItdGFibGV0LXhsLXBvcnRyYWl0LXVwKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cblxuLnNpdGUtZm9vdGVyX19yb3ctLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDE4cHg7XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQteGwtcG9ydHJhaXQtdXApIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICB9XG59XG5cbi5zaXRlLWZvb3Rlcl9fYWRkcmVzcyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWRvdmVHcmF5KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRXZWlnaHRFeHRyYUJvbGQpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luLWJvdHRvbTogNTRweDtcblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC14bC1wb3J0cmFpdC11cCkge1xuICAgIG1hcmdpbi1ib3R0b206IDQycHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuLnNpdGUtZm9vdGVyX19jb3B5cmlnaHQge1xuICBjb2xvcjogdmFyKC0tZG92ZUdyYXkpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udFdlaWdodEV4dHJhQm9sZCk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnNpdGUtZm9vdGVyX19uYXYge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC14bC1wb3J0cmFpdC11cCkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxufVxuXG4uc2l0ZS1mb290ZXJfX25hdi1pdGVtIHtcbiAgY29sb3I6IHZhcigtLWRvdmVHcmF5KTtcbiAgJiArIC5zaXRlLWZvb3Rlcl9fbmF2LWl0ZW06OmJlZm9yZSB7XG4gICAgY29udGVudDogJ3wnO1xuICAgIG1hcmdpbjogMCAyMHB4O1xuICB9XG59XG5cbi5mb290ZXItbGluayB7XG4gIGNvbG9yOiB2YXIoLS1kb3ZlR3JheSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRXZWlnaHRFeHRyYUJvbGQpO1xuXG4gIEBtZWRpYSAoLS1mb3ItdGFibGV0LXhsLXBvcnRyYWl0LXVwKSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59XG4iLCIuc2l0ZS1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nLWxlZnQ6IDI3cHg7XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQtbGFuZHNjYXBlLXVwKSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMCA1MHB4O1xuICAgIG1heC13aWR0aDogMTQ0MHB4O1xuICB9XG59XG5cbjpyb290IHtcbiAgLS1sb2dvV2lkdGg6IDEzMHB4O1xuICAtLWxvZ29IZWlnaHQ6IDcycHg7XG59XG5cbi5zaXRlLWhlYWRlcl9fbG9nbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcGFkZGluZzogMTBweCAxMnB4IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnlDb2xvcik7XG4gIHotaW5kZXg6IDE7XG5cbiAgJiA+IHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDczcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuXG4gICAgQG1lZGlhICgtLWZvci10YWJsZXQtcG9ydHJhaXQtdXApIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1sb2dvV2lkdGgpO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1sb2dvSGVpZ2h0KTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC1wb3J0cmFpdC11cCkge1xuICAgIHBhZGRpbmc6IDE0cHggMjJweDtcbiAgfVxuXG4gIEBtZWRpYSAoLS1mb3ItdGFibGV0LWxhbmRzY2FwZS11cCkge1xuICAgIG1hcmdpbi1sZWZ0OiAyN3B4O1xuICB9XG59XG5cbi5zaXRlLWhlYWRlcl9fbmF2IHtcbiAgZGlzcGxheTogbm9uZTtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC1sYW5kc2NhcGUtZG93bikge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IodmFyKC0tcHJpbWFyeUNvbG9yKSBhbHBoYSgtMTAlKSk7XG4gICAgcGFkZGluZy10b3A6IDEwdmg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAmLm5hdi1pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQtbGFuZHNjYXBlLXVwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG59XG5cbi5zaXRlLWhlYWRlcl9fbW9iaWxlLW5hdi1idG4ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMTRweCAxMnB4O1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblxuICAmIHN2ZyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC1sYW5kc2NhcGUtdXApIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zaXRlLWhlYWRlcl9fbW9iaWxlLW5hdi1jbG9zZS1idG4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICYgPiBzdmcge1xuICAgIGZpbGw6IHZhcigtLXNlY29uZGFyeUNvbG9yKTtcbiAgfVxuXG4gIEBtZWRpYSAoLS1mb3ItdGFibGV0LWxhbmRzY2FwZS11cCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi52YWx1ZS1jYXJkIHtcbiAgcGFkZGluZzogMTBweCAyMHB4IDI0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgYm94LXNoYWRvdzogMCAycHggMzRweCAwIHJnYmEoMCwwLDAsMC4xKTtcblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC1wb3J0cmFpdC11cCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyNHB4IDA7XG4gIH1cbn1cblxuLnZhbHVlLWNhcmRfX2ljb24ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZG92ZUdyYXkpO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC1wb3J0cmFpdC11cCkge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHBhZGRpbmc6IDEycHggMDtcbiAgICB3aWR0aDogMTgwcHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tZG92ZUdyYXkpO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cblxuICAmID4gc3ZnIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgKC0tZm9yLXRhYmxldC1wb3J0cmFpdC1kb3duKSB7XG4gIC52YWx1ZS1jYXJkX19pY29uID4gc3ZnIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC52YWx1ZS1jYXJkX19pY29uLS1zZXJ2aWNlID4gc3ZnIHsgd2lkdGg6IDM5cHg7IH1cbiAgLnZhbHVlLWNhcmRfX2ljb24tLXJlbGF0aW9uc2hpcCA+IHN2ZyB7IHdpZHRoOiA0M3B4OyB9XG4gIC52YWx1ZS1jYXJkX19pY29uLS10ZWFtd29yayA+IHN2ZyB7IHdpZHRoOiA1NXB4OyB9XG4gIC52YWx1ZS1jYXJkX19pY29uLS1pbnRlZ3JpdHkgPiBzdmcgeyB3aWR0aDogMzBweDsgfVxuICAudmFsdWUtY2FyZF9faWNvbi0tYXR0aXR1ZGUgPiBzdmcgeyB3aWR0aDogNTBweDsgfVxufVxuXG4udmFsdWUtY2FyZF9fbWFpbiB7XG4gIEBtZWRpYSAoLS1mb3ItdGFibGV0LXBvcnRyYWl0LXVwKSB7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiAwIDEwMHB4IDAgMzZweDtcbiAgfVxufVxuXG4udmFsdWUtY29weSB7XG4gIG1hcmdpbjogMTBweCAwIDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1zZXJpZkZvbnQpO1xuICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5Q29sb3IpO1xuXG4gIEBtZWRpYSAoLS1mb3ItdGFibGV0LXBvcnRyYWl0LXVwKSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgfVxufVxuXG4udmFsdWUtdGl0bGUge1xuICBmb250LWZhbWlseTogdmFyKC0tc2Fuc0ZvbnQpO1xufVxuIiwiLnNlY3Rpb24tdGl0bGUge1xuICBjb2xvcjogdmFyKC0tcHJpbWFyeUNvbG9yKTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udFdlaWdodEJvbGQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gIEBtZWRpYSAoLS1mb3ItdGFibGV0LXBvcnRyYWl0LXVwKSB7XG4gICAgZm9udC1zaXplOiAzNHB4O1xuICB9XG59XG5cbi5zZWN0aW9uLXRpdGxlLS1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zZWN0aW9uLWJsdXJiIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXNlcmlmRm9udCk7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgY29sb3I6IHZhcigtLXNlY29uZGFyeUNvbG9yKTtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG5cblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC1wb3J0cmFpdC11cCkge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgfVxufVxuXG4uc2VjdGlvbi1ibHVyYi0tbGlnaHQge1xuICBjb2xvcjogdmFyKC0td2hpdGUpO1xufVxuIiwiLmFib3V0LXNlY3Rpb24ge1xuICBwYWRkaW5nOiA2MHB4IDIwcHggNzBweDtcblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC1wb3J0cmFpdC11cCkge1xuICAgIHBhZGRpbmc6IDEwMHB4IDc1cHg7XG4gIH1cblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC1sYW5kc2NhcGUtdXApIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMTMycHggNTBweDtcbiAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi5hYm91dC1zZWN0aW9uX19sZWZ0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBtZWRpYSAoLS1mb3ItdGFibGV0LWxhbmRzY2FwZS11cCkge1xuICAgIGZsZXg6IDI7XG4gICAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgfVxuXG4gICYgPiAuc2VjdGlvbi10aXRsZSB7XG4gICAgQG1lZGlhICgtLWZvci10YWJsZXQtcG9ydHJhaXQtdXApIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuICB9XG59XG5cbi5hYm91dC1zZWN0aW9uX19yaWdodCB7XG4gIEBtZWRpYSAoLS1mb3ItdGFibGV0LWxhbmRzY2FwZS11cCkge1xuICAgIGZsZXg6IDM7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuIiwiLmNvbnRhY3Qtc2VjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNlbWVudEdyYXkpO1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC1wb3J0cmFpdC11cCkge1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG59XG5cbi5jb250YWN0LWNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogLTYwcHggYXV0byAwO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgYm94LXNoYWRvdzogMCAycHggMzRweCAwIHJnYmEoMCwwLDAsMC4xKTtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIHotaW5kZXg6IDE7XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQtcG9ydHJhaXQtdXApIHtcbiAgICBtYXJnaW4tdG9wOiAtOTBweDtcbiAgfVxufVxuXG4uY29udGFjdC1mb3JtIHtcbiAgcGFkZGluZzogMjRweCAxMHB4IDIwcHg7XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQtcG9ydHJhaXQtdXApIHtcbiAgICBwYWRkaW5nOiA0MnB4IDYwcHggMzhweDtcbiAgfVxuXG4gICYgPiAuc2VjdGlvbi10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcblxuICAgIEBtZWRpYSAoLS1mb3ItdGFibGV0LXBvcnRyYWl0LXVwKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tZm9yLXRhYmxldC1sYW5kc2NhcGUtdXApIHtcbiAgLmNvbnRhY3QtZm9ybV9fcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAmID4gLmNvbnRhY3QtaW5wdXQge1xuICAgICAgZmxleDogMTtcblxuICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jb250YWN0LWlucHV0IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZG92ZUdyYXkpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1zZXJpZkZvbnQpO1xuICBmb250LXNpemU6IDIycHg7XG4gIHBhZGRpbmc6IDE0cHggMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnlDb2xvckRhcmspO1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQtcG9ydHJhaXQtdXApIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICB9XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQtbGFuZHNjYXBlLXVwKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uY29udGFjdC1idXR0b24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnRXZWlnaHRFeHRyYUJvbGQpO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNlbTtcbiAgcGFkZGluZzogMTJweCAyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeUNvbG9yKTtcbiAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC1wb3J0cmFpdC11cCkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeUNvbG9yRGFyayk7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG5cbi5jb250YWN0LW1hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAzMTVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC1wb3J0cmFpdC11cCkge1xuICAgIGhlaWdodDogNjE1cHg7XG4gIH1cbn1cblxuLmNvbnRhY3QtbWFwX19pZnJhbWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyOiAwO1xufVxuIiwiLm1pc3Npb24tc2VjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeUNvbG9yKTtcbn1cblxuLm1pc3Npb24tc2VjdGlvbl9fbWFpbiB7XG4gIHBhZGRpbmc6IDYwcHggMjBweCA3MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQtcG9ydHJhaXQtdXApIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAxMzJweCA1MHB4O1xuICAgIG1heC13aWR0aDogODY0cHg7XG4gIH1cblxuICAmID4gLnNlY3Rpb24tdGl0bGUge1xuICAgIEBtZWRpYSAoLS1mb3ItdGFibGV0LXBvcnRyYWl0LXVwKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLnNlcnZpY2VzLXNlY3Rpb24ge1xuICBwYWRkaW5nOiA2MHB4IDA7XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQtcG9ydHJhaXQtdXApIHtcbiAgICBwYWRkaW5nOiA3NnB4IDAgMTE2cHg7XG4gIH1cblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC1sYW5kc2NhcGUtdXApIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgfVxufVxuXG4uc2VydmljZXMtc2VjdGlvbl9fbWFpbiB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIG1heC13aWR0aDogMTQ0MHB4O1xuXG4gIEBtZWRpYSAoLS1mb3ItdGFibGV0LWxhbmRzY2FwZS11cCkge1xuICAgIHBhZGRpbmc6IDAgNTBweDtcbiAgfVxuXG4gICYgPiAuc2VjdGlvbi10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIEBtZWRpYSAoLS1mb3ItdGFibGV0LXBvcnRyYWl0LXVwKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAoLS1mb3ItdGFibGV0LWxhbmRzY2FwZS11cCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNThweDtcbiAgICB9XG4gIH1cbn1cblxuLnNlcnZpY2UtY2FyZC1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQtbGFuZHNjYXBlLXVwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuXG4uc2VydmljZS1jYXJkIHtcbiAgbWFyZ2luOiAwIGF1dG8gMTBweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaGFkb3c6IDAgMnB4IDM0cHggMCByZ2JhKDAsMCwwLDAuMSk7XG4gIG1heC13aWR0aDogNDgwcHg7XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQtcG9ydHJhaXQtdXApIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICB9XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQtbGFuZHNjYXBlLXVwKSB7XG4gICAgZmxleDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJjpudGgtY2hpbGQoMSkge1xuICAgIEBtZWRpYSAoLS1mb3ItdGFibGV0LWxhbmRzY2FwZS11cCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtOHB4O1xuICAgIH1cbiAgfVxuXG4gICY6bnRoLWNoaWxkKDIpIHtcbiAgICBAbWVkaWEgKC0tZm9yLXRhYmxldC1sYW5kc2NhcGUtdXApIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICB9XG5cbiAgJjpudGgtY2hpbGQoMykge1xuICAgIEBtZWRpYSAoLS1mb3ItdGFibGV0LWxhbmRzY2FwZS11cCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1mb3ItdGFibGV0LWxhbmRzY2FwZS11cCkge1xuICAuc2VydmljZS1jYXJkLS1yZWNlc3NlZCB7XG4gICAgbWFyZ2luOiAzNnB4IDA7XG4gIH1cbn1cblxuLnNlcnZpY2UtY2FyZF9fdGl0bGUge1xuICBwYWRkaW5nOiAyOHB4IDI0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnlDb2xvcik7XG4gIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250V2VpZ2h0RXh0cmFCb2xkKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDIwcHg7XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQtcG9ydHJhaXQtdXApIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cbn1cblxuLnNlcnZpY2UtY2FyZF9fdGl0bGUtLWZlYXR1cmVkIHtcbiAgQG1lZGlhICgtLWZvci10YWJsZXQtbGFuZHNjYXBlLXVwKSB7XG4gICAgcGFkZGluZy10b3A6IDQ2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQ2cHg7XG4gIH1cbn1cblxuLnNlcnZpY2VzLWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDE2cHggMCAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgQG1lZGlhICgtLWZvci10YWJsZXQtbGFuZHNjYXBlLXVwKSB7XG4gICAgcGFkZGluZzogMzJweCAwIDI0cHg7XG4gIH1cbn1cblxuLnNlcnZpY2VzLWxpc3RfX2l0ZW0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1zZXJpZkZvbnQpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnlDb2xvcik7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC1wb3J0cmFpdC11cCkge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG4iLCIudmFsdWVzLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jZW1lbnRHcmF5KTtcbiAgcGFkZGluZzogMCAxMHB4O1xuXG4gIEBtZWRpYSAoLS1mb3ItdGFibGV0LXBvcnRyYWl0LXVwKSB7XG4gICAgcGFkZGluZzogMCA1MHB4O1xuICB9XG59XG5cbi52YWx1ZXMtc2VjdGlvbl9fbWFpbiB7XG4gIHBhZGRpbmc6IDYwcHggMDtcblxuICBAbWVkaWEgKC0tZm9yLXRhYmxldC1wb3J0cmFpdC11cCkge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDg0cHggMDtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgfVxuXG4gICYgPiAuc2VjdGlvbi10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIEBtZWRpYSAoLS1mb3ItdGFibGV0LXBvcnRyYWl0LXVwKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuICAgIH1cbiAgfVxufVxuIl19 */