@charset "UTF-8";
/*!
 *  Theme Name: noodles.com
 *  Theme URL: https://www.noodles.com/
 *  Description: A custom theme for Noodles & Company
 *  Author: 40Digits
 *  Author URI: http://www.40digits.com
 *  Version: 0.01 */
@import url("//hello.myfonts.net/count/2f8672");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

main, article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

html {
  box-sizing: border-box;
  overflow-y: scroll;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important; }

body {
  line-height: 1; }

*,
*:before,
*:after {
  position: relative;
  box-sizing: inherit; }
  @media (max-width: 959px) {
    * *,
    *:before *,
    *:after * {
      -webkit-tap-highlight-color: transparent; } }

img,
object,
embed {
  max-width: 100%;
  height: auto; }

blockquote, q {
  quotes: none; }

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

i,
em {
  font-style: italic; }

b,
strong {
  font-weight: bold; }

q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: inherit;
  font: 100%; }

th {
  font-weight: bold;
  vertical-align: bottom; }

td {
  font-weight: normal;
  vertical-align: top; }

input,
select {
  vertical-align: middle; }

input[type=search] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box; }
  input[type=search]::-webkit-search-cancel-button,
  input[type=search]::-webkit-search-decoration,
  input[type=search]::-webkit-search-results-button,
  input[type=search]::-webkit-search-results-decoration {
    -webkit-appearance: none; }

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  margin: 0; }

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

mark {
  background: #ff0;
  color: #000; }

pre {
  white-space: pre;
  white-space: pre-wrap;
  white-space: pre-line;
  word-wrap: break-word; }

pre,
code,
kbd,
samp {
  font-family: monospace, 	sans-serif; }

/** Returns a color with an optional tone from the map
 *
 * @param {string}  $color_name     The base name of the color
 * @param {tone}    ($tone|'base')  The tone of that color or 'base'
 *
 * @return {string} The matching color's value from the map
 */
body#tinymce.wp-editor {
  margin: 10px; }

/**
 * @license
 * MyFonts Webfont Build ID 3114610, 2015-10-27T16:29:08-0400
 *
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are
 * explicitly restricted from using the Licensed Webfonts(s).
 *
 * You may obtain a valid license at the URLs below.
 *
 * Webfont: District-Medium by GarageFonts
 * URL: http://www.myfonts.com/fonts/garagefonts/district/medium/
 *
 * Webfont: District-Bold by GarageFonts
 * URL: http://www.myfonts.com/fonts/garagefonts/district/bold/
 *
 *
 * License: http://www.myfonts.com/viewlicense?type=web&buildid=3114610
 * Licensed pageviews: 3,000,000
 * Webfonts copyright: Copyright (c) 2002 by Dylan Smith &amp; Kienan Smith. Published by GarageFonts USA 301-879-9222 - - www.garagefonts.com. All rights reserved.
 *
 * © 2015 MyFonts Inc
*/
/* @import must be at top of file, otherwise CSS will not work */
@font-face {
  font-family: 'District-Medium';
  src: url("https://www.noodles.com/wp-content/themes/noodles.com/assets/fonts/district/district-medium/2F8672_0_0.eot");
  src: url("https://www.noodles.com/wp-content/themes/noodles.com/assets/fonts/district/district-medium/2F8672_0_0.eot?#iefix") format("embedded-opentype"), url("https://www.noodles.com/wp-content/themes/noodles.com/assets/fonts/district/district-medium/2F8672_0_0.woff2") format("woff2"), url("https://www.noodles.com/wp-content/themes/noodles.com/assets/fonts/district/district-medium/2F8672_0_0.woff") format("woff"), url("https://www.noodles.com/wp-content/themes/noodles.com/assets/fonts/district/district-medium/2F8672_0_0.ttf") format("truetype"); }

@font-face {
  font-family: 'District-Bold';
  src: url("https://www.noodles.com/wp-content/themes/noodles.com/assets/fonts/district/district-bold/2F8672_1_0.eot");
  src: url("https://www.noodles.com/wp-content/themes/noodles.com/assets/fonts/district/district-bold/2F8672_1_0.eot?#iefix") format("embedded-opentype"), url("https://www.noodles.com/wp-content/themes/noodles.com/assets/fonts/district/district-bold/2F8672_1_0.woff2") format("woff2"), url("https://www.noodles.com/wp-content/themes/noodles.com/assets/fonts/district/district-bold/2F8672_1_0.woff") format("woff"), url("https://www.noodles.com/wp-content/themes/noodles.com/assets/fonts/district/district-bold/2F8672_1_0.ttf") format("truetype"); }

/* Generated by Font Squirrel (http://www.fontsquirrel.com) on September 29, 2015 */
/*
*   Oswald Bold is similar to Knockout. USING FOR TESTING PURPOSES ONLY.
*/
@media (max-width: 29.9375em) {
  head {
    font-family: "mq-tiny"; } }

@media (min-width: 30em) {
  head {
    font-family: "mq-mini"; } }

@media (min-width: 37.5em) {
  head {
    font-family: "mq-small"; } }

@media (min-width: 48em) {
  head {
    font-family: "mq-medium"; } }

@media (min-width: 60em) {
  head {
    font-family: "mq-large"; } }

@media (min-width: 76.25em) {
  head {
    font-family: "mq-xlarge"; } }

@media (min-width: 90em) {
  head {
    font-family: "mq-xxlarge"; } }

@media (min-width: 102.5em) {
  head {
    font-family: "mq-xxxlarge"; } }

title {
  font-family: "mq-tiny, mq-mini, mq-small, mq-medium, mq-large, mq-xlarge, mq-xxlarge, mq-xxxlarge"; }

.browse-happy p {
  display: block;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

.visually-hidden, .vh, .main-logo span, .global-search .search-button span, .search-label, .mobile-search .search-button span, .search-toggle span, #burger span, .careers-landing-quotes .slick-prev span,
.careers-landing-quotes .slick-next span, .careers-apply-search-form label, .careers-apply-search-form button.rarrow span, .locations-map-wrap .find-me span, .locations-search-form .symbol span, .locations-search-form label, .location-gallery-wrap .slick-prev span,
.location-gallery-wrap .slick-next span, .recent-headlines .slick-prev span,
.recent-headlines .slick-next span {
  margin: -1px;
  padding: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip: rect(0, 0, 0, 0);
  position: absolute; }

ul {
  list-style: none;
  padding: 0;
  margin: 0; }

input[type="submit"], .global-search .search-button, .mobile-search .search-button, #burger, .button, .careers-landing-quotes .slick-prev,
.careers-landing-quotes .slick-next, .careers-apply-search-form button.rarrow, .locations-map-wrap .find-me, .locations-search-form .symbol, .location-gallery-wrap .slick-prev,
.location-gallery-wrap .slick-next, .recent-headlines .slick-prev,
.recent-headlines .slick-next {
  background: transparent;
  outline: none;
  border: 0;
  padding: 0;
  margin: 0;
  font-size: 1em;
  cursor: pointer; }

.hero, .image-module, .media {
  background-repeat: no-repeat;
  background-size: cover;
  -ms-behavior: url("assets/images/backgroundsize.min.htc");
  background-position: center center; }

.cf,
.clear,
.clearfix, .content-grid, .content-grid .content-grid-row, .made-different-main .made-different-callout-section, .made-different-cta-links {
  zoom: 1; }
  .cf:before,
  .clear:before,
  .clearfix:before,
  .content-grid:before,
  .content-grid .content-grid-row:before,
  .made-different-main .made-different-callout-section:before,
  .made-different-cta-links:before,
  .cf:after,
  .clear:after,
  .clearfix:after, .content-grid:after, .content-grid .content-grid-row:after, .made-different-main .made-different-callout-section:after, .made-different-cta-links:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .cf:after,
  .clear:after,
  .clearfix:after, .content-grid:after, .content-grid .content-grid-row:after, .made-different-main .made-different-callout-section:after, .made-different-cta-links:after {
    clear: both; }

@font-face {
  font-family: "symbols";
  src: url("assets/fonts/symbols/symbols.eot");
  src: url("assets/fonts/symbols/symbols.eot?#iefix") format("eot"), url("assets/fonts/symbols/symbols.woff") format("woff"), url("assets/fonts/symbols/symbols.ttf") format("truetype"), url("assets/fonts/symbols/symbols.svg#symbols") format("svg");
  font-weight: normal;
  font-style: normal; }

.global-search .search-button i:before, .mobile-search .search-button i:before, .search-toggle:before, .gform_wrapper .gfield_error .validation_message:before, i.rarrow:before,
i.larrow:before, i.spicy:before, i.veggie:before, i.print:before, .custom-checkbox-wrap .stunt-double:after, .locations-map-wrap .find-me > i:before, .locations-search-form i.search:before, .locations-results .result-amenity .check:before, .location-amenities-wrap .location-amenities .check:before, .newsroom-press-releases-wrap .press-release-download-link .download-link:after, .multimedia-main .image-preview .action-tag i:after, .multimedia-main .download-link:after, .media-video .action-tag i:after {
  font-family: "symbols";
  width: 1em;
  margin: 0;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-align: center;
  text-decoration: inherit;
  text-transform: none;
  line-height: 1em;
  speak: none; }

.symbol:before {
  font-family: "symbols";
  width: 1em;
  margin: 0;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-align: center;
  text-decoration: inherit;
  text-transform: none;
  line-height: 1em;
  speak: none; }

.s-alert:before {
  content: "\E001"; }

.s-arrow-down:before {
  content: "\E002"; }

.s-arrow-right:before {
  content: "\E003"; }

.s-arrow-up:before {
  content: "\E004"; }

.s-check:before {
  content: "\E005"; }

.s-close:before {
  content: "\E006"; }

.s-facebook:before {
  content: "\E007"; }

.s-instagram:before {
  content: "\E008"; }

.s-location:before {
  content: "\E009"; }

.s-magnify:before {
  content: "\E00A"; }

.s-pinterest:before {
  content: "\E00B"; }

.s-play:before {
  content: "\E00C"; }

.s-printer:before {
  content: "\E00D"; }

.s-search:before {
  content: "\E00E"; }

.s-spicy:before {
  content: "\E00F"; }

.s-tumblr:before {
  content: "\E010"; }

.s-twitter:before {
  content: "\E011"; }

.s-veggie:before {
  content: "\E012"; }

.sprite-sample {
  background-image: url("assets/images/sprites/sprite-sample.png"); }

@media (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 0.75), (min-resolution: 72dpi) {
  .sprite-sample {
    background-image: url("assets/images/sprites/sprite-sample@2x.png");
    background-size: 190px 100px; } }

.main-header .row, .main-footer .row, .main-footer .footer-nav, .main-footer .footer-info {
  max-width: 120rem;
  width: 100%;
  margin: 0 auto;
  padding-left: 2rem;
  padding-right: 2rem;
  zoom: 1;
  overflow: hidden; }
  @media (min-width: 48em) {
    .main-header .row, .main-footer .row, .main-footer .footer-nav, .main-footer .footer-info {
      padding-left: 4rem;
      padding-right: 4rem; } }
  @media (min-width: 76.25em) {
    .main-header .row, .main-footer .row, .main-footer .footer-nav, .main-footer .footer-info {
      padding-left: 7.5rem;
      padding-right: 7.5rem; } }
  .main-header .row:before,
  .main-footer .row:before,
  .main-footer .footer-nav:before,
  .main-footer .footer-info:before,
  .main-header .row:after, .main-footer .row:after, .main-footer .footer-nav:after, .main-footer .footer-info:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .main-header .row:after, .main-footer .row:after, .main-footer .footer-nav:after, .main-footer .footer-info:after {
    clear: both; }

.hero.full .heading {
  text-shadow: 0px 0px 7px rgba(0, 0, 0, 0.52); }

body#tinymce.wp-editor p,
.wysiwyg p,
body#tinymce.wp-editor li, .wysiwyg li, p,
dl,
address {
  font-size: 1.6rem;
  line-height: 1.5; }

.hero.full .subheading,
.hero.short .heading {
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  font-size: 2.4rem; }
  @media (min-width: 37.5em) {
    .hero.full .subheading,
    .hero.short .heading {
      font-size: 2.8rem; } }
  @media (min-width: 60em) {
    .hero.full .subheading,
    .hero.short .heading {
      font-size: 3.2rem; } }

.featured-heading {
  display: block;
  font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
  font-weight: normal;
  text-align: center;
  text-transform: uppercase;
  font-size: 2.8rem;
  margin-bottom: 1.5rem; }
  @media (min-width: 48em) {
    .featured-heading {
      margin-bottom: 2rem;
      font-size: 3.2rem; } }
  @media (min-width: 60em) {
    .featured-heading {
      font-size: 3.6rem;
      margin-bottom: 3rem; } }
  @media (min-width: 76.25em) {
    .featured-heading {
      font-size: 4.2rem; } }
  @media print {
    .featured-heading {
      margin-bottom: 0;
      font-size: 2.4rem; } }
  .featured-heading span {
    display: inline-block; }
  .featured-heading span.left,
  .featured-heading span.right {
    display: none; }
  .featured-heading span.title {
    z-index: 1;
    padding-left: 20px;
    padding-right: 20px;
    background-color: #fff; }
  .featured-heading:before,
  .featured-heading:after {
    content: '';
    display: inline-block;
    width: 100%;
    height: 4px;
    background-color: #ded2b2;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .featured-heading:before {
    left: 0; }
  .featured-heading:after {
    right: 0; }

@media (min-width: 48em) {
  .featured-heading-medium {
    display: block;
    font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
    font-weight: normal;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 2rem;
    font-size: 3.2rem; } }
  @media (min-width: 48em) and (min-width: 60em) {
    .featured-heading-medium {
      font-size: 3.6rem;
      margin-bottom: 3rem; } }
  @media print and (min-width: 48em) {
    .featured-heading-medium {
      margin-bottom: 0;
      font-size: 2.4rem; } }

@media (min-width: 48em) {
    .featured-heading-medium span.left,
    .featured-heading-medium span.right {
      display: none; }
    .featured-heading-medium span.title {
      z-index: 1;
      padding-left: 20px;
      padding-right: 20px;
      background-color: #fff; }
    .featured-heading-medium:before,
    .featured-heading-medium:after {
      content: '';
      display: inline-block;
      width: 100%;
      height: 4px;
      background-color: #ded2b2;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }
    .featured-heading-medium:before {
      left: 0; }
    .featured-heading-medium:after {
      right: 0; } }

body#tinymce.wp-editor, .wysiwyg {
  white-space: normal; }
  body#tinymce.wp-editor h1,
  .wysiwyg h1,
  body#tinymce.wp-editor h2,
  .wysiwyg h2,
  body#tinymce.wp-editor h3, .wysiwyg h3 {
    margin-bottom: 1rem; }
    @media (min-width: 48em) {
      body#tinymce.wp-editor h1,
      .wysiwyg h1,
      body#tinymce.wp-editor h2,
      .wysiwyg h2,
      body#tinymce.wp-editor h3, .wysiwyg h3 {
        margin-bottom: 3rem; } }
  body#tinymce.wp-editor h4,
  .wysiwyg h4,
  body#tinymce.wp-editor h5,
  .wysiwyg h5,
  body#tinymce.wp-editor h6, .wysiwyg h6 {
    margin-bottom: 1rem; }
    @media (min-width: 48em) {
      body#tinymce.wp-editor h4,
      .wysiwyg h4,
      body#tinymce.wp-editor h5,
      .wysiwyg h5,
      body#tinymce.wp-editor h6, .wysiwyg h6 {
        margin-bottom: 2rem; } }
  body#tinymce.wp-editor p, .wysiwyg p {
    margin-bottom: 1em; }
    body#tinymce.wp-editor p:last-child, .wysiwyg p:last-child {
      margin-bottom: 0; }
  body#tinymce.wp-editor ul,
  .wysiwyg ul,
  body#tinymce.wp-editor ol, .wysiwyg ol {
    margin-bottom: 2rem;
    margin-left: 3rem; }
  body#tinymce.wp-editor ul li, .wysiwyg ul li {
    list-style-type: disc; }
  body#tinymce.wp-editor .p-small, .wysiwyg .p-small {
    font-size: 1.4rem; }

::-moz-selection {
  background: #777;
  color: #fff;
  text-shadow: none; }

::selection {
  background: #777;
  color: #fff;
  text-shadow: none; }

html {
  font-size: 62.5%; }

body {
  background: #fff;
  overflow: hidden;
  color: #3b2014;
  font-family: "District-Medium", sans-serif, Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-weight: normal;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004); }

a {
  color: #b0262e;
  text-decoration: none;
  font-family: "District-Bold", sans-serif;
  font-weight: normal; }
  a:hover,
  a:focus,
  a:active {
    color: #89060e; }
  a:focus {
    outline: none; }

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1; }
  h1 a,
  h2 a,
  h3 a,
  h4 a,
  h5 a,
  h6 a {
    color: #4f2b1c; }

h2 {
  font-size: 4.8rem;
  font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
  font-weight: normal;
  text-transform: uppercase;
  color: #4f2b1c;
  font-weight: normal;
  letter-spacing: 1px; }
  @media (min-width: 37.5em) {
    h2 {
      font-size: 4.8rem; } }
  @media (min-width: 60em) {
    h2 {
      font-size: 6rem; } }

h3 {
  font-size: 3.6rem;
  font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
  font-weight: normal;
  text-transform: uppercase;
  color: #4f2b1c;
  font-weight: normal;
  letter-spacing: 1px; }
  @media (min-width: 37.5em) {
    h3 {
      font-size: 3.6rem; } }
  @media (min-width: 60em) {
    h3 {
      font-size: 3.6rem; } }

h4 {
  font-size: 1.8rem;
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  color: #4f2b1c;
  font-weight: normal;
  letter-spacing: 0px; }
  @media (min-width: 37.5em) {
    h4 {
      font-size: 1.8rem; } }
  @media (min-width: 60em) {
    h4 {
      font-size: 2.4rem; } }

h5 {
  font-size: 1.4rem;
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  color: #4f2b1c;
  font-weight: normal; }
  @media (min-width: 37.5em) {
    h5 {
      font-size: 1.4rem; } }
  @media (min-width: 60em) {
    h5 {
      font-size: 1.4rem; } }

p,
li,
dt,
dd {
  font-weight: normal;
  font-style: normal; }

li {
  line-height: 1; }

input,
textarea,
select {
  outline: none;
  display: block;
  border-radius: 0;
  border: 0.3rem solid #ded2b2;
  padding: 0.5rem 1rem;
  margin: 0;
  width: 100%;
  font-size: 1.4rem; }

label {
  color: #4f2b1c; }

input,
textarea {
  color: #4f2b1c; }

select {
  background: #fff;
  height: 3rem;
  padding: 0.5rem 1rem; }

select[multiple] {
  height: auto; }

input[type="checkbox"] {
  vertical-align: bottom; }

input[type="radio"] {
  vertical-align: text-bottom; }

label {
  font-weight: 400; }

input:focus,
textarea:focus {
  outline: none;
  border-color: #c8bb98;
  color: #4f2b1c; }

input[type="submit"] {
  border-radius: 0;
  height: auto; }

.placeholder {
  color: #000; }

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #000; }

input:-moz-placeholder,
textarea:-moz-placeholder {
  color: #000; }

input::-moz-placeholder,
textarea::-moz-placeholder {
  color: #000; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #000; }

input:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder {
  color: blue; }

input:focus:-moz-placeholder,
textarea:focus:-moz-placeholder {
  color: blue; }

input:focus::-moz-placeholder,
textarea:focus::-moz-placeholder {
  color: blue; }

input:focus:-ms-input-placeholder,
textarea:focus:-ms-input-placeholder {
  color: blue; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0; }

input[type=number] {
  -moz-appearance: textfield; }

input[type="text"],
input[type="time"],
input[type="url"],
input[type="email"],
input[type="password"],
input[type="button"],
input[type="submit"],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none; }

.hide {
  display: none; }

@media (max-width: 59.9375em) {
  .hide-mobile {
    display: none !important; } }

.root {
  margin-top: 5.3rem; }
  @media (min-width: 60em) {
    .root {
      margin-top: 11.7rem; } }
  @media (min-width: 76.25em) {
    .root {
      margin-top: 12.1rem; } }
  @media print {
    .root {
      margin-top: 0; } }
  .root.headless {
    margin-top: 0; }

.container {
  padding-left: 2rem;
  padding-right: 2rem;
  max-width: 120rem;
  width: 100%;
  margin: 0 auto; }
  @media (min-width: 48em) {
    .container {
      padding-left: 4rem;
      padding-right: 4rem; } }
  @media (min-width: 76.25em) {
    .container {
      padding-left: 7.5rem;
      padding-right: 7.5rem; } }
  @media (min-width: 90em) {
    .container {
      max-width: 144rem;
      width: 100%;
      margin: 0 auto; } }
  @media print {
    .container {
      width: 100%;
      padding-left: 0;
      padding-right: 0; } }

.container-medium {
  padding-left: 2rem;
  padding-right: 2rem;
  max-width: 120rem;
  width: 100%;
  margin: 0 auto; }
  @media (min-width: 48em) {
    .container-medium {
      padding-left: 4rem;
      padding-right: 4rem; } }
  @media (min-width: 76.25em) {
    .container-medium {
      padding-left: 7.5rem;
      padding-right: 7.5rem; } }
  @media print {
    .container-medium {
      width: 100%;
      padding-left: 0;
      padding-right: 0; } }

.intro-section {
  margin: 0 auto;
  text-align: center;
  max-width: 60rem;
  zoom: 1; }
  .intro-section:before,
  .intro-section:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .intro-section:after {
    clear: both; }
  @media (min-width: 60em) {
    .intro-section {
      max-width: 90rem; } }
  .intro-section .intro-heading {
    padding: 3rem 2rem;
    font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
    font-weight: normal;
    font-size: 3.6rem;
    text-transform: uppercase; }
    @media (min-width: 37.5em) {
      .intro-section .intro-heading {
        font-size: 4.2rem;
        padding-top: 4rem;
        padding-bottom: 2.5rem; } }
    @media (min-width: 60em) {
      .intro-section .intro-heading {
        font-size: 4.8rem;
        padding-top: 5rem;
        padding-bottom: 3rem; } }
  .intro-section .intro-copy {
    font-size: 1.8rem;
    margin-bottom: 2rem; }
    @media (min-width: 48em) {
      .intro-section .intro-copy {
        margin-bottom: 3rem; } }
  .intro-section .cta-wrap {
    display: inline-block;
    zoom: 1;
    margin-bottom: 3rem; }
    .intro-section .cta-wrap:before,
    .intro-section .cta-wrap:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .intro-section .cta-wrap:after {
      clear: both; }
    @media (min-width: 48em) {
      .intro-section .cta-wrap {
        margin-bottom: 5rem; } }
  .intro-section .cta {
    padding-top: 1rem;
    padding-bottom: 1rem; }
    @media (min-width: 48em) {
      .intro-section .cta {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem; } }

.cta-link {
  padding-right: 1.5rem;
  text-transform: uppercase;
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  color: #b0262e;
  letter-spacing: 0.2em;
  font-size: 1.4rem;
  display: inline-block; }
  .cta-link:after {
    content: '';
    width: 0;
    height: 0;
    display: inline-block;
    position: absolute;
    -webkit-transition: all 300ms;
            transition: all 300ms;
    margin-left: 0.5rem;
    margin-top: 1px;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid #b0262e; }
    @media (min-width: 48em) {
      .cta-link:after {
        margin-left: 1rem; } }

.cta-link-alt {
  color: #b0262e;
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  font-size: 1.4rem; }
  .cta-link-alt.rarrow:after,
  .cta-link-alt.larrow:before {
    content: '';
    width: 0;
    height: 0;
    display: inline-block;
    margin-top: 1px;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent; }
  .cta-link-alt.rarrow:after {
    margin-left: 0.5rem;
    border-left: 5px solid #b0262e; }
    @media (min-width: 48em) {
      .cta-link-alt.rarrow:after {
        margin-left: 1rem; } }
  .cta-link-alt.larrow:before {
    margin-right: 0.5rem;
    border-right: 5px solid #b0262e; }
    @media (min-width: 48em) {
      .cta-link-alt.larrow:before {
        margin-right: 1rem; } }

.centered {
  text-align: center; }

@media (max-width: 47.9375em) {
  table.responsive-table {
    display: block;
    height: auto !important; }
    table.responsive-table thead, table.responsive-table tbody, table.responsive-table th, table.responsive-table td, table.responsive-table tr {
      display: block;
      height: auto !important; }
    table.responsive-table td {
      width: 100%;
      margin-bottom: 1em; } }

.main-header {
  position: fixed;
  z-index: 20;
  top: 0;
  left: 0;
  width: 100%;
  height: 5.2rem;
  color: #b0262e;
  background-color: #f5edd9; }
  @media (min-width: 60em) {
    .main-header {
      height: 11.8rem; } }
  @media (min-width: 76.25em) {
    .main-header {
      height: 12.2rem; } }
  @media print {
    .main-header {
      position: absolute;
      background: transparent; } }
  .main-header .row {
    overflow: visible; }
    @media (min-width: 76.25em) {
      .main-header .row {
        padding-right: 0;
        padding-left: 0; } }

.main-logo {
  position: absolute;
  z-index: 20;
  top: 1rem;
  display: inline-block;
  width: 11.5rem; }
  @media (min-width: 30em) {
    .main-logo {
      width: 13rem; } }
  @media (min-width: 37.5em) {
    .main-logo {
      width: 14.5rem; } }
  @media (min-width: 48em) {
    .main-logo {
      width: 16rem; } }
  @media (min-width: 60em) {
    .main-logo {
      top: 2.5rem;
      width: 19rem; } }
  @media (min-width: 76.25em) {
    .main-logo {
      top: 3rem;
      width: 20rem; } }
  @media (min-width: 90em) {
    .main-logo {
      top: 2.5rem;
      width: 25rem; } }
  @media print {
    .main-logo {
      left: 20px;
      top: 20px;
      width: 10rem; } }
  .main-logo img {
    width: 100%; }

.global-search {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  width: calc(100% - 181px);
  max-width: 0;
  height: 100%;
  padding: 0.3rem;
  -webkit-transition: opacity 250ms cubic-bezier(0.63, 0.64, 0.3, 1), max-width 400ms cubic-bezier(0.63, 0.64, 0.3, 1);
          transition: opacity 250ms cubic-bezier(0.63, 0.64, 0.3, 1), max-width 400ms cubic-bezier(0.63, 0.64, 0.3, 1);
  text-align: right;
  opacity: 0;
  background-color: #fff;
  overflow: hidden; }
  @media (min-width: 60em) {
    .global-search {
      width: calc(465px); } }
  .global-search .search-input,
  .global-search .search-button {
    height: 4.6rem; }
  .global-search .search-input {
    font-size: 1.3rem;
    width: calc(100% - 70px);
    padding: 0.35rem 1rem;
    padding-right: 4rem;
    color: #4f2b1c;
    border: 0;
    border: 3px solid transparent; }
    @media (min-width: 60em) {
      .global-search .search-input {
        width: 42rem; } }
    .global-search .search-input::-webkit-input-placeholder {
      color: rgba(79, 43, 28, 0.5); }
    .global-search .search-input:-moz-placeholder {
      color: rgba(79, 43, 28, 0.5); }
    .global-search .search-input::-moz-placeholder {
      color: rgba(79, 43, 28, 0.5); }
    .global-search .search-input:-ms-input-placeholder {
      color: rgba(79, 43, 28, 0.5); }
  .global-search .search-button {
    font-size: 1.2rem;
    position: absolute;
    right: 10px;
    top: 5px;
    padding: 0 1rem;
    text-transform: uppercase;
    color: #b0262e;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004); }
    .global-search .search-button i {
      color: #b0262e; }
      .global-search .search-button i:before {
        top: -0.1rem;
        content: '\E00E'; }
  .search-open .global-search {
    opacity: 1;
    -webkit-transition: opacity 250ms cubic-bezier(0.63, 0.64, 0.3, 1) 200ms, max-width 400ms cubic-bezier(0.63, 0.64, 0.3, 1);
            transition: opacity 250ms cubic-bezier(0.63, 0.64, 0.3, 1) 200ms, max-width 400ms cubic-bezier(0.63, 0.64, 0.3, 1);
    max-width: calc(100% - 181px); }
    @media (min-width: 60em) {
      .search-open .global-search {
        max-width: 465px; } }
    .search-open .global-search .search-input {
      border-color: #ded2b2;
      -webkit-transition: border-color 500ms cubic-bezier(0.63, 0.64, 0.3, 1) 400ms;
              transition: border-color 500ms cubic-bezier(0.63, 0.64, 0.3, 1) 400ms; }

.mobile-search {
  text-align: center;
  width: 100%; }
  .mobile-search .search-input,
  .mobile-search .search-button {
    height: 4.9rem; }
  .mobile-search .search-input-wrap {
    position: relative; }
  .mobile-search .search-input {
    font-size: 1.6rem;
    width: 100%;
    padding: 0.35rem 1rem;
    padding-right: 4rem;
    color: #4f2b1c;
    border: 3px solid #c8bb98; }
    .mobile-search .search-input::-webkit-input-placeholder {
      color: rgba(79, 43, 28, 0.5); }
    .mobile-search .search-input:-moz-placeholder {
      color: rgba(79, 43, 28, 0.5); }
    .mobile-search .search-input::-moz-placeholder {
      color: rgba(79, 43, 28, 0.5); }
    .mobile-search .search-input:-ms-input-placeholder {
      color: rgba(79, 43, 28, 0.5); }
  .mobile-search .search-button {
    font-size: 1.2rem;
    position: absolute;
    right: 10px;
    top: 3px;
    padding: 0 1rem;
    text-transform: uppercase;
    color: #b0262e;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004); }
    .mobile-search .search-button i {
      color: #b0262e; }
      .mobile-search .search-button i:before {
        top: -0.2rem;
        content: '\E00E'; }
  .search-open .mobile-search {
    opacity: 1;
    max-width: calc(100% - 181px); }
    @media (min-width: 60em) {
      .search-open .mobile-search {
        max-width: 465px; } }
    .search-open .mobile-search .search-input {
      border-color: #ded2b2;
      -webkit-transition: border-color 500ms cubic-bezier(0.63, 0.64, 0.3, 1) 400ms;
              transition: border-color 500ms cubic-bezier(0.63, 0.64, 0.3, 1) 400ms; }

.main-footer {
  background-color: #4f2b1c;
  color: #ded2b2;
  font-family: "District-Medium", sans-serif;
  font-weight: normal;
  font-size: 1.4rem; }
  @media print {
    .main-footer {
      display: none; } }
  .main-footer a {
    color: #ded2b2;
    font-weight: 700; }
    .main-footer a:hover,
    .main-footer a:focus {
      color: #c8bb98; }
  .main-footer .footer-nav-wrap {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem; }
    @media (min-width: 48em) {
      .main-footer .footer-nav-wrap {
        padding-bottom: 3rem; } }
  .main-footer .footer-nav {
    margin-top: 3rem; }
    .main-footer .footer-nav > ul {
      zoom: 1;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-box-pack: left;
      -webkit-justify-content: left;
          -ms-flex-pack: left;
              justify-content: left; }
      .main-footer .footer-nav > ul:before,
      .main-footer .footer-nav > ul:after {
        content: "\0020";
        display: block;
        height: 0;
        overflow: hidden; }
      .main-footer .footer-nav > ul:after {
        clear: both; }
      @media (min-width: 60em) {
        .main-footer .footer-nav > ul {
          -webkit-box-pack: justify;
          -webkit-justify-content: space-between;
              -ms-flex-pack: justify;
                  justify-content: space-between; } }
  .main-footer .nav-item {
    display: block;
    margin-bottom: 1.5rem;
    padding-right: 2rem; }
    @media (min-width: 37.5em) {
      .main-footer .nav-item {
        padding-right: 3rem; } }
    @media (min-width: 60em) {
      .main-footer .nav-item {
        padding-right: 4rem; } }
  .main-footer .nav-main-item {
    display: inline-block;
    float: left;
    margin-bottom: 4rem;
    width: 50%; }

@media (min-width: 37.5em) and (max-width: 59.9375em) {
  .main-footer .nav-main-item {
    width: 33.3333333%; } }
    @media (min-width: 60em) {
      .main-footer .nav-main-item {
        width: inherit; } }
  .main-footer .nav-main-link {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    font-size: 1.6rem; }
    .main-footer .nav-main-link:hover,
    .main-footer .nav-main-link:focus {
      color: inherit; }
  .main-footer .nav-drop-item {
    font-family: "District-Bold", sans-serif;
    font-weight: normal; }
    .main-footer .nav-drop-item a {
      font-weight: 400; }
  .main-footer .to-top {
    display: block;
    text-align: center; }
    .main-footer .to-top::before,
    .main-footer .to-top::after {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      content: "";
      height: 0.3rem;
      width: calc(50% - 40px);
      background-color: #3b2014; }
    .main-footer .to-top::before {
      left: 0; }
    .main-footer .to-top::after {
      right: 0; }
    .main-footer .to-top a:hover,
    .main-footer .to-top a:focus {
      color: inherit;
      cursor: pointer; }
    .main-footer .to-top i {
      background-color: #4f2b1c;
      display: inline-block;
      font-size: 4rem; }
      .main-footer .to-top i:before {
        top: 3px;
        left: 1px; }
      .main-footer .to-top i:hover:before,
      .main-footer .to-top i:focus:before {
        color: #c8bb98; }
  .main-footer .footer-info-wrap {
    background-color: #3b2014; }
  .main-footer .footer-info {
    color: #fff;
    padding-top: 2rem;
    padding-bottom: 1.3rem;
    border-top: 1px solid #442518; }
    @media (min-width: 48em) {
      .main-footer .footer-info {
        padding-top: 1.3rem; } }
  .main-footer .copy-privacy {
    zoom: 1; }
    .main-footer .copy-privacy:before,
    .main-footer .copy-privacy:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .main-footer .copy-privacy:after {
      clear: both; }
    @media (max-width: 47.9375em) {
      .main-footer .copy-privacy {
        margin-top: 1rem; } }
    @media (min-width: 48em) {
      .main-footer .copy-privacy {
        display: inline-block;
        float: left;
        margin-top: 1.3rem; } }
  @media (max-width: 47.9375em) {
    .main-footer .copy,
    .main-footer .privacy {
      display: inline-block;
      float: left; } }
  @media (max-width: 47.9375em) {
    .main-footer .copy {
      width: 60%; } }
  @media (min-width: 37.5em) {
    .main-footer .copy br {
      display: none; } }
  .main-footer .privacy {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    color: #ded2b2; }
    @media (max-width: 47.9375em) {
      .main-footer .privacy {
        width: 40%;
        text-align: right; } }
    @media (min-width: 48em) {
      .main-footer .privacy {
        margin-left: 1rem; } }
  .main-footer .social {
    display: block;
    font-size: 0;
    position: relative;
    list-style: none;
    text-align: center; }
    @media (max-width: 47.9375em) {
      .main-footer .social {
        margin-top: 1.5rem; } }
    @media (min-width: 48em) {
      .main-footer .social {
        float: right;
        display: inline-block; } }
    .main-footer .social i:before {
      color: #f5edd9; }
    .main-footer .social li {
      display: inline-block;
      width: 3.5rem;
      height: 3.5rem;
      background-color: #b0262e;
      margin: 0.3rem; }
      @media (min-width: 48em) {
        .main-footer .social li:last-child {
          margin-right: 0; } }
      .main-footer .social li a {
        display: inline-block;
        width: 100%;
        height: 100%; }
        .main-footer .social li a:hover,
        .main-footer .social li a:focus {
          background-color: #89060e; }
      .main-footer .social li i {
        display: inline-block;
        top: 50%;
        left: 0;
        -webkit-transform: translate(0, -50%);
            -ms-transform: translate(0, -50%);
                transform: translate(0, -50%);
        font-size: 2rem;
        line-height: 1; }

.header-nav ul {
  display: inline-block;
  float: right; }

.header-nav li {
  display: inline-block;
  float: left;
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  text-transform: uppercase;
  letter-spacing: 0.2em; }

.nav-top {
  background-color: #fff;
  font-size: 1.2rem; }
  @media print {
    .nav-top {
      background: transparent; } }
  @media (max-width: 59.9375em) {
    .nav-top ul {
      padding: 1rem 0; } }
  @media print {
    .nav-top ul {
      display: none; } }
  .nav-top .nav-child {
    color: #b0262e;
    padding: 2rem;
    display: inline-block; }
    .nav-top .nav-child:hover,
    .nav-top .nav-child:focus {
      color: #89060e; }
  .nav-top button.search-toggle {
    line-height: 0; }

@media print {
  .nav-main {
    display: none; } }

.nav-main .nav-main-wrap {
  padding-top: 4rem; }
  @media (min-width: 30em) {
    .nav-main .nav-main-wrap {
      padding-top: 5rem; } }
  @media (min-width: 37.5em) {
    .nav-main .nav-main-wrap {
      padding-top: 6rem; } }
  @media (min-width: 48em) {
    .nav-main .nav-main-wrap {
      padding-top: 7rem; } }
  @media (max-width: 59.9375em) {
    .nav-main .nav-main-wrap {
      visibility: hidden;
      opacity: 0;
      width: 100%;
      height: calc(100% - 52px);
      position: fixed;
      top: 52px;
      left: 0;
      background: #fff; }
      .nav-open .nav-main .nav-main-wrap {
        visibility: visible;
        opacity: 1;
        -webkit-transform: translateY(0);
            -ms-transform: translateY(0);
                transform: translateY(0);
        z-index: 2;
        overflow: scroll;
        -webkit-overflow-scrolling: touch; } }
  @media (min-width: 60em) {
    .nav-main .nav-main-wrap {
      padding-top: 0;
      margin-right: -1.5rem;
      position: relative;
      top: auto;
      left: auto;
      visibility: visible;
      opacity: 1;
      float: right;
      padding: 0;
      width: auto;
      background: transparent;
      overflow: visible;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; } }
  @media (min-width: 76.25em) {
    .nav-main .nav-main-wrap {
      margin-right: -2.7rem; } }
  @media (max-width: 59.9375em) {
    .nav-main .nav-main-wrap ul {
      float: none; } }

.nav-main .nav-main-menu {
  width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch; }
  @media (max-width: 59.9375em) {
    .nav-main .nav-main-menu {
      padding: 0 2rem 2rem; } }

.nav-main .nav-main-link {
  padding: 1.8rem 0;
  display: inline-block;
  color: #b0262e;
  width: 100%; }
  @media (min-width: 60em) {
    .nav-main .nav-main-link {
      padding: 2.7rem 1.2rem; } }
  @media (min-width: 76.25em) {
    .nav-main .nav-main-link {
      padding: 2.8rem 2.5rem; } }

.nav-main .nav-main-item.current_page_item,
.nav-main .nav-main-item a:hover,
.nav-main .nav-main-item a:focus {
  background-color: #fff; }

@media (max-width: 59.9375em) {
  .nav-main .nav-main-item {
    width: 100%;
    border-top: 4px solid #ded2b2; }
    .nav-main .nav-main-item:last-child {
      border-bottom: 4px solid #ded2b2; } }

@media (min-width: 60em) {
  .nav-main .nav-main-item {
    font-size: 1.2rem; } }

@media (min-width: 76.25em) {
  .nav-main .nav-main-item {
    font-size: 1.4rem; } }

.nav-main .nav-aux-wrap {
  background-color: #ded2b2;
  padding: 2rem; }
  @media (min-width: 60em) {
    .nav-main .nav-aux-wrap {
      display: none; } }

.nav-main .nav-aux-menu {
  font-size: 1.05rem; }
  @media (min-width: 37.5em) {
    .nav-main .nav-aux-menu {
      font-size: 1.4rem; } }
  .nav-main .nav-aux-menu a {
    padding: 1rem 0;
    display: inline-block;
    color: #b0262e; }
  .nav-main .nav-aux-menu .nav-aux-item + .nav-aux-item {
    padding-left: 2rem; }
  @media screen and (max-width: 385px) {
    .nav-main .nav-aux-menu .nav-aux-item {
      display: inline-block;
      float: none;
      margin-right: 1.2rem;
      padding: 0; }
    .nav-main .nav-aux-menu .nav-aux-item + .nav-aux-item {
      padding-left: 0; }
    .nav-main .nav-aux-menu .nav-aux-item:last-child {
      margin-right: 0; } }

.sign-join a {
  color: #b0262e; }

.sign-join #sign-in:hover,
.sign-join #sign-in:focus,
.sign-join #join:hover,
.sign-join #join:focus {
  color: #89060e; }

.sign-join #sign-in {
  padding-right: 0; }

.sign-join #join {
  padding-left: 0; }

.sign-join .bar {
  color: #4f2b1c;
  margin: 0 0.5rem; }

.order-now {
  background-color: #b0262e;
  -webkit-transition: background-color 200ms;
          transition: background-color 200ms; }
  @media (max-width: 59.9375em) {
    .order-now {
      margin-right: 2rem;
      font-size: 1rem; } }
  .order-now:hover,
  .order-now:focus {
    background-color: #89060e; }
  @media (max-width: 59.9375em) {
    .order-now #order {
      padding: 1rem; } }
  .order-now span {
    text-transform: uppercase;
    color: #fff;
    letter-spacing: 0.2em; }

.search-toggle:before {
  top: -0.1rem;
  content: '\E00E'; }

.search-toggle:hover,
.search-toggle:focus {
  color: #b0262e; }

#burger {
  float: right;
  position: relative;
  display: inline-block;
  width: 2.5rem;
  height: 3.2rem;
  padding: 0;
  border-radius: 4px;
  -webkit-transition: color 300ms cubic-bezier(0.63, 0.64, 0.3, 1);
          transition: color 300ms cubic-bezier(0.63, 0.64, 0.3, 1); }
  @media (min-width: 60em) {
    #burger {
      display: none !important; } }
  @media (min-width: 37.5em) {
    #burger {
      font-size: 18px; } }
  .nav-open #burger {
    color: #b0262e; }
    .nav-open #burger i,
    .nav-open #burger i:before,
    .nav-open #burger i:after {
      background-color: #b0262e; }
  #burger:hover i:before,
  #burger:focus i:before {
    -webkit-transform: translateY(-210%);
        -ms-transform: translateY(-210%);
            transform: translateY(-210%); }
  #burger:hover i:after,
  #burger:focus i:after {
    -webkit-transform: translateY(210%);
        -ms-transform: translateY(210%);
            transform: translateY(210%); }
  #burger i {
    position: absolute;
    top: 49%;
    right: 0;
    display: block;
    width: 2.5rem;
    height: 0.4rem;
    margin-top: -1px;
    background-color: #b0262e;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-transition: background-color 300ms cubic-bezier(0.63, 0.64, 0.3, 1);
            transition: background-color 300ms cubic-bezier(0.63, 0.64, 0.3, 1); }
    @media (min-width: 37.5em) {
      #burger i {
        top: 50%; } }
    #burger i:before,
    #burger i:after {
      position: absolute;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #b0262e;
      content: '';
      -webkit-transition: -webkit-transform 0.3s, background-color 300ms cubic-bezier(0.63, 0.64, 0.3, 1);
              transition: transform 0.3s, background-color 300ms cubic-bezier(0.63, 0.64, 0.3, 1); }
    #burger i:before {
      -webkit-transform: translateY(-170%);
          -ms-transform: translateY(-170%);
              transform: translateY(-170%); }
    #burger i:after {
      -webkit-transform: translateY(170%);
          -ms-transform: translateY(170%);
              transform: translateY(170%); }
    .nav-open #burger i {
      background-color: transparent; }
      .nav-open #burger i:before {
        -webkit-transform: translateY(0) rotate(45deg);
            -ms-transform: translateY(0) rotate(45deg);
                transform: translateY(0) rotate(45deg); }
      .nav-open #burger i:after {
        -webkit-transform: translateY(0) rotate(-45deg);
            -ms-transform: translateY(0) rotate(-45deg);
                transform: translateY(0) rotate(-45deg); }

.hero {
  text-align: center;
  color: #fff;
  background-color: #3b2014; }
  @media print {
    .hero {
      background: transparent !important; } }
  .hero.short {
    padding: 4rem 0;
    background-color: #3b2014; }
    @media (min-width: 37.5em) {
      .hero.short {
        padding: 6rem 0; } }
    @media (min-width: 48em) {
      .hero.short {
        padding: 8rem; } }
    .hero.short .heading {
      font-size: 2.8rem; }
      @media (min-width: 48em) {
        .hero.short .heading {
          font-size: 3.2rem; } }
      @media (min-width: 76.25em) {
        .hero.short .heading {
          font-size: 3.6rem; } }
  .hero.full {
    padding: 10rem 2rem; }
    @media (min-width: 60em) {
      .hero.full {
        padding: 15rem 4rem 12rem; } }
    @media (min-width: 76.25em) {
      .hero.full {
        padding: 17.5rem 4rem 15rem; } }
    @media print {
      .hero.full {
        padding: 4rem 0; } }
    .hero.full .subheading {
      -webkit-transform: matrix(1.31393, -0.09051, 0.09049, 1.31227, 0, 0);
          -ms-transform: matrix(1.31393, -0.09051, 0.09049, 1.31227, 0, 0);
              transform: matrix(1.31393, -0.09051, 0.09049, 1.31227, 0, 0);
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);
      outline: 1px solid transparent;
      font-size: 1.6rem; }
      @media (min-width: 37.5em) {
        .hero.full .subheading {
          padding: 1.5rem 2rem;
          font-size: 1.8rem;
          letter-spacing: 0.35rem; } }
      @media (min-width: 60em) {
        .hero.full .subheading {
          font-size: 2.8rem; } }
  .hero.video:before {
    content: "";
    background: rgba(79, 43, 28, 0.1);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2; }
  .hero .row {
    max-width: 120rem;
    width: 100%;
    margin: 0 auto;
    z-index: 2; }
  .hero .heading,
  .hero .subheading {
    word-break: break-word; }
  .hero.full .heading {
    font-size: 3.2rem;
    text-transform: uppercase;
    z-index: 5;
    font-family: "Ziggurat A", "Ziggurat B", sans-serif;
    font-weight: normal; }
    @media (min-width: 30em) {
      .hero.full .heading {
        font-size: 4.8rem; } }
    @media (min-width: 37.5em) {
      .hero.full .heading {
        font-size: 7.2rem; } }
    @media (min-width: 60em) {
      .hero.full .heading {
        font-size: 10rem; } }
    @media print {
      .hero.full .heading {
        font-size: 4.2rem;
        margin-top: -1rem;
        color: black;
        position: absolute;
        width: 100%; } }
  .hero.full .subheading,
  .hero.short .heading {
    display: inline-block;
    text-transform: uppercase;
    background-color: #3b2014;
    color: #ffc426;
    padding: 1rem;
    letter-spacing: 0.15rem;
    z-index: 1; }
    @media (min-width: 37.5em) {
      .hero.full .subheading,
      .hero.short .heading {
        padding: 1.5rem 2rem; } }
  .hero .cta-wrap {
    display: block;
    margin-top: 5rem; }
    @media (min-width: 48em) {
      .hero .cta-wrap {
        margin-top: 7rem; } }
  .hero .cta {
    display: inline-block;
    text-transform: uppercase; }

/*
 * Wallpaper v3.1.18 - 2014-06-16
 * A jQuery plugin for smooth-scaling image and video backgrounds. Part of the Formstone Library.
 * http://formstone.it/wallpaper/
 *
 * Copyright 2014 Ben Plum; MIT Licensed
 */
.wallpaper {
  padding-top: 50%;
  width: 100%; }

.wallpaper,
.wallpaper .wallpaper-container,
.wallpaper .wallpaper-media {
  -webkit-transition: none !important;
  transition: none !important; }

.wallpaper {
  overflow: hidden;
  position: relative; }

.wallpaper .wallpaper-container {
  height: 100%;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0; }

.wallpaper .wallpaper-media {
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0; }

.wallpaper .wallpaper-media.animated {
  -webkit-transition: opacity 0.5s linear !important;
  transition: opacity 0.5s linear !important; }

.wallpaper .wallpaper-media img,
.wallpaper .wallpaper-media video,
.wallpaper .wallpaper-media iframe {
  display: block;
  height: 100%;
  width: 100%; }

.wallpaper .wallpaper-embed.ready:after {
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1; }

.wallpaper .wallpaper-embed.ready iframe {
  /* pointer-events: none; - safari doesn't like this :/ */
  z-index: 0; }

.wallpaper .wallpaper-media.native {
  background-position: center;
  background-size: cover;
  height: 100%;
  width: 100%; }

.wallpaper .wallpaper-media.native img {
  display: none; }

.wallpaper .wallpaper-media.fixed {
  background-position: center;
  background-attachment: fixed;
  height: 100%;
  width: 100%; }

.wallpaper .wallpaper-media.fixed img {
  display: none; }

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

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

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

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block; }

.slick-track:before,
.slick-track:after {
  display: table;
  content: ''; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[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("./assets/images/ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./assets/fonts/slick.eot");
  src: url("./assets/fonts/slick.eot?#iefix") format("embedded-opentype"), url("./assets/fonts/slick.woff") format("woff"), url("./assets/fonts/slick.ttf") format("truetype"), url("./assets/fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* 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%;
  margin-top: -10px;
  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-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: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

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

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

.slick-dots {
  position: absolute;
  bottom: -45px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 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: "•";
        width: 20px;
        height: 20px;
        font-size: 6px;
        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; }

/*
 * Scroller v3.1.2 - 2015-04-04
 * A jQuery plugin for replacing default browser scrollbars. Part of the Formstone Library.
 * http://classic.formstone.it/scroller/
 *
 * Copyright 2015 Ben Plum; MIT Licensed
 */
.fs-scrollbar {
  overflow: hidden;
  overflow-x: hidden;
  overflow-y: hidden;
  position: relative; }

.fs-scrollbar,
.fs-scrollbar * {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important; }

.fs-scrollbar,
.fs-scrollbar-content,
.fs-scrollbar-bar,
.fs-scrollbar-track,
.fs-scrollbar-handle {
  box-sizing: border-box; }

.fs-scrollbar-content {
  position: relative;
  z-index: 1;
  height: 100%;
  overflow: auto;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

.fs-scrollbar-content::-webkit-scrollbar,
.fs-scrollbar-content::-webkit-scrollbar-button,
.fs-scrollbar-content::-webkit-scrollbar-track,
.fs-scrollbar-content::-webkit-scrollbar-track-piece,
.fs-scrollbar-content::-webkit-scrollbar-thumb,
.fs-scrollbar-content::-webkit-scrollbar-corner,
.fs-scrollbar-content::-webkit-resizer {
  background: transparent;
  opacity: 0; }

.fs-scrollbar-bar {
  width: 16px;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
  background: #ffffff;
  display: none; }

.fs-scrollbar-track {
  width: 100%;
  height: 100%;
  position: relative;
  background: #ffffff;
  overflow: hidden; }

.fs-scrollbar-handle {
  width: 10px;
  height: 20px;
  position: absolute;
  top: 0;
  right: 3px;
  z-index: 2;
  background: #cccccc;
  border: 1px solid #ffffff;
  border-radius: 5px;
  cursor: pointer; }

.fs-scrollbar-horizontal .fs-scrollbar-content {
  overflow: auto;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 0 16px 0; }

.fs-scrollbar-horizontal .fs-scrollbar-bar {
  width: 100%;
  height: 16px;
  top: auto;
  bottom: 0; }

.fs-scrollbar-horizontal .fs-scrollbar-handle {
  width: 20px;
  height: 10px;
  top: auto;
  right: auto;
  bottom: 3px; }

.fs-scrollbar-setup .fs-scrollbar-content,
.fs-scrollbar-active .fs-scrollbar-content {
  padding: 20px; }

.fs-scrollbar-setup .fs-scrollbar-bar,
.fs-scrollbar-active .fs-scrollbar-bar {
  display: block; }

.fs-scrollbar {
  overflow: hidden;
  overflow-x: hidden;
  overflow-y: hidden;
  position: relative; }

.fs-scrollbar,
.fs-scrollbar * {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important; }

.fs-scrollbar,
.fs-scrollbar-content,
.fs-scrollbar-bar,
.fs-scrollbar-track,
.fs-scrollbar-handle {
  box-sizing: border-box; }

.fs-scrollbar-content {
  position: relative;
  z-index: 1;
  height: 100%;
  overflow: auto;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

.fs-scrollbar-content::-webkit-scrollbar,
.fs-scrollbar-content::-webkit-scrollbar-button,
.fs-scrollbar-content::-webkit-scrollbar-track,
.fs-scrollbar-content::-webkit-scrollbar-track-piece,
.fs-scrollbar-content::-webkit-scrollbar-thumb,
.fs-scrollbar-content::-webkit-scrollbar-corner,
.fs-scrollbar-content::-webkit-resizer {
  background: transparent;
  opacity: 0; }

.fs-scrollbar-bar {
  width: 16px;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
  background: #ffffff;
  display: none; }

.fs-scrollbar-track {
  width: 100%;
  height: 100%;
  position: relative;
  background: #ffffff;
  overflow: hidden; }

.fs-scrollbar-handle {
  width: 10px;
  height: 20px;
  position: absolute;
  top: 0;
  right: 3px;
  z-index: 2;
  background: #cccccc;
  border: 1px solid #ffffff;
  border-radius: 5px;
  cursor: pointer; }

.fs-scrollbar-horizontal .fs-scrollbar-content {
  overflow: auto;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 0 16px 0; }

.fs-scrollbar-horizontal .fs-scrollbar-bar {
  width: 100%;
  height: 16px;
  top: auto;
  bottom: 0; }

.fs-scrollbar-horizontal .fs-scrollbar-handle {
  width: 20px;
  height: 10px;
  top: auto;
  right: auto;
  bottom: 3px; }

.fs-scrollbar-setup .fs-scrollbar-content,
.fs-scrollbar-active .fs-scrollbar-content {
  padding: 20px; }

.fs-scrollbar-setup .fs-scrollbar-bar,
.fs-scrollbar-active .fs-scrollbar-bar {
  display: block; }

.scroller {
  overflow: hidden;
  overflow-x: hidden;
  overflow-y: hidden;
  position: relative; }

.scroller,
.scroller * {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important; }

.scroller,
.scroller-content,
.scroller-bar,
.scroller-track,
.scroller-handle {
  box-sizing: border-box; }

.scroller-content {
  position: relative;
  z-index: 1;
  height: 100%;
  overflow: auto;
  overflow-x: hidden;
  overflow-y: auto;
  margin-right: -2rem;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch; }

.scroller-content::-webkit-scrollbar,
.scroller-content::-webkit-scrollbar-button,
.scroller-content::-webkit-scrollbar-track,
.scroller-content::-webkit-scrollbar-track-piece,
.scroller-content::-webkit-scrollbar-thumb,
.scroller-content::-webkit-scrollbar-corner,
.scroller-content::-webkit-resizer {
  background: transparent;
  opacity: 0; }

.scroller-bar {
  width: 16px;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
  background: transparent;
  display: none; }

.scroller-track {
  width: 100%;
  height: 100%;
  position: relative;
  background: transparent;
  overflow: hidden; }
  .scroller-track:after {
    content: "";
    width: 0.4rem;
    height: 100%;
    position: absolute;
    top: 0;
    right: 7px;
    background: #ded2b2;
    z-index: 1; }

.scroller-handle {
  width: 0.8rem;
  height: 20px;
  position: absolute;
  top: 0;
  right: 5px;
  background: #b0262e;
  cursor: pointer;
  z-index: 2; }

.scroller-horizontal .scroller-content {
  overflow: auto;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 0 16px 0; }

.scroller-horizontal .scroller-bar {
  width: 100%;
  height: 16px;
  top: auto;
  bottom: 0; }

.scroller-horizontal .scroller-handle {
  width: 20px;
  height: 10px;
  top: auto;
  right: auto;
  bottom: 3px; }

.scroller-setup .scroller-content,
.scroller-active .scroller-content {
  padding: 0 1rem 0 0; }

.scroller-setup .scroller-bar,
.scroller-active .scroller-bar {
  display: block; }

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
  filter: alpha(opacity=80); }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }

.mfp-preloader a {
  color: #CCC; }

.mfp-preloader a:hover {
  color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  filter: alpha(opacity=65);
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1;
  filter: alpha(opacity=100); }

.mfp-close:active {
  top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  filter: alpha(opacity=65);
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent; }

.mfp-arrow:active {
  margin-top: -54px; }

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1;
  filter: alpha(opacity=100); }

.mfp-arrow:before,
.mfp-arrow:after,
.mfp-arrow .mfp-b,
.mfp-arrow .mfp-a {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent; }

.mfp-arrow:after,
.mfp-arrow .mfp-a {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px; }

.mfp-arrow:before,
.mfp-arrow .mfp-b {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }

.mfp-arrow-left:after,
.mfp-arrow-left .mfp-a {
  border-right: 17px solid #FFF;
  margin-left: 31px; }

.mfp-arrow-left:before,
.mfp-arrow-left .mfp-b {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }

.mfp-arrow-right:after,
.mfp-arrow-right .mfp-a {
  border-left: 17px solid #FFF;
  margin-left: 39px; }

.mfp-arrow-right:before,
.mfp-arrow-right .mfp-b {
  border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px; }

.mfp-iframe-holder .mfp-close {
  top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444; }

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px; }

.mfp-figure figure {
  margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    -ms-transform: scale(0.75);
        transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    -ms-transform-origin: 0;
        transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    -ms-transform-origin: 100%;
        transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

.mfp-ie7 .mfp-img {
  padding: 0; }

.mfp-ie7 .mfp-bottom-bar {
  width: 600px;
  left: 50%;
  margin-left: -300px;
  margin-top: 5px;
  padding-bottom: 5px; }

.mfp-ie7 .mfp-container {
  padding: 0; }

.mfp-ie7 .mfp-content {
  padding-top: 44px; }

.mfp-ie7 .mfp-close {
  top: 0;
  right: 0;
  padding-top: 0; }

.alignnone {
  margin: 0; }

.aligncenter,
div.aligncenter {
  display: block;
  margin: 0.5rem auto 0 auto; }

.alignright {
  float: none; }
  @media (min-width: 30em) {
    .alignright {
      float: right;
      margin: 0.5rem 0 2rem 2rem; } }

.alignleft {
  float: none; }
  @media (min-width: 30em) {
    .alignleft {
      float: left;
      margin: 0.5rem 2rem 2rem 0; } }

.aligncenter {
  display: block;
  margin: 0.5rem auto 0 auto; }

@media (min-width: 30em) {
  a img.alignleft,
  a img.alignright {
    width: auto;
    float: left; } }

@media (min-width: 30em) {
  a img.alignleft {
    margin: 0.5rem 2rem 2rem 0; } }

@media (min-width: 30em) {
  a img.alignright {
    margin: 0.5rem 0 2rem 2rem; } }

a img.aligncenter {
  width: auto;
  display: block;
  margin-left: auto;
  margin-right: auto; }

@media (min-width: 30em) {
  a img.alignnone {
    width: auto; } }

.wp-caption {
  width: 100% !important;
  max-width: 100%;
  padding: 0 0 1rem;
  text-align: left;
  margin-bottom: 2rem; }
  .wp-caption a,
  .wp-caption a:hover {
    border-bottom: 0 !important; }
  .wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0 0 0.5rem;
    max-width: 100%;
    padding: 0;
    width: 100%; }
  @media (min-width: 30em) {
    .wp-caption.alignnone {
      margin: 0.5rem 2rem 2rem 0; } }
  @media (min-width: 30em) {
    .wp-caption.alignleft {
      margin: 0.5rem 2rem 2rem 0; } }
  @media (min-width: 30em) {
    .wp-caption.alignright {
      margin: 0.5rem 0 2rem 2rem; } }
  @media (min-width: 30em) {
    .wp-caption.alignleft,
    .wp-caption.alignright {
      width: 25rem !important; } }
  @media (min-width: 48em) {
    .wp-caption.alignleft,
    .wp-caption.alignright {
      width: 100%;
      max-width: 34rem; } }
  .wp-caption .wp-caption-text {
    font-family: "District-Medium", sans-serif, Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-weight: normal;
    font-size: 1.2rem;
    color: #777;
    line-height: 1.6rem;
    padding: 0 0 1rem;
    margin: 0;
    border-bottom: 0.1rem solid rgba(192, 192, 193, 0.2); }

.aligncenter.wp-caption {
  width: 100% !important; }

#dish_profile-tabs {
  display: none; }

@media (max-width: 59.9375em) {
  .grid {
    padding-left: 0.5rem;
    padding-right: 0.5rem; } }

.grid-row {
  zoom: 1; }
  .grid-row:before,
  .grid-row:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .grid-row:after {
    clear: both; }
  .grid-row:first-child {
    margin-top: 0.5rem; }
  .grid-row:last-child {
    margin-bottom: 0.5rem; }

.grid-option-e .wide,
.grid-option-f .wide,
.grid-option-g .wide,
.grid-option-h .wide {
  width: 100%; }

@media (min-width: 48em) {
  .grid-option-d .grid-block:nth-child(2) {
    position: absolute;
    top: 50%; } }

@media (min-width: 30em) {
  .grid-option-e .grid-block:nth-child(3) {
    position: absolute;
    right: 0; } }

.grid-option-f .big-square {
  width: 100%; }

@media (min-width: 48em) {
  .grid-option-f .grid-block:nth-child(2) {
    position: absolute;
    top: 50%; } }

@media (min-width: 48em) and (max-width: 76.1875em) {
  .grid-option-i .grid-block:nth-child(2),
  .grid-option-i .grid-block:nth-child(3) {
    width: 66.6666666%; }
    .grid-option-i .grid-block:nth-child(2) .featured-image,
    .grid-option-i .grid-block:nth-child(3) .featured-image {
      width: 35%;
      top: 50%;
      left: 66.6666%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); } }

.grid-block {
  display: block;
  zoom: 1;
  width: 100%;
  float: left;
  padding: 0.5rem;
  overflow: hidden; }
  .grid-block:before,
  .grid-block:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .grid-block:after {
    clear: both; }
  @media (min-width: 30em) {
    .grid-block {
      width: 50%; } }
  @media (min-width: 48em) {
    .grid-block {
      width: 33.333333%; } }
  @media (min-width: 76.25em) {
    .grid-block {
      width: 25%; } }
  .grid-block a {
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    overflow: hidden;
    background-color: #3b2014; }
    .grid-block a:hover .cta-link:after,
    .grid-block a:focus .cta-link:after {
      margin-left: 10px; }
      @media (min-width: 48em) {
        .grid-block a:hover .cta-link:after,
        .grid-block a:focus .cta-link:after {
          margin-left: 1.5rem; } }
  @media (min-width: 48em) {
    .grid-block.wide,
    .grid-block.big-square {
      width: 33.3333333%; } }
  @media (min-width: 76.25em) {
    .grid-block.wide,
    .grid-block.big-square {
      width: 50%; } }
  .grid-block.wide .featured-image {
    top: 50%;
    left: 66.6666%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
  @media (min-width: 76.25em) {
    .grid-block.wide .steel:after {
      top: 66.666666%; } }
  @media (min-width: 48em) {
    .grid-block.three-wide {
      width: 66.66666666%; } }
  @media (min-width: 76.25em) {
    .grid-block.three-wide {
      width: 75%; } }
  .grid-block.full {
    width: 100%; }
    .grid-block.full .featured-image {
      max-width: 20rem; }
      @media (min-width: 60em) {
        .grid-block.full .featured-image {
          max-width: 30rem; } }
      @media (min-width: 76.25em) {
        .grid-block.full .featured-image {
          max-width: 40rem; } }
  @media (min-width: 30em) {
    .grid-block.three-wide .featured-image,
    .grid-block.full .featured-image,
    .grid-block.big-square .featured-image {
      width: 35%; } }
  @media (min-width: 37.5em) {
    .grid-block.three-wide .featured-image,
    .grid-block.full .featured-image,
    .grid-block.big-square .featured-image {
      top: 50%;
      left: 66.6666%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); } }
  @media (min-width: 48em) {
    .grid-block.big-square .featured-image,
    .grid-block.tall .featured-image {
      top: 40%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      width: 85%; } }
  @media (min-width: 60em) {
    .grid-block.wide .tan:after,
    .grid-block.wide .gold:after,
    .grid-block.three-wide .tan:after,
    .grid-block.three-wide .gold:after,
    .grid-block.full .tan:after,
    .grid-block.full .gold:after {
      width: 30rem;
      height: 30rem; } }
  @media (min-width: 76.25em) {
    .grid-block.wide .tan:after,
    .grid-block.wide .gold:after,
    .grid-block.three-wide .tan:after,
    .grid-block.three-wide .gold:after,
    .grid-block.full .tan:after,
    .grid-block.full .gold:after {
      width: 40rem;
      height: 40rem; } }
  @media (min-width: 48em) {
    .grid-block.three-wide .steel:after,
    .grid-block.full .steel:after {
      top: 66.666666%; } }
  @media (min-width: 60em) {
    .grid-block.tall .tan:after,
    .grid-block.tall .gold:after {
      width: 35rem;
      height: 35rem; } }
  @media (min-width: 76.25em) {
    .grid-block.tall .tan:after,
    .grid-block.tall .gold:after {
      width: 45rem;
      height: 45rem; } }
  .grid-block.big-square .featured-image {
    max-width: 40rem; }
  @media (min-width: 60em) {
    .grid-block.big-square .tan:after,
    .grid-block.big-square .gold:after {
      width: 40rem;
      height: 40rem; } }
  @media (min-width: 76.25em) {
    .grid-block.big-square .tan:after,
    .grid-block.big-square .gold:after {
      width: 50rem;
      height: 50rem; } }

.image-module {
  overflow: hidden; }
  .image-module:hover .media,
  .image-module:focus .media {
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05); }

.media {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform 400ms cubic-bezier(0.63, 0.64, 0.3, 1);
          transition: transform 400ms cubic-bezier(0.63, 0.64, 0.3, 1);
  will-change: transform;
  overflow: hidden;
  z-index: 1; }

.graphic-module {
  height: 100%;
  overflow: hidden; }
  .graphic-module .grid-text {
    background-color: none; }
  .graphic-module .featured-image {
    position: absolute;
    z-index: 3;
    top: 30%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    outline: 1px solid transparent;
    max-width: 45rem;
    width: 70%;
    -webkit-transition: -webkit-transform 600ms;
            transition: transform 600ms; }
    @media (min-width: 48em) {
      .graphic-module .featured-image {
        top: 30%; } }
    @media (min-width: 60em) {
      .graphic-module .featured-image {
        width: 65%; } }
  .graphic-module.tan:after,
  .graphic-module.gold:after {
    content: '';
    position: absolute;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    display: inline-block;
    z-index: 2; }
  .graphic-module.tan {
    background-color: #ded2b2; }
    .graphic-module.tan:after {
      background-color: #f5edd9;
      width: 25rem;
      height: 25rem;
      left: 75%;
      top: 25%;
      -webkit-transform: translate(-50%, -50%) rotate(45deg);
          -ms-transform: translate(-50%, -50%) rotate(45deg);
              transform: translate(-50%, -50%) rotate(45deg); }
  .graphic-module.steel {
    background-color: #b2bfbb; }
    .graphic-module.steel:after {
      content: '';
      position: absolute;
      display: inline-block;
      height: 8px;
      width: 50%;
      right: 0;
      background-image: url(/wp-content/themes/noodles.com/assets/images/strip-border.svg);
      color: pink;
      top: 50%; }
  .graphic-module.gold {
    background-color: #ffc426; }
    .graphic-module.gold:after {
      background-color: #f5edd9;
      width: 30rem;
      height: 30rem;
      left: 25%;
      top: 75%;
      -webkit-transform: translate(-50%, -50%) rotate(45deg);
          -ms-transform: translate(-50%, -50%) rotate(45deg);
              transform: translate(-50%, -50%) rotate(45deg); }
  .graphic-module:hover .featured-image,
  .graphic-module:focus .featured-image {
    -webkit-transform: scale(1.1) translate(-45%, -45%);
        -ms-transform: scale(1.1) translate(-45%, -45%);
            transform: scale(1.1) translate(-45%, -45%);
    -webkit-transition: -webkit-transform 600ms;
            transition: transform 600ms; }

.grid-text {
  left: 0;
  display: inline-block;
  position: absolute;
  padding: 1rem 3.5rem 1rem 1.5rem;
  bottom: 0.5rem;
  z-index: 5; }
  @media (min-width: 60em) {
    .grid-text {
      bottom: 1rem; } }
  .image-module .grid-text {
    background-color: #ded2b2; }
  .grid-text h3, .grid-text h4 {
    text-transform: uppercase;
    color: #4f2b1c; }
  .grid-text h3 {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    font-size: 1.4rem; }
    @media (min-width: 60em) {
      .grid-text h3 {
        font-size: 1.8rem; } }
  .grid-text h4 {
    font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
    font-weight: normal;
    font-weight: 400;
    font-size: 3.6rem;
    margin-bottom: 0.5rem; }
    @media (min-width: 60em) {
      .grid-text h4 {
        font-size: 4.2rem; } }
    @media (min-width: 76.25em) {
      .grid-text h4 {
        font-size: 4.8rem; } }

/*

    EXAMPLE STRUCTURE:

    .simple-tabs    : Container used for JS actions and Namespacing
    .tabs           : Desktop Tab Headers
    .tab            : Desktop Individual Tab Header
    .tab-details    : Main Content of Each section
    .mobile-tab     : Mobile Tab Header (Used as Tabs Transform into Accordion on Mobile)
    section         : Section for Content
    article         : Article for Content

    <div class="simple-tabs">
        <ul class="tabs">
            <li class="tab active" data-tab="1">Section One</li>
            <li class="tab" data-tab="2">Section Two</li>
            <li class="tab" data-tab="3">Section Three</li>
        </ul>
        <ul class="tab-details">
            <li class="tab-detail active" data-tab-content="1">
                <div class="mobile-tab" data-tab="1">Section One</div>
                <section>
                    <article>
                        <h2>H2 Knockout 67 | 48PT</h2>
                        <h4>H4 District Bold | 18pt</h4>
                        <p>Morbi mattis sodales lectus quis feugiat. Fusce quis aliquet tellus. Nulla ultricies lorem non blandit ultrices.
                    </article>
                </section>
            </li>
            <li class="tab-detail" data-tab-content="2">
                <div class="mobile-tab" data-tab="2">Section Two</div>
                <section>
                    <article>
                        <h2>H2 Knockout 67 | 48PT</h2>
                        <h4>H4 District Bold | 18pt</h4>
                        <p>Morbi mattis sodales lectus quis feugiat. Fusce quis aliquet tellus. Nulla ultricies lorem non blandit ultrices.
                    </article>
                </section>
            </li>
            <li class="tab-detail" data-tab-content="3">
                <div class="mobile-tab" data-tab="3">Section Three</div>
                <section>
                    <article>
                        <h2>H2 Knockout 67 | 48PT</h2>
                        <h4>H4 District Bold | 18pt</h4>
                        <p>Morbi mattis sodales lectus quis feugiat. Fusce quis aliquet tellus. Nulla ultricies lorem non blandit ultrices.
                    </article>
                </section>
            </li>
        </ul>
    </div>

*/
.simple-tabs.no-fold .tabs {
  display: block; }

.simple-tabs.no-fold .tab-detail {
  width: 100%;
  background-color: #fff;
  border: 3px solid #ded2b2;
  display: none; }
  .simple-tabs.no-fold .tab-detail.active {
    display: block; }

.simple-tabs.no-fold .tab {
  display: inline-block; }

.simple-tabs .tabs {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
  display: none; }
  @media (min-width: 48em) {
    .simple-tabs .tabs {
      display: block; } }

.simple-tabs .tab {
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  padding: 1rem 2.2vw;
  cursor: pointer;
  color: #fff;
  background-color: #b0262e;
  border: 3px solid #b0262e;
  text-transform: uppercase;
  letter-spacing: 0.2em; }
  .simple-tabs .tab.active {
    border: 3px solid #ded2b2;
    color: #4f2b1c;
    background-color: #fff;
    position: relative; }
    .simple-tabs .tab.active::after {
      position: absolute;
      bottom: -6px;
      content: "";
      height: 6px;
      width: 100%;
      left: 0;
      background-color: white;
      z-index: 2; }
  @media (min-width: 76.25em) {
    .simple-tabs .tab {
      padding: 1rem 3rem; } }
  @media (min-width: 48em) {
    .simple-tabs .tab {
      display: inline-block; } }

.simple-tabs .tab-detail {
  display: block;
  border-top: 3px solid #ded2b2; }
  @media (min-width: 48em) {
    .simple-tabs .tab-detail {
      width: 100%;
      background-color: #fff;
      border: 3px solid #ded2b2;
      display: none; }
      .simple-tabs .tab-detail.active {
        display: block; } }
  .simple-tabs .tab-detail:last-child {
    border-bottom: 3px solid #ded2b2; }
  .simple-tabs .tab-detail section {
    padding: 2rem;
    padding-top: 0; }
    .simple-tabs .tab-detail section.compact {
      padding: 2rem; }
    .simple-tabs .tab-detail section.tight {
      padding: 1rem; }
    .simple-tabs .tab-detail section.bleed {
      padding: 0; }
    @media (min-width: 48em) {
      .simple-tabs .tab-detail section {
        padding: 4rem; } }
    @media (min-width: 76.25em) {
      .simple-tabs .tab-detail section {
        padding: 7.5rem; } }
    @media (max-width: 47.9375em) {
      .simple-tabs .tab-detail section {
        display: none; } }

.simple-tabs .mobile-tab {
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  cursor: pointer;
  display: block;
  color: #b0262e;
  padding: 1.5rem 1rem; }
  @media (min-width: 37.5em) {
    .simple-tabs .mobile-tab {
      padding: 1.5rem; } }
  .simple-tabs .mobile-tab::after {
    content: "+";
    position: absolute;
    font-size: 2.5rem;
    right: 1rem;
    top: 47%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  @media (min-width: 48em) {
    .simple-tabs .mobile-tab {
      display: none; } }

.simple-tabs .tab-detail.active .mobile-tab::after {
  content: "—";
  right: 1rem;
  margin-top: 0.1rem; }

.simple-tabs .tab-detail.active section {
  display: block; }

/*
// Grid content markup needs to be used inside <section class="content-grid">

// <div class="content-grid-row">
//     <div class="50-percent-column">
//         <h4>Title</h4>
//         <p>Lorem ipsum...</p>

//         <h4>Title</h4>
//         <p>Lorem ipsum...</p>

//         <h4>Title</h4>
//         <p>Lorem ipsum...</p>
//     </div>
//     <div class="50-percent-column">
//         <img src="http://placehold.it/300x300">
//     </div>
// </div>

// <div class="content-grid-row">
//     <div class="66-percent-column">
//         <h4>Title</h4>
//         <p>Lorem ipsum...</p>

//         <h4>Title</h4>
//         <p>Lorem ipsum...</p>

//         <h4>Title</h4>
//         <p>Lorem ipsum...</p>
//     </div>
//     <div class="33-percent-column">
//         <img src="http://placehold.it/300x300">
//     </div>
// </div>

// <div class="content-grid-row">
//     <div class="100-percent-column">
//         <h4>Title</h4>
//         <p>Lorem ipsum...</p>

//         <h4>Title</h4>
//         <p>Lorem ipsum...</p>

//         <h4>Title</h4>
//         <p>Lorem ipsum...</p>
//     </div>
// </div>
*/
.content-grid {
  max-width: 144rem;
  margin: 0 auto; }
  .content-grid:first-child,
  .content-grid + .content-grid {
    padding-top: 0; }
  .content-grid .content-grid {
    display: none; }
  .content-grid .content-grid-row {
    margin: 0 auto; }
    .content-grid .content-grid-row.add-space {
      margin-bottom: 10rem; }
  .content-grid [class*="column"] {
    float: none;
    width: 100%; }
  @media (min-width: 48em) {
    .content-grid [class*="column"] {
      float: left; }
    .content-grid [class*="column"]:first-child {
      padding-right: 4rem; }
    .content-grid [class*="column"] + [class*="column"] {
      padding-left: 4rem; }
    .content-grid [class*="33-percent"],
    .content-grid [class*="34-percent"] {
      width: 33%; }
    .content-grid [class*="50-percent"] {
      width: 50%; }
    .content-grid [class*="66-percent"] {
      width: 66%; }
    .content-grid [class*="100-percent"] {
      width: 100%; } }

.nutrition-facts {
  background: #fff;
  width: 100%; }
  @media print {
    .nutrition-facts {
      border: 1px solid #ded2b2; } }
  .nutrition-facts table {
    width: 100%;
    font-family: "District-Medium", sans-serif, Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-weight: normal;
    font-size: 1.4rem; }
  .nutrition-facts th,
  .nutrition-facts td {
    padding: 0.5rem 0;
    font-weight: bold; }
  .nutrition-facts th {
    text-align: left; }
  .nutrition-facts td {
    text-align: right; }
  .nutrition-facts .underline-thin th,
  .nutrition-facts .underline-thin td {
    border-bottom: 0.1rem solid #ded2b2;
    padding-bottom: 0.7rem; }
  .nutrition-facts .underline-thick th,
  .nutrition-facts .underline-thick td {
    border-bottom: 0.3rem solid #000;
    padding-bottom: 0.7rem; }
  .nutrition-facts .underline-thin + tr th,
  .nutrition-facts .underline-thin + tr td,
  .nutrition-facts .underline-thick + tr th,
  .nutrition-facts .underline-thick + tr td {
    padding-top: 0.7rem; }
  .nutrition-facts .indented th {
    padding-left: 1.5rem; }
  .nutrition-facts .normal th,
  .nutrition-facts .normal td,
  .nutrition-facts .indented th, .nutrition-facts .indented td {
    font-weight: normal; }
  .nutrition-facts .value-physical {
    padding-left: 0.8rem; }
  .nutrition-facts .servings th,
  .nutrition-facts .servings td {
    vertical-align: top;
    line-height: 1.4rem; }
  .nutrition-facts .vitamins {
    zoom: 1; }
    .nutrition-facts .vitamins:before,
    .nutrition-facts .vitamins:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .nutrition-facts .vitamins:after {
      clear: both; }
    .nutrition-facts .vitamins div {
      zoom: 1;
      float: left;
      width: 50%;
      padding: 0.2rem 0; }
      .nutrition-facts .vitamins div:before,
      .nutrition-facts .vitamins div:after {
        content: "\0020";
        display: block;
        height: 0;
        overflow: hidden; }
      .nutrition-facts .vitamins div:after {
        clear: both; }
      .nutrition-facts .vitamins div:nth-child(odd) {
        padding-right: 1rem; }
      .nutrition-facts .vitamins div:nth-child(even) {
        padding-left: 1rem; }
    .nutrition-facts .vitamins .name {
      float: left;
      text-align: left;
      width: 80%; }
    .nutrition-facts .vitamins .amount {
      float: right;
      text-align: right;
      width: 20%; }
  .nutrition-facts .percent-daily-value {
    font-size: 1rem; }
  .nutrition-facts .percent-daily {
    text-align: left;
    padding-top: 1rem;
    font-size: 1.1rem;
    line-height: 1.5rem; }
  .nutrition-facts .size {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    font-size: 1.8rem;
    margin-bottom: 0.5rem;
    text-transform: none;
    letter-spacing: 0px; }
    @media (min-width: 48em) {
      .nutrition-facts .size {
        margin-bottom: 1rem; } }
  .nutrition-facts .pipe {
    font-family: "District-Bold", sans-serif;
    font-weight: normal; }
  .nutrition-facts .disclaimer {
    font-size: 1.4rem;
    margin-top: 1rem; }

@media (max-width: 47.9375em) {
  .mobile-accordion .section-heading {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    cursor: pointer;
    display: block;
    color: #b0262e;
    text-align: left;
    text-transform: none;
    padding: 1.5rem 0; }
    .mobile-accordion .section-heading::after {
      content: "+";
      position: absolute;
      font-size: 2.5rem;
      right: 1rem;
      top: 47%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); } }
  @media print and (max-width: 47.9375em) {
    .mobile-accordion .section-heading:after {
      content: ''; } }

@media (max-width: 47.9375em) {
  .mobile-accordion .section-content {
    display: none;
    padding: 1rem 0; } }
  @media (max-width: 47.9375em) and (min-width: 37.5em) {
    .mobile-accordion .section-content {
      padding-top: 1.5rem;
      padding-bottom: 1.5rem; } }

@media (max-width: 47.9375em) {
  .mobile-accordion .accordion-section {
    border-top: 3px solid #ded2b2; }
    .mobile-accordion .accordion-section.active .section-heading:after {
      content: "—";
      right: 1rem;
      margin-top: 0.1rem; } }
  @media print and (max-width: 47.9375em) {
    .mobile-accordion .accordion-section.active .section-heading:after {
      content: ''; } }

@media (max-width: 47.9375em) {
    .mobile-accordion .accordion-section.active .section-content {
      display: block; }
      .mobile-accordion .accordion-section.active .section-content.dish-feature-wrap {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
    .mobile-accordion .accordion-section:last-child {
      border-bottom: 3px solid #ded2b2; } }
  @media print and (max-width: 47.9375em) {
    .mobile-accordion .accordion-section {
      page-break-inside: avoid; }
      .mobile-accordion .accordion-section .section-content {
        display: block; }
        .mobile-accordion .accordion-section .section-content.dish-feature-wrap {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex; } }

@media print {
  .mobile-accordion .accordion-section {
    border-top: none; } }

@media (max-width: 47.9375em) {
  .mobile-accordion .accordion-section .section-heading {
    text-transform: none; } }

.mobile-accordion .accordion-section .section-content {
  zoom: 1; }
  .mobile-accordion .accordion-section .section-content:before,
  .mobile-accordion .accordion-section .section-content:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .mobile-accordion .accordion-section .section-content:after {
    clear: both; }

.full-accordion .section-heading {
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  cursor: pointer;
  display: block;
  color: #b0262e;
  text-align: left;
  text-transform: none;
  padding: 1.5rem 3rem 1.5rem 0; }
  .full-accordion .section-heading::after {
    content: "+";
    position: absolute;
    font-size: 2.5rem;
    right: 1rem;
    top: 47%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  @media print {
    .full-accordion .section-heading:after {
      content: ''; } }

.full-accordion .section-content {
  display: none;
  padding: 1rem 0; }
  @media (min-width: 37.5em) {
    .full-accordion .section-content {
      padding-top: 1.5rem;
      padding-bottom: 1.5rem; } }

.full-accordion .accordion-section {
  border-top: 3px solid #ded2b2; }
  .full-accordion .accordion-section.active .section-heading:after {
    content: "—";
    right: 1rem;
    margin-top: 0.1rem; }
  @media print {
    .full-accordion .accordion-section.active .section-heading:after {
      content: ''; } }
  .full-accordion .accordion-section.active .section-content {
    display: block; }
    .full-accordion .accordion-section.active .section-content.dish-feature-wrap {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
  .full-accordion .accordion-section:last-child {
    border-bottom: 3px solid #ded2b2; }
  @media print {
    .full-accordion .accordion-section {
      page-break-inside: avoid; }
      .full-accordion .accordion-section .section-content {
        display: block; }
        .full-accordion .accordion-section .section-content.dish-feature-wrap {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex; } }
  @media print {
    .full-accordion .accordion-section {
      border-top: none; } }
  @media (max-width: 47.9375em) {
    .full-accordion .accordion-section .section-heading {
      text-transform: none; } }
  .full-accordion .accordion-section .section-content {
    zoom: 1; }
    .full-accordion .accordion-section .section-content:before,
    .full-accordion .accordion-section .section-content:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .full-accordion .accordion-section .section-content:after {
      clear: both; }

.dish-feature-wrap {
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  white-space: nowrap;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.dish-feature-link {
  zoom: 1;
  display: block;
  margin-top: 2.5rem; }
  .dish-feature-link:before,
  .dish-feature-link:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .dish-feature-link:after {
    clear: both; }
  @media (min-width: 37.5em) {
    .dish-feature-link {
      margin-top: 2rem; } }
  .kids-meals .dish-feature-link,
  .shareables .dish-feature-link {
    margin-top: 1rem; }
    @media (min-width: 48em) {
      .kids-meals .dish-feature-link,
      .shareables .dish-feature-link {
        margin-top: 0; } }
  .sandwiches .dish-feature-link {
    margin-top: 1.5rem; }
    @media (min-width: 48em) {
      .sandwiches .dish-feature-link {
        margin-top: 1rem; } }
  .dish-feature-link:hover .feature-dish-name,
  .dish-feature-link:focus .feature-dish-name {
    color: #89060e; }

.dish-feature-new {
  position: absolute;
  right: 2%;
  top: -3%;
  color: #4f2b1c;
  font-style: normal; }
  @media (min-width: 48em) {
    .dish-feature-new {
      right: 10%;
      top: -2%; } }
  .kids-meals .dish-feature-new {
    top: 7%; }
  .shareables .dish-feature-new {
    top: 10%; }
  .sandwiches .dish-feature-new {
    top: 2%; }
  .soups .dish-feature-new {
    top: 5%; }
  .dish-feature-new:before {
    content: 'NEW!';
    display: inline-block;
    position: absolute;
    font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
    font-weight: normal;
    font-size: 1.5rem;
    right: 0.6rem;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 2; }
    @media (min-width: 37.5em) {
      .dish-feature-new:before {
        right: 1rem;
        font-size: 1.9rem; } }
  .dish-feature-new:after {
    content: '';
    display: inline-block;
    position: absolute;
    background-color: #ded2b2;
    right: -14%;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(45deg);
        -ms-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotate(45deg);
    width: 30px;
    height: 30px; }
    @media (min-width: 37.5em) {
      .dish-feature-new:after {
        width: 40px;
        height: 40px; } }

.dish-feature {
  display: inline-block;
  padding: 0 1rem;
  text-align: center;
  margin-bottom: 2rem;
  width: 100%;
  width: 50%; }
  @media (min-width: 30em) {
    .dish-feature {
      padding: 0 2rem;
      margin-bottom: 3rem; } }
  @media (min-width: 37.5em) {
    .dish-feature {
      padding: 0 4rem; } }
  @media (min-width: 48em) {
    .dish-feature {
      width: 33.333333%;
      margin-bottom: 2rem; } }
  @media (min-width: 60em) {
    .dish-feature {
      width: 25%;
      margin-bottom: 2.5rem; } }
  @media print {
    .dish-feature {
      padding: 0 1rem;
      margin-bottom: 0; } }
  @media (min-width: 37.5em) {
    .dish-feature.sandwiches,
    .dish-feature.buff-bowls,
    .dish-feature.shareables,
    .dish-feature.kids-meals {
      padding: 0 2rem; } }
  .dish-feature .feature-dish-image {
    display: block;
    z-index: 5; }
  .dish-feature .feature-dish-info {
    white-space: normal; }
  .dish-feature .feature-dish-name {
    color: #b0262e;
    text-transform: none;
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    font-size: 1.6rem;
    margin-bottom: 1rem;
    white-space: normal; }
  .dish-feature .feature-icons,
  .dish-feature .calorie-list {
    display: inline-block; }
    .dish-feature .feature-icons li,
    .dish-feature .calorie-list li {
      display: inline-block;
      float: left; }
  .dish-feature .feature-icons {
    top: -2px;
    font-size: 1.2rem;
    margin-right: 0.2rem;
    color: #4f2b1c; }
    .dish-feature .feature-icons .veggie {
      margin-left: 5px; }
    .dish-feature .feature-icons .spicy {
      font-size: 1.4rem;
      margin-right: 1px; }
      .dish-feature .feature-icons .spicy:nth-child(2) {
        margin-right: -1px; }
  .dish-feature .calorie-list {
    color: #4f2b1c; }
  .dish-feature .calorie-item,
  .dish-feature .calorie-label {
    font-size: 1.4rem; }
  .dish-feature .calorie-item + .calorie-item:before {
    content: '|';
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    display: inline-block;
    margin-left: 0.3rem;
    margin-right: 0.3rem; }
  .dish-feature .calorie-label {
    font-family: "District-Medium", sans-serif;
    font-weight: normal;
    margin-left: 0.3rem; }

.gform_validation_container {
  display: none; }

.gform_confirmation_wrapper {
  text-align: center; }

.gform_wrapper {
  color: #4f2b1c; }
  .gform_wrapper .gfield {
    zoom: 1; }
    .gform_wrapper .gfield:before,
    .gform_wrapper .gfield:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .gform_wrapper .gfield:after {
      clear: both; }
  .gform_wrapper input,
  .gform_wrapper textarea,
  .gform_wrapper select,
  .gform_wrapper .gfield_radio,
  .gform_wrapper .gfield_checkbox,
  .gform_wrapper .gfield_description,
  .gform_wrapper .gform_drop_area,
  .gform_wrapper .validation_message,
  .gform_wrapper .ginput_preview,
  .gform_wrapper .gfield_list {
    width: 100%; }
    .gform_wrapper input::-webkit-input-placeholder,
    .gform_wrapper textarea::-webkit-input-placeholder,
    .gform_wrapper select::-webkit-input-placeholder,
    .gform_wrapper .gfield_radio::-webkit-input-placeholder,
    .gform_wrapper .gfield_checkbox::-webkit-input-placeholder,
    .gform_wrapper .gfield_description::-webkit-input-placeholder,
    .gform_wrapper .gform_drop_area::-webkit-input-placeholder,
    .gform_wrapper .validation_message::-webkit-input-placeholder,
    .gform_wrapper .ginput_preview::-webkit-input-placeholder,
    .gform_wrapper .gfield_list::-webkit-input-placeholder {
      color: #4f2b1c; }
    .gform_wrapper input:-moz-placeholder,
    .gform_wrapper textarea:-moz-placeholder,
    .gform_wrapper select:-moz-placeholder,
    .gform_wrapper .gfield_radio:-moz-placeholder,
    .gform_wrapper .gfield_checkbox:-moz-placeholder,
    .gform_wrapper .gfield_description:-moz-placeholder,
    .gform_wrapper .gform_drop_area:-moz-placeholder,
    .gform_wrapper .validation_message:-moz-placeholder,
    .gform_wrapper .ginput_preview:-moz-placeholder,
    .gform_wrapper .gfield_list:-moz-placeholder {
      color: #4f2b1c; }
    .gform_wrapper input::-moz-placeholder,
    .gform_wrapper textarea::-moz-placeholder,
    .gform_wrapper select::-moz-placeholder,
    .gform_wrapper .gfield_radio::-moz-placeholder,
    .gform_wrapper .gfield_checkbox::-moz-placeholder,
    .gform_wrapper .gfield_description::-moz-placeholder,
    .gform_wrapper .gform_drop_area::-moz-placeholder,
    .gform_wrapper .validation_message::-moz-placeholder,
    .gform_wrapper .ginput_preview::-moz-placeholder,
    .gform_wrapper .gfield_list::-moz-placeholder {
      color: #4f2b1c; }
    .gform_wrapper input:-ms-input-placeholder,
    .gform_wrapper textarea:-ms-input-placeholder,
    .gform_wrapper select:-ms-input-placeholder,
    .gform_wrapper .gfield_radio:-ms-input-placeholder,
    .gform_wrapper .gfield_checkbox:-ms-input-placeholder,
    .gform_wrapper .gfield_description:-ms-input-placeholder,
    .gform_wrapper .gform_drop_area:-ms-input-placeholder,
    .gform_wrapper .validation_message:-ms-input-placeholder,
    .gform_wrapper .ginput_preview:-ms-input-placeholder,
    .gform_wrapper .gfield_list:-ms-input-placeholder {
      color: #4f2b1c; }
    @media (min-width: 48em) {
      .gform_wrapper input,
      .gform_wrapper textarea,
      .gform_wrapper select,
      .gform_wrapper .gfield_radio,
      .gform_wrapper .gfield_checkbox,
      .gform_wrapper .gfield_description,
      .gform_wrapper .gform_drop_area,
      .gform_wrapper .validation_message,
      .gform_wrapper .ginput_preview,
      .gform_wrapper .gfield_list {
        float: right;
        width: 66.6666%; } }
  .gform_wrapper .gfield_radio > li,
  .gform_wrapper .gfield_checkbox > li {
    display: inline-block;
    margin-right: 2rem; }
  .gform_wrapper .gfield_radio input,
  .gform_wrapper .gfield_radio label,
  .gform_wrapper .gfield_checkbox input,
  .gform_wrapper .gfield_checkbox label {
    width: inherit;
    float: left; }
  .gform_wrapper .gfield_radio label,
  .gform_wrapper .gfield_checkbox label {
    max-width: 95%; }
  .gform_wrapper .gfield_radio input,
  .gform_wrapper .gfield_checkbox input {
    margin-right: 1rem; }
  .gform_wrapper .gfield_label {
    width: 100%; }
    @media (min-width: 48em) {
      .gform_wrapper .gfield_label {
        float: left;
        padding-right: 2rem;
        width: 33.3333%; } }
  .gform_wrapper .gfield_list input {
    float: left;
    width: 75%;
    margin-bottom: 0.5rem; }
  .gform_wrapper .gfield_list thead th {
    padding-bottom: 0.5rem; }
  .gform_wrapper .ginput_container {
    zoom: 1; }
    .gform_wrapper .ginput_container:before,
    .gform_wrapper .ginput_container:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .gform_wrapper .ginput_container:after {
      clear: both; }
  .gform_wrapper .gfield_date_dropdown_year {
    display: none; }
  .gform_wrapper .ginput_complex label {
    display: none; }
  .gform_wrapper .ginput_complex > span {
    display: block;
    zoom: 1; }
    .gform_wrapper .ginput_complex > span:before,
    .gform_wrapper .ginput_complex > span:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .gform_wrapper .ginput_complex > span:after {
      clear: both; }
  .gform_wrapper .ginput_complex .ginput_left {
    margin-bottom: 1rem; }
  .gform_wrapper .gfield_label {
    display: inline-block;
    margin-bottom: 1rem; }
  .gform_wrapper .gsection > :last-child {
    margin-bottom: 0; }
  .gform_wrapper .gsection_title {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    text-transform: none;
    font-size: 2.4rem;
    margin-bottom: 1em; }
  .gform_wrapper .validation_error {
    display: none; }
  .gform_wrapper .gfield_required {
    margin-left: 0.5rem; }
  .gform_wrapper .gfield_html,
  .gform_wrapper .gsection,
  .gform_wrapper .gfield_label {
    line-height: 1.5; }
  .gform_wrapper .gfield_html p {
    margin-bottom: 1em; }
    .gform_wrapper .gfield_html p:last-child {
      margin-bottom: 0; }
  .gform_wrapper .gfield {
    margin-bottom: 3rem; }
  .gform_wrapper .instruction {
    display: none; }
  .gform_wrapper .gfield_error select,
  .gform_wrapper .gfield_error input,
  .gform_wrapper .gfield_error textarea {
    border-color: #f31f47; }
  .gform_wrapper .gfield_error .validation_message {
    color: white;
    padding: 1rem;
    background-color: #f31f47; }
    .gform_wrapper .gfield_error .validation_message:before {
      content: '\E001';
      display: inline-block;
      margin-right: 5px; }
  .gform_wrapper .gform_footer {
    text-align: center; }
  .gform_wrapper .gform_button {
    float: none;
    width: inherit;
    text-align: center;
    display: inline-block;
    padding: 1rem 2rem;
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    text-transform: uppercase;
    font-size: 1.4rem;
    letter-spacing: 0.2em;
    background-color: #b0262e;
    color: #fff;
    -webkit-transition: -webkit-transform 300ms;
            transition: transform 300ms;
    zoom: 1;
    background-color: #b0262e;
    color: #fff; }
    .gform_wrapper .gform_button:before,
    .gform_wrapper .gform_button:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .gform_wrapper .gform_button:after {
      clear: both; }
    .gform_wrapper .gform_button:hover,
    .gform_wrapper .gform_button:focus {
      background-color: #89060e; }
    @media (min-width: 37.5em) {
      .gform_wrapper .gform_button {
        font-size: 1.6rem;
        padding: 1.5rem 3rem; } }
    .gform_wrapper .gform_button:hover,
    .gform_wrapper .gform_button:focus {
      background-color: #89060e; }
  .gform_wrapper .gform_button_select_files {
    width: 100%;
    color: #b0262e;
    margin-bottom: 2rem; }
  .gform_wrapper .gform_drop_instructions {
    display: inline-block;
    width: 100%;
    padding: 1rem 1rem 5rem;
    background-color: #f5edd9;
    margin-bottom: 2rem; }

.page-template-stub-header li.nav-toggle {
  display: none; }

.page-template-stub-header li.order-now {
  margin-right: 0; }

.page-template-stub-header main.root {
  display: none; }

.page-template-stub-header footer.main-footer {
  display: none; }

.page-template-stub-footer header.main-header {
  display: none; }

.page-template-stub-footer main.root {
  display: none; }

.browse-happy {
  background-color: transparent;
  background-color: rgba(119, 119, 119, 0.97);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F7777777,endColorstr=#F7777777);
  zoom: 1;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 800; }
  .browse-happy p {
    display: block;
    width: 800px;
    height: 200px;
    font-size: 2em;
    line-height: 1.3em;
    text-align: center;
    color: #fff; }
    .browse-happy p a {
      display: inline-block;
      color: #59b6fd;
      line-height: 1em;
      border-bottom: 1px solid rgba(89, 182, 253, 0.2); }
      .browse-happy p a:hover {
        color: rgba(89, 182, 253, 0.8); }

.cta-wrap {
  display: block;
  zoom: 1; }
  .cta-wrap:before,
  .cta-wrap:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .cta-wrap:after {
    clear: both; }

.cta {
  padding: 1rem 4rem 1rem 2rem;
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  text-transform: uppercase;
  font-size: 1.4rem;
  letter-spacing: 0.2em;
  background-color: #b0262e;
  color: #fff;
  -webkit-transition: -webkit-transform 300ms;
          transition: transform 300ms;
  zoom: 1;
  display: inline-block; }
  .cta:before,
  .cta:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .cta:after {
    clear: both; }
  @media (min-width: 37.5em) {
    .cta {
      font-size: 1.6rem;
      padding: 1.5rem 5rem 1.5rem 3rem; } }
  .cta:after {
    content: '';
    -webkit-transition: all 300ms;
            transition: all 300ms;
    position: absolute;
    width: 0;
    right: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    height: 0;
    display: inline-block;
    margin-left: 1.5rem;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 7px solid #fff; }
    @media (min-width: 48em) {
      .cta:after {
        right: 30px; } }
  .cta:hover,
  .cta:focus {
    background-color: #89060e; }
    .cta:hover:after,
    .cta:focus:after {
      right: 15px; }
      @media (min-width: 48em) {
        .cta:hover:after,
        .cta:focus:after {
          right: 25px; } }
  .cta.tan {
    background-color: #ded2b2;
    color: #b0262e; }
    .cta.tan:hover,
    .cta.tan:focus {
      background-color: #c8bb98; }
    .cta.tan:after {
      border-left-color: #b0262e; }
  .cta.red {
    background-color: #b0262e;
    color: #fff; }
    .cta.red:hover,
    .cta.red:focus {
      background-color: #89060e; }
    .cta.red:after {
      border-left-color: #fff; }

.featured-category {
  padding: 1rem 1.5rem;
  font-size: 1.4rem;
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  display: inline-block;
  margin-right: 0rem;
  margin-bottom: 0.5rem; }
  @media (min-width: 48em) {
    .featured-category {
      padding: 1.2rem 1.5rem;
      font-size: 1.6rem; } }
  .featured-category.tan {
    color: #b0262e;
    background-color: #ded2b2; }
  .featured-category.red {
    color: white;
    background-color: #b0262e; }
  .featured-category.brown {
    color: #ffc426;
    background-color: #4f2b1c; }

.s-spicy,
.s-veggie {
  display: inline-block; }

i.rarrow:before,
i.larrow:before {
  content: '\E003';
  display: inline-block; }

i.darrow:before {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg); }

i.larrow:before {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg); }

i.spicy {
  top: 2px; }
  i.spicy:before {
    content: '\E00F';
    width: 5px;
    display: inline-block; }

i.veggie {
  top: 2px; }
  i.veggie:before {
    content: '\E012';
    display: inline-block; }

i.print {
  top: 2px; }
  i.print:before {
    content: '\E00D';
    display: inline-block; }

.icon-key {
  display: block;
  margin-bottom: 2rem;
  zoom: 1; }
  .icon-key:before,
  .icon-key:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .icon-key:after {
    clear: both; }
  @media (min-width: 37.5em) {
    .icon-key {
      margin-bottom: 2.5rem; } }
  @media (min-width: 48em) {
    .icon-key {
      margin-bottom: 3rem; } }
  .icon-key .spicy {
    font-size: 20px;
    top: 4px; }
    .icon-key .spicy:before {
      width: inherit; }
  .icon-key .veggie {
    margin-left: 0;
    font-size: 1.5rem;
    top: 2px; }
  .icon-key .icon-wrap {
    float: left;
    display: inline-block;
    width: 100%;
    font-size: 1.2rem; }
    @media (min-width: 37.5em) {
      .icon-key .icon-wrap {
        float: none;
        display: inline;
        width: inherit; }
        .icon-key .icon-wrap:first-child:after {
          content: ', ';
          display: inline; } }

.custom-checkbox-wrap .custom-checkbox {
  display: none; }

.custom-checkbox-wrap .stunt-double {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  border: 3px solid #ded2b2;
  background-color: #fff; }
  .custom-checkbox-wrap .stunt-double:after {
    content: '\E005';
    color: white;
    display: inline-block;
    opacity: 0;
    top: -1px;
    left: -1px; }

.custom-checkbox-wrap .custom-checkbox:checked + .stunt-double {
  border-color: #b0262e;
  background-color: #b0262e;
  color: white; }
  .custom-checkbox-wrap .custom-checkbox:checked + .stunt-double:after {
    opacity: 1; }

#hero-video-loop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: inherit;
  padding: 0;
  z-index: 1; }

#home-grid {
  margin-top: 1rem; }
  @media (min-width: 48em) {
    #home-grid {
      margin-top: 3rem; } }
  @media (min-width: 60em) {
    #home-grid {
      margin-top: 5rem; } }

.education {
  max-width: 144rem;
  margin: 0 auto;
  padding: 3rem 2rem;
  zoom: 1; }
  .education:before,
  .education:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .education:after {
    clear: both; }
  @media (min-width: 37.5em) {
    .education {
      padding-left: 4rem;
      padding-right: 4rem;
      padding-top: 4rem;
      padding-bottom: 5rem; } }
  @media (min-width: 60em) {
    .education {
      padding-top: 6rem;
      padding-bottom: 7rem;
      padding-left: 7.5rem;
      padding-right: 7.5rem; } }
  .education h2 {
    text-align: center;
    font-size: 3.6rem;
    font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
    font-weight: normal;
    text-transform: uppercase;
    color: #4f2b1c; }
    @media (min-width: 37.5em) {
      .education h2 {
        font-size: 6.4rem; } }
    @media (min-width: 60em) {
      .education h2 {
        font-size: 7.2rem; } }
  .education img {
    margin: 0 auto;
    display: block; }
  .education .cta-wrap {
    display: block;
    zoom: 1; }
    .education .cta-wrap:before,
    .education .cta-wrap:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .education .cta-wrap:after {
      clear: both; }
  .education .cta {
    text-align: center;
    display: inline-block;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
    .education .cta:hover,
    .education .cta:focus {
      color: #fff; }

.home-footer {
  margin-bottom: 1rem; }
  @media (min-width: 48em) {
    .home-footer {
      margin-bottom: 3rem; } }
  @media (min-width: 60em) {
    .home-footer {
      margin-bottom: 5rem; } }

.default-landing.no-hero {
  padding-top: 5rem; }
  @media (min-width: 37.5em) {
    .default-landing.no-hero {
      padding-top: 7.5rem; } }
  @media (min-width: 60em) {
    .default-landing.no-hero {
      padding-top: 10rem; } }

.default-landing p a {
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  color: #b0262e; }
  .default-landing p a:hover,
  .default-landing p a:focus,
  .default-landing p a:active {
    color: #89060e; }
  .default-landing p a:focus {
    outline: none; }

.default-landing-content {
  zoom: 1;
  padding-top: 4rem; }
  .default-landing-content:before,
  .default-landing-content:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .default-landing-content:after {
    clear: both; }
  @media (min-width: 48em) {
    .default-landing-content {
      padding-top: 7.5rem; } }
  .default-landing-content.constrained {
    max-width: 68rem; }
    .default-landing-content.constrained h1,
    .default-landing-content.constrained h2,
    .default-landing-content.constrained h3,
    .default-landing-content.constrained h4,
    .default-landing-content.constrained h5,
    .default-landing-content.constrained h6 {
      text-align: center; }
  .default-landing-content:last-child {
    margin-bottom: 4rem; }
    @media (min-width: 48em) {
      .default-landing-content:last-child {
        margin-bottom: 7.5rem; } }
  .default-landing-content > .column-33-percent {
    text-align: center; }
    @media (min-width: 48em) {
      .default-landing-content > .column-33-percent {
        float: right;
        padding-left: 4rem;
        padding-right: 0; } }
  .default-landing-content > .column-66-percent {
    margin-bottom: 4rem; }
    @media (min-width: 48em) {
      .default-landing-content > .column-66-percent {
        margin-bottom: 0; } }
  @media (min-width: 48em) {
    .default-landing-content .column-33-percent + .column-66-percent {
      float: left;
      padding-right: 4rem; } }

.dish-detail .container {
  max-width: 120rem;
  width: 100%;
  margin: 0 auto; }

.dish-content {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem; }
  @media (min-width: 48em) {
    .dish-content .image, .dish-content .simple-tabs {
      width: 50%;
      float: left; } }
  .dish-content .image {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    margin-bottom: 4rem; }
    @media (min-width: 37.5em) {
      .dish-content .image {
        padding-left: 3rem;
        padding-right: 3rem; } }
    @media (min-width: 48em) {
      .dish-content .image {
        margin-bottom: 0; } }
  @media (min-width: 48em) {
    .dish-content .tabs {
      text-align: left; } }
  .dish-content .tab {
    font-size: 1.2rem; }
    @media (min-width: 37.5em) {
      .dish-content .tab {
        font-size: 1.4rem; } }
    @media (min-width: 60em) {
      .dish-content .tab {
        font-size: 1.6rem; } }
  .dish-content .tab-detail {
    padding: 2rem; }
    @media (min-width: 60em) {
      .dish-content .tab-detail {
        padding: 3rem; } }
  .dish-content .nutrition-guides {
    margin-bottom: 0.5rem; }
    @media (min-width: 48em) {
      .dish-content .nutrition-guides {
        margin-bottom: 1rem; } }
    .dish-content .nutrition-guides li {
      display: inline-block;
      float: left; }
      .dish-content .nutrition-guides li:after {
        content: '|';
        display: inline-block;
        margin-left: 0.5rem;
        margin-right: 0.5rem; }
    .dish-content .nutrition-guides li:last-child:after {
      content: ''; }
    .dish-content .nutrition-guides a {
      color: #b0262e;
      font-size: 1.4rem;
      font-family: "District-Bold", sans-serif;
      font-weight: normal; }
  .dish-content .icons,
  .dish-content .excerpt {
    display: block;
    float: left;
    width: 100%; }
  @media (min-width: 48em) {
    .dish-content .icons {
      margin-top: 0.2rem; } }
  @media (min-width: 76.25em) {
    .dish-content .icons {
      margin-top: 0.5rem; } }
  .dish-content .icons .veggie {
    margin-left: 1rem;
    top: 2px; }
    .dish-content .icons .veggie.no-spicy {
      margin-left: 0; }
  .dish-content .icons .spicy {
    margin-right: -0.1rem; }
  .dish-content .excerpt {
    font-size: 1.6rem; }
    @media (min-width: 48em) {
      .dish-content .excerpt {
        font-size: 1.6rem; } }
    @media (min-width: 76.25em) {
      .dish-content .excerpt {
        font-size: 1.8rem; } }
    .dish-content .excerpt .excerpt-extra {
      margin-top: 1em; }
      .dish-content .excerpt .excerpt-extra p {
        margin-bottom: 1em; }
        .dish-content .excerpt .excerpt-extra p:last-child {
          margin-bottom: 0; }
  .dish-content .prep-option {
    float: left;
    display: inline-block;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem; }
    @media (min-width: 37.5em) {
      .dish-content .prep-option {
        margin-right: 1rem; } }
  .dish-content .prep-option-title {
    margin-bottom: 0;
    text-align: center; }
    @media (min-width: 37.5em) {
      .dish-content .prep-option-title {
        margin-bottom: 0.5rem; } }
  .dish-content .prep-option-description {
    text-align: center; }
    @media (min-width: 37.5em) {
      .dish-content .prep-option-description {
        display: inherit;
        padding: 0 0.5rem; } }

.dish-info-section {
  zoom: 1;
  margin-bottom: 1rem; }
  .dish-info-section:before,
  .dish-info-section:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .dish-info-section:after {
    clear: both; }
  @media (min-width: 37.5em) {
    .dish-info-section {
      margin-bottom: 1.5rem; } }
  @media (min-width: 60em) {
    .dish-info-section {
      margin-bottom: 2rem; } }
  .dish-info-section:last-child {
    margin-bottom: 0; }
  .dish-info-section p {
    font-size: 1.4rem; }
  .dish-info-section h3 {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    font-size: 1.8rem;
    margin-bottom: 0.5rem;
    text-transform: none;
    letter-spacing: 0px; }
    @media (min-width: 48em) {
      .dish-info-section h3 {
        margin-bottom: 1rem; } }
  .dish-info-section.nutrition {
    margin-top: 2rem; }
    @media (min-width: 60em) {
      .dish-info-section.nutrition {
        margin-top: 3rem; } }

.dish-disclaimer {
  width: 100%; }
  .dish-disclaimer p {
    margin-bottom: 0.5em; }
    .dish-disclaimer p:last-child {
      margin-bottom: 0; }

.dish-info {
  zoom: 1;
  margin-bottom: 2rem; }
  .dish-info:before,
  .dish-info:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .dish-info:after {
    clear: both; }
  @media (min-width: 48em) {
    .dish-info {
      margin-top: 1.5rem;
      margin-bottom: 4rem; } }
  @media (min-width: 60em) {
    .dish-info {
      margin-top: 3.5rem; } }
  .dish-info.kids-meals .image,
  .dish-info.shareables .image,
  .dish-info.sandwiches .image {
    margin-top: -6.5rem; }

@media (max-width: 47.9375em) {
  .dish-extra-info .section-heading {
    font-size: 1.6rem;
    margin-bottom: 0; }
    .dish-extra-info .section-heading span.right,
    .dish-extra-info .section-heading span.left {
      display: none; } }

.dish-extra-info .accordion-section.active .section-content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
  -webkit-justify-content: left;
      -ms-flex-pack: left;
          justify-content: left;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }

@media (min-width: 48em) {
  .dish-extra-info .accordion-section .section-content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }

.dish-extra-info .tip-wrap {
  margin-bottom: 2rem;
  display: inline-block;
  width: 100%; }
  @media (min-width: 30em) {
    .dish-extra-info .tip-wrap {
      width: 50%;
      padding-right: 2rem;
      margin-bottom: 3rem; } }
  @media (min-width: 37.5em) {
    .dish-extra-info .tip-wrap {
      width: 33.3333333%; } }
  @media (min-width: 48em) {
    .dish-extra-info .tip-wrap {
      text-align: center;
      padding: 0 5rem; } }

.dish-extra-info .tip-title {
  text-transform: none;
  font-size: 1.6rem;
  margin-bottom: 0.5rem; }
  @media (min-width: 37.5em) {
    .dish-extra-info .tip-title {
      font-size: 1.8rem;
      margin-bottom: 1rem; } }

.dish-extra-info .addition {
  font-size: 1.4rem;
  padding-right: 1.5rem;
  margin-bottom: 1rem;
  width: 100%; }
  @media (min-width: 30em) {
    .dish-extra-info .addition {
      width: 50%;
      margin-bottom: 1.5rem; } }
  @media (min-width: 48em) {
    .dish-extra-info .addition {
      width: 33.33333%;
      text-align: center;
      margin-bottom: 2rem; } }

.menu-sections {
  border-bottom: 0.3rem solid #ded2b2; }
  @media (min-width: 48em) {
    .menu-sections {
      border-bottom: 0.4rem solid #ded2b2; } }
  .menu-sections:after {
    content: '';
    width: 100%;
    height: 0.4rem;
    color: #ded2b2;
    display: block; }
  @media (min-width: 48em) {
    .menu-sections .extras-section {
      display: none; } }

@media (min-width: 48em) {
  .menu-section {
    margin-bottom: 2rem; } }

@media (min-width: 60em) {
  .menu-section {
    margin-bottom: 3rem; } }

@media (min-width: 76.25em) {
  .menu-section {
    margin-bottom: 4rem; } }

@media print {
  .menu-section {
    margin-bottom: 1rem; } }

@media (max-width: 47.9375em) {
  .menu-section .section-heading {
    font-size: 1.6rem;
    margin-bottom: 0; } }

.menu-section .section-anchor {
  display: inline-block;
  text-align: center;
  position: absolute;
  top: -50px; }
  @media (min-width: 37.5em) {
    .menu-section .section-anchor {
      top: -125px; } }
  @media (min-width: 76.25em) {
    .menu-section .section-anchor {
      top: -175px; } }

.menu-section .section-disclaimer {
  text-align: center;
  width: 100%;
  margin-bottom: 1.5rem; }
  @media (min-width: 48em) {
    .menu-section .section-disclaimer {
      margin-bottom: 3rem; } }
  @media (min-width: 76.25em) {
    .menu-section .section-disclaimer {
      margin-bottom: 4.5rem; } }
  .menu-section .section-disclaimer p {
    margin-bottom: 0.5em;
    margin-left: auto;
    margin-right: auto; }
    @media (min-width: 48em) {
      .menu-section .section-disclaimer p {
        width: 80%; } }
    @media (min-width: 76.25em) {
      .menu-section .section-disclaimer p {
        width: 66.6666%; } }
    .menu-section .section-disclaimer p:last-child {
      margin-bottom: 0; }

.menu-intro {
  max-width: 80rem; }
  @media print {
    .menu-intro {
      display: none; } }
  .menu-intro .guides-and-print {
    margin-bottom: 1rem; }
    .menu-intro .guides-and-print li {
      display: inline-block; }
      .menu-intro .guides-and-print li:after {
        content: ' | ';
        display: inline; }
      .menu-intro .guides-and-print li:last-child:after {
        content: ''; }
    .menu-intro .guides-and-print a {
      font-family: "District-Bold", sans-serif;
      font-weight: normal;
      color: #b0262e; }
      .menu-intro .guides-and-print a:hover,
      .menu-intro .guides-and-print a:focus {
        color: #89060e; }
  .menu-intro .icon-key {
    color: #4f2b1c; }

.menu-main {
  margin-bottom: 4rem; }
  .menu-main .menu-categories {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    display: block;
    margin-bottom: 2rem; }
    @media (max-width: 59.9375em) {
      .menu-main .menu-categories.full {
        display: none; } }
    @media (min-width: 60em) {
      .menu-main .menu-categories.full {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: stretch;
        -webkit-align-items: stretch;
            -ms-flex-align: stretch;
                align-items: stretch;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between; } }
    @media print {
      .menu-main .menu-categories.full {
        display: none; } }
    .menu-main .menu-categories.mobile {
      max-width: 90%; }
      .menu-main .menu-categories.mobile select {
        font-size: 1.6rem; }
      @media (min-width: 30em) {
        .menu-main .menu-categories.mobile {
          max-width: 80%; } }
      @media (min-width: 37.5em) {
        .menu-main .menu-categories.mobile {
          max-width: 50%; } }
      @media (min-width: 60em) {
        .menu-main .menu-categories.mobile {
          display: none; } }
      @media print {
        .menu-main .menu-categories.mobile {
          display: none; } }
  .menu-main .filter-info {
    display: block;
    margin-bottom: 1rem;
    color: #2C3E50; }
  .menu-main .menu-category {
    display: inline-block;
    cursor: pointer; }
    .menu-main .menu-category.active a {
      background-color: #ded2b2;
      color: #b0262e; }
    .menu-main .menu-category.active a:hover {
      color: #b0262e; }
    .menu-main .menu-category a:hover,
    .menu-main .menu-category a:focus {
      background-color: #ded2b2;
      color: #89060e; }
    .menu-main .menu-category a {
      padding: 1rem;
      color: #b0262e;
      font-size: 1.4rem;
      text-transform: uppercase;
      letter-spacing: 0.2em;
      font-family: "District-Bold", sans-serif;
      font-weight: normal;
      display: inline-block; }
      @media (min-width: 76.25em) {
        .menu-main .menu-category a {
          font-size: 1.6rem;
          padding: 1.5rem; } }
  .menu-main .dish-feature {
    display: none; }
    .menu-main .dish-feature.show {
      display: inline-block; }
  .menu-main .profiles-wrap {
    display: inline-block;
    width: 100%; }
    @media (min-width: 48em) {
      .menu-main .profiles-wrap {
        display: none; } }
    .menu-main .profiles-wrap:after {
      content: '';
      -webkit-transition: all 300ms;
              transition: all 300ms;
      position: absolute;
      width: 0;
      right: 0px;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      height: 0;
      display: inline-block;
      margin-left: 1.5rem;
      border-left: 7px solid transparent;
      border-right: 7px solid transparent;
      border-top: 7px solid #fff;
      border-top-color: #fff; }

#gluten-free-info {
  display: none;
  font-size: 1.4rem;
  max-width: 80rem;
  margin: 0 auto 2rem;
  text-align: center; }
  @media (min-width: 48em) {
    #gluten-free-info {
      margin-bottom: 3rem; } }

.gluten-free-optional {
  display: none; }
  .gluten-free-optional .feature-dish {
    display: block; }

.gluten-free-optional-info {
  text-align: center;
  font-size: 1.4rem;
  margin-bottom: 1rem; }

.menu-footer {
  zoom: 1;
  margin-bottom: 4rem; }
  .menu-footer:before,
  .menu-footer:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .menu-footer:after {
    clear: both; }
  @media (min-width: 37.5em) {
    .menu-footer {
      margin-bottom: 5.5rem; } }
  @media (min-width: 60em) {
    .menu-footer {
      margin-bottom: 7rem; } }
  @media print {
    .menu-footer {
      display: none; } }
  .menu-footer .menu-footer-heading {
    font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
    font-weight: normal;
    text-transform: uppercase;
    font-size: 2.4rem;
    margin-bottom: 2rem; }
    @media (min-width: 37.5em) {
      .menu-footer .menu-footer-heading {
        font-size: 3.2rem; } }
    @media (min-width: 48em) {
      .menu-footer .menu-footer-heading {
        margin-bottom: 3rem; } }
    @media (min-width: 60em) {
      .menu-footer .menu-footer-heading {
        font-size: 3.6rem; } }
  @media (min-width: 48em) {
    .menu-footer .menu-footer-section {
      float: left; } }
  @media (max-width: 47.9375em) {
    .menu-footer .menu-footer-section.menu-extras {
      display: none; } }
  .menu-footer .online-ordering {
    padding-right: 3rem; }
    @media (min-width: 48em) {
      .menu-footer .online-ordering {
        width: 60%;
        padding-right: 6rem; } }
    @media (min-width: 60em) {
      .menu-footer .online-ordering {
        width: 66.666666%;
        padding-right: 8rem; } }
  .menu-footer .online-ordering-copy {
    margin-bottom: 1rem;
    font-size: 1.6rem; }
    @media (min-width: 48em) {
      .menu-footer .online-ordering-copy {
        font-size: 1.8rem; } }
  .menu-footer .pricing-notice {
    font-size: 1.4rem;
    font-family: "District-Bold", sans-serif;
    font-weight: normal; }
  .menu-footer .start-ordering {
    margin-top: 1.5rem; }
    @media (min-width: 48em) {
      .menu-footer .start-ordering {
        margin-top: 2.5rem; } }
  .menu-footer .menu-extras {
    width: 40%; }
    @media (min-width: 60em) {
      .menu-footer .menu-extras {
        width: 33.3333333%; } }

.menu-extra-item {
  margin-bottom: 1rem; }
  .menu-extra-item .name,
  .menu-extra-item .calories {
    display: inline-block;
    font-size: 1.4rem; }
    @media (min-width: 30em) {
      .menu-extra-item .name,
      .menu-extra-item .calories {
        font-size: 1.6rem; } }
  .menu-extra-item .calories {
    float: right;
    font-family: "District-Bold", sans-serif;
    font-weight: normal; }

#no-items-found {
  display: none;
  text-align: center;
  margin-top: 3rem;
  margin-bottom: 5rem; }
  @media (min-width: 48em) {
    #no-items-found {
      margin-bottom: 10rem; } }
  #no-items-found p {
    font-size: 1.8rem; }

.careers-landing-section {
  padding-top: 3rem;
  padding-bottom: 4rem; }
  @media (min-width: 37.5em) {
    .careers-landing-section {
      padding-top: 4rem;
      padding-bottom: 5rem; } }
  @media (min-width: 60em) {
    .careers-landing-section {
      padding-top: 6rem;
      padding-bottom: 8rem; } }
  .careers-landing-section .featured-heading {
    margin-bottom: 2rem; }

.careers-landing-intro {
  padding-top: 3rem; }
  @media (min-width: 48em) {
    .careers-landing-intro {
      padding-top: 6rem; } }
  @media (min-width: 60em) {
    .careers-landing-intro {
      padding-top: 8rem; } }
  .careers-landing-intro .intro-heading {
    padding-top: 0; }
  .careers-landing-intro .cta-wrap {
    margin-bottom: 0; }

.careers-landing-positions-wrap {
  background-color: #f5edd9; }
  .careers-landing-positions-wrap .featured-heading span.title {
    background-color: #f5edd9; }
  .careers-landing-positions-wrap .position-types {
    zoom: 1;
    margin-left: -1rem;
    margin-right: -1rem; }
    .careers-landing-positions-wrap .position-types:before,
    .careers-landing-positions-wrap .position-types:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .careers-landing-positions-wrap .position-types:after {
      clear: both; }
  .careers-landing-positions-wrap .grid-block {
    width: 100%;
    padding: 1rem; }
    @media (min-width: 37.5em) {
      .careers-landing-positions-wrap .grid-block {
        width: 33.33333%;
        padding: 0.5rem; } }
    @media (min-width: 48em) {
      .careers-landing-positions-wrap .grid-block {
        padding: 1rem; } }
    .careers-landing-positions-wrap .grid-block.team-positions .grid-text {
      background-color: #ffc426; }
    .careers-landing-positions-wrap .grid-block.corporate-positions .grid-text {
      background-color: #b2bfbb; }
  @media (min-width: 37.5em) {
    .careers-landing-positions-wrap .grid-text {
      bottom: 2rem; } }
  @media (min-width: 37.5em) and (max-width: 47.9375em) {
    .careers-landing-positions-wrap .grid-text {
      padding: 1rem; }
      .careers-landing-positions-wrap .grid-text .cta-link {
        font-size: 12px; } }

.careers-landing-quotes {
  padding-bottom: 0; }
  .careers-landing-quotes .slick-prev,
  .careers-landing-quotes .slick-next {
    font-size: 3rem;
    color: #b0262e;
    top: 30%;
    z-index: 2;
    -webkit-transform: translateY(-70%);
        -ms-transform: translateY(-70%);
            transform: translateY(-70%); }
    @media (max-width: 47.9375em) {
      .careers-landing-quotes .slick-prev,
      .careers-landing-quotes .slick-next {
        display: none !important; } }
  @media (min-width: 48em) {
    .careers-landing-quotes .slick-prev {
      left: 50px; } }
  @media (min-width: 60em) {
    .careers-landing-quotes .slick-prev {
      left: 75px; } }
  @media (min-width: 76.25em) {
    .careers-landing-quotes .slick-prev {
      left: 100px; } }
  @media (min-width: 48em) {
    .careers-landing-quotes .slick-next {
      right: 50px; } }
  @media (min-width: 60em) {
    .careers-landing-quotes .slick-next {
      right: 75px; } }
  @media (min-width: 76.25em) {
    .careers-landing-quotes .slick-next {
      right: 100px; } }
  .careers-landing-quotes .slick-dots {
    bottom: 3rem; }
    .careers-landing-quotes .slick-dots button:before {
      font-size: 4rem;
      color: #ded2b2;
      opacity: 1; }
    .careers-landing-quotes .slick-dots .slick-active button:before {
      color: #b0262e; }
  .careers-landing-quotes .quotes-slider {
    border-bottom: 0.4rem solid #ded2b2;
    padding-bottom: 5rem;
    margin-bottom: 0; }
    @media (min-width: 37.5em) {
      .careers-landing-quotes .quotes-slider {
        padding-bottom: 6rem; } }
    @media (min-width: 60em) {
      .careers-landing-quotes .quotes-slider {
        padding-bottom: 7rem; } }
  @media (min-width: 48em) {
    .careers-landing-quotes .quote-content {
      padding-left: 100px;
      padding-right: 100px; } }
  @media (min-width: 60em) {
    .careers-landing-quotes .quote-content {
      padding-left: 125px;
      padding-right: 125px; } }
  @media (min-width: 76.25em) {
    .careers-landing-quotes .quote-content {
      padding-left: 150px;
      padding-right: 150px; } }
  .careers-landing-quotes blockquote {
    padding: 4rem 1rem;
    text-align: center; }
    .careers-landing-quotes blockquote p {
      font-size: 1.8rem; }
  .careers-landing-quotes cite {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    font-style: normal;
    display: block;
    margin-top: 4rem; }
  .careers-landing-quotes .quote-line {
    display: block;
    text-transform: uppercase;
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    letter-spacing: 1px;
    font-size: 1.8rem; }
    @media (min-width: 48em) {
      .careers-landing-quotes .quote-line {
        font-size: 2.4rem; } }
    .careers-landing-quotes .quote-line:nth-child(odd) {
      font-family: "Ziggurat A", "Ziggurat B", sans-serif;
      font-weight: normal;
      font-size: 2.8rem; }
      @media (min-width: 48em) {
        .careers-landing-quotes .quote-line:nth-child(odd) {
          font-size: 3.6rem; } }

.careers-landing-footer {
  zoom: 1; }
  .careers-landing-footer:before,
  .careers-landing-footer:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .careers-landing-footer:after {
    clear: both; }
  .careers-landing-footer .careers-landing-footer-copy,
  .careers-landing-footer .careers-landing-footer-video {
    width: 100%; }
    @media (min-width: 48em) {
      .careers-landing-footer .careers-landing-footer-copy,
      .careers-landing-footer .careers-landing-footer-video {
        width: 50%;
        float: left; } }
    .careers-landing-footer .careers-landing-footer-copy.full,
    .careers-landing-footer .careers-landing-footer-video.full {
      width: 100%; }
  .careers-landing-footer .careers-landing-footer-copy {
    float: left; }
    .careers-landing-footer .careers-landing-footer-copy h4 {
      font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
      font-weight: normal;
      font-size: 3.6rem;
      margin-bottom: 3rem;
      text-transform: uppercase; }
      @media (min-width: 48em) {
        .careers-landing-footer .careers-landing-footer-copy h4 {
          font-size: 4.2rem; } }
    @media (min-width: 76.25em) {
      .careers-landing-footer .careers-landing-footer-copy {
        width: 40%; } }
  @media (min-width: 48em) {
    .careers-landing-footer .careers-landing-footer-copy-content {
      padding-right: 5rem; } }
  .careers-landing-footer .careers-landing-footer-copy-content p {
    font-size: 1.4rem;
    margin-bottom: 1rem; }
    @media (min-width: 48em) {
      .careers-landing-footer .careers-landing-footer-copy-content p {
        font-size: 1.6rem;
        margin-bottom: 2rem; } }
  .careers-landing-footer .careers-landing-footer-video {
    float: right;
    height: 25rem;
    margin-bottom: 3rem; }
    @media (min-width: 30em) {
      .careers-landing-footer .careers-landing-footer-video {
        height: 30rem; } }
    @media (min-width: 37.5em) {
      .careers-landing-footer .careers-landing-footer-video {
        height: 35rem; } }
    @media (min-width: 48em) {
      .careers-landing-footer .careers-landing-footer-video {
        height: 25rem;
        margin-bottom: 0; } }
    @media (min-width: 60em) {
      .careers-landing-footer .careers-landing-footer-video {
        height: 30rem; } }
    @media (min-width: 76.25em) {
      .careers-landing-footer .careers-landing-footer-video {
        height: 44rem;
        width: 60%; } }
    .careers-landing-footer .careers-landing-footer-video iframe {
      float: right; }

.careers-apply .featured-heading {
  text-align: center;
  margin-bottom: 2rem; }
  @media (min-width: 37.5em) {
    .careers-apply .featured-heading {
      margin-bottom: 3rem; } }
  @media (min-width: 60em) {
    .careers-apply .featured-heading {
      margin-bottom: 4rem; } }

.careers-apply-back-to-landing {
  padding-top: 2rem;
  padding-bottom: 2rem; }
  @media (min-width: 37.5em) {
    .careers-apply-back-to-landing {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media (min-width: 60em) {
    .careers-apply-back-to-landing {
      padding-top: 4rem; } }

.careers-apply-main {
  margin-bottom: 5rem; }
  @media (min-width: 37.5em) {
    .careers-apply-main {
      margin-bottom: 7.5rem; } }
  @media (min-width: 60em) {
    .careers-apply-main {
      margin-bottom: 10rem; } }
  @media (max-width: 47.9375em) {
    .careers-apply-main .simple-tabs section {
      padding: 0; } }

.careers-apply-position-search {
  text-align: center;
  margin-bottom: 3rem; }
  @media (min-width: 48em) {
    .careers-apply-position-search {
      margin-bottom: 5rem; } }
  .careers-apply-position-search h3 {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    letter-spacing: inherit;
    text-transform: none;
    font-size: 1.6rem;
    margin-bottom: 2rem; }
    @media (min-width: 48em) {
      .careers-apply-position-search h3 {
        font-size: 1.8rem; } }

.careers-apply-search-form {
  margin-bottom: 3rem;
  max-width: 40rem;
  margin: 0 auto 3rem; }
  @media (min-width: 48em) {
    .careers-apply-search-form {
      margin-bottom: 5rem; } }
  .careers-apply-search-form button.rarrow {
    position: absolute;
    right: 5%;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid #b0262e; }
  .careers-apply-search-form input {
    padding: 1rem 4rem 1rem 1rem;
    color: #4f2b1c;
    font-size: 1.6rem;
    border: 4px solid #ded2b2; }
    .careers-apply-search-form input:focus {
      border-color: #c8bb98; }
    .careers-apply-search-form input::-webkit-input-placeholder {
      color: #4f2b1c; }
    .careers-apply-search-form input:-moz-placeholder {
      color: #4f2b1c; }
    .careers-apply-search-form input::-moz-placeholder {
      color: #4f2b1c; }
    .careers-apply-search-form input:-ms-input-placeholder {
      color: #4f2b1c; }

#corporate-detail .careers-apply-search-result {
  margin-bottom: 2rem; }

#corporate-detail .careers-apply-search-results-category {
  margin-bottom: 2rem; }

#corporate-detail .careers-apply-search-results-category-title {
  margin-bottom: 2rem;
  text-align: left; }

.careers-apply-search-results-wrap {
  max-width: 80rem;
  margin: 0 auto 30px; }
  @media (min-width: 48em) {
    .careers-apply-search-results-wrap {
      margin-bottom: 5rem; } }
  .careers-apply-search-results-wrap .search-results-heading {
    text-align: left;
    margin-bottom: 2rem;
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    text-transform: none;
    font-size: 1.6rem; }
    @media (min-width: 48em) {
      .careers-apply-search-results-wrap .search-results-heading {
        margin-bottom: 3rem;
        font-size: 1.8rem; } }
  .careers-apply-search-results-wrap .careers-apply-search-results {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: left;
    -webkit-justify-content: left;
        -ms-flex-pack: left;
            justify-content: left;
    text-align: left; }

.careers-apply-search-result {
  width: 100%;
  margin-bottom: 2rem; }
  @media (min-width: 37.5em) {
    .careers-apply-search-result {
      width: 50%;
      padding-right: 5rem;
      margin-bottom: 4rem; } }
  @media (min-width: 60em) {
    .careers-apply-search-result {
      width: 33.3333%; } }
  .careers-apply-search-result .location-name {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    font-size: 1.6rem;
    text-transform: none;
    margin-bottom: 1rem; }
    @media (min-width: 48em) {
      .careers-apply-search-result .location-name {
        font-size: 1.8rem; } }
  .careers-apply-search-result .location-address {
    font-size: 1.4rem;
    margin-bottom: 0.5rem; }
    @media (min-width: 37.5em) {
      .careers-apply-search-result .location-address {
        margin-bottom: 1rem; } }
    @media (min-width: 60em) {
      .careers-apply-search-result .location-address {
        margin-bottom: 1.5rem; } }
  .careers-apply-search-result .location-position {
    margin-bottom: 1rem; }
    @media (min-width: 48em) {
      .careers-apply-search-result .location-position {
        margin-bottom: 2rem; } }
  .careers-apply-search-result .position-title,
  .careers-apply-search-result .position-link {
    display: block;
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    font-size: 1.4rem; }
  .careers-apply-search-result .position-link {
    color: #b0262e; }
    .careers-apply-search-result .position-link:hover,
    .careers-apply-search-result .position-link:focus {
      color: #89060e; }
  .careers-apply-search-result .position-title {
    color: #4f2b1c; }

.careers-apply-disclaimer {
  background-color: #f5edd9;
  padding: 1rem;
  max-width: 80rem;
  margin: 0 auto; }
  @media (min-width: 48em) {
    .careers-apply-disclaimer {
      padding: 2rem; } }
  .careers-apply-disclaimer p {
    font-size: 1.4rem; }
  .careers-apply-disclaimer a {
    color: #b0262e;
    font-family: "District-Bold", sans-serif;
    font-weight: normal; }
    .careers-apply-disclaimer a:hover,
    .careers-apply-disclaimer a:focus {
      color: #89060e; }

.careers-apply-position-spotlight .spotlight-careers {
  zoom: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .careers-apply-position-spotlight .spotlight-careers:before,
  .careers-apply-position-spotlight .spotlight-careers:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .careers-apply-position-spotlight .spotlight-careers:after {
    clear: both; }
  @media (min-width: 48em) {
    .careers-apply-position-spotlight .spotlight-careers {
      margin-left: -2rem;
      margin-right: -2rem; } }
  @media (min-width: 76.25em) {
    .careers-apply-position-spotlight .spotlight-careers {
      margin-left: -4rem;
      margin-right: -4rem; } }

.careers-apply-position-spotlight .spotlight-career {
  text-align: center;
  width: 100%; }
  @media (max-width: 47.9375em) {
    .careers-apply-position-spotlight .spotlight-career {
      margin-bottom: 3rem; } }
  @media (min-width: 48em) {
    .careers-apply-position-spotlight .spotlight-career {
      width: 33.333%;
      padding: 0 2rem; } }
  @media (min-width: 76.25em) {
    .careers-apply-position-spotlight .spotlight-career {
      padding: 0 4rem; } }

.careers-apply-position-spotlight .spotlight-career-image {
  margin-bottom: 1rem; }
  @media (min-width: 48em) {
    .careers-apply-position-spotlight .spotlight-career-image {
      margin-bottom: 2rem; } }

.careers-apply-position-spotlight .spotlight-career-title {
  margin-bottom: 1rem;
  text-transform: none;
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  font-size: 1.6rem; }
  @media (min-width: 48em) {
    .careers-apply-position-spotlight .spotlight-career-title {
      margin-bottom: 1rem;
      font-size: 1.8rem; } }

.careers-apply-position-spotlight .spotlight-career-description {
  font-weight: normal;
  font-size: 1.4rem; }

@media (min-width: 48em) {
  body.page-template-locations {
    position: fixed;
    width: 100%; } }

@media (max-width: 59.9375em) {
  body.page-template-locations .main-header {
    height: 5.3rem; } }

.locations-main {
  zoom: 1; }
  .locations-main:before,
  .locations-main:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .locations-main:after {
    clear: both; }

.locations-listing {
  zoom: 1;
  padding: 2rem; }
  .locations-listing:before,
  .locations-listing:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .locations-listing:after {
    clear: both; }
  @media (min-width: 48em) {
    .locations-listing {
      top: 6rem; } }
  @media (min-width: 60em) {
    .locations-listing {
      top: 3rem; } }
  @media (min-width: 90em) {
    .locations-listing {
      top: 6rem; } }
  .locations-listing .coming-soon-link {
    text-align: center;
    margin-bottom: 1rem; }
    @media (min-width: 48em) {
      .locations-listing .coming-soon-link {
        margin-bottom: 2rem; } }

.locations-map-wrap {
  width: 100%;
  z-index: 2; }
  @media (max-width: 47.9375em) {
    .locations-map-wrap {
      position: fixed;
      border-top: 4px solid #ded2b2;
      border-bottom: 4px solid #ded2b2; } }
  @media (min-width: 48em) {
    .locations-map-wrap {
      height: 100%;
      height: 100%;
      width: 50%;
      float: right;
      border-left: 4px solid #ded2b2; } }
  @media (min-width: 76.25em) {
    .locations-map-wrap {
      width: 66.6666%; } }
  .locations-map-wrap .find-me {
    position: absolute;
    bottom: 15px;
    right: 15px;
    display: inline-block;
    width: 40px;
    height: 40px;
    background-color: #b0262e; }
    .locations-map-wrap .find-me:hover,
    .locations-map-wrap .find-me:focus {
      background-color: #89060e; }
    .locations-map-wrap .find-me > i {
      width: 100%;
      height: 100%;
      display: inline-block;
      text-align: center; }
      .locations-map-wrap .find-me > i:before {
        content: '\E009';
        margin: 0;
        color: #fff;
        position: relative;
        display: inline-block;
        left: 25%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        font-size: 2rem; }

.locations-map {
  width: 100%;
  height: 100%; }
  .locations-map .gmnoprint,
  .locations-map .gm-style-cc {
    display: none; }

@media (min-width: 48em) {
  .locations-listing {
    width: 50%; } }

@media (min-width: 76.25em) {
  .locations-listing {
    width: 33.3333%; } }

.locations-search-form {
  width: 100%;
  border: 4px solid #ded2b2;
  padding: 1rem;
  margin-bottom: 1.5rem; }
  .locations-search-form .symbol {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 1; }
    .locations-search-form .symbol:before {
      color: #b0262e; }
  .locations-search-form i.search {
    left: 1rem;
    cursor: default; }
    .locations-search-form i.search:before {
      content: '\E00E'; }
  .locations-search-form button.rarrow {
    right: 1.5rem;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid #b0262e; }
  .locations-search-form input {
    width: calc(100%);
    font-size: 1.6rem;
    border: 0;
    padding: 0;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    color: #4f2b1c; }
    .locations-search-form input::-webkit-input-placeholder {
      padding-top: 2px;
      color: #4f2b1c; }
    .locations-search-form input:-moz-placeholder {
      padding-top: 2px;
      color: #4f2b1c; }
    .locations-search-form input::-moz-placeholder {
      padding-top: 2px;
      color: #4f2b1c; }
    .locations-search-form input:-ms-input-placeholder {
      padding-top: 2px;
      color: #4f2b1c; }

.locations-checkboxes {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 1rem; }
  .locations-checkboxes .custom-checkbox-wrap {
    display: inline-block;
    margin-right: 1.5rem;
    margin-left: 1.5rem;
    margin-bottom: 1.5rem; }
    @media (min-width: 48em) {
      .locations-checkboxes .custom-checkbox-wrap {
        margin-right: 1rem;
        margin-left: 1rem; } }
  .locations-checkboxes .stunt-double {
    display: inline-block;
    margin-right: 0.5rem; }
  .locations-checkboxes .custom-checkbox-label {
    top: -0.4rem;
    color: #4f2b1c;
    display: inline-block;
    font-size: 1.4rem; }

@media (min-width: 48em) {
  .locations-results-wrap {
    padding-bottom: 4rem; } }

@media (min-width: 76.25em) {
  .locations-results-wrap {
    padding-bottom: 6rem; } }

@supports (-ms-accelerator: true) {
  .locations-results-wrap .scroller-content {
    padding: 0 5rem 0 0; } }

.locations-results-wrap .scroller-content {
  padding: 0 2rem 0 0; }
  @media (min-width: 48em) {
    .locations-results-wrap .scroller-content {
      padding: 0 5rem 0 0; } }
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .locations-results-wrap .scroller-content {
      padding: 0 5rem 0 0; } }

@media (max-width: 47.9375em) {
  .locations-results-wrap .scroller-bar {
    display: none; } }

.locations-results-wrap .num-found {
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  font-size: 1.4rem;
  margin-bottom: 1.5rem; }
  @media (min-width: 48em) {
    .locations-results-wrap .num-found {
      font-size: 1.6rem; } }

.locations-results {
  zoom: 1; }
  .locations-results:before,
  .locations-results:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .locations-results:after {
    clear: both; }
  @media (min-width: 48em) {
    .locations-results {
      margin-bottom: 10rem; } }
  @media (min-width: 76.25em) {
    .locations-results {
      margin-bottom: 15rem; } }
  .locations-results a,
  .locations-results p,
  .locations-results span {
    font-size: 1.4rem;
    line-height: 1.5; }
  .locations-results a {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    color: #b0262e; }
  .locations-results .coming-soon {
    font-size: 1.8rem;
    margin-bottom: 0.5em; }
  .locations-results .result {
    border-top: 0.4rem solid #ded2b2;
    padding: 2rem;
    font-size: 1.4rem;
    font-family: "District-Medium", sans-serif;
    font-weight: normal;
    text-align: center; }
    .locations-results .result.selected {
      border-left: 0.4rem solid #ded2b2;
      border-right: 0.4rem solid #ded2b2; }
    .locations-results .result:last-child.selected {
      border-bottom: 0.4rem solid #ded2b2; }
  .locations-results .result-name {
    font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
    font-weight: normal;
    font-size: 3.6rem;
    margin-bottom: 1rem; }
  .locations-results .result-hours {
    display: inline-block;
    margin-top: 2rem; }
  .locations-results .result-phone-wrap {
    display: block; }
  .locations-results .result-order {
    margin-top: 3rem; }
    .locations-results .result-order .cta {
      font-size: 1.2rem;
      padding-top: 1.2rem;
      padding-bottom: 1.2rem; }
  .locations-results .result-amenities {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 2rem; }
  .locations-results .result-amenity {
    margin-right: 1.2rem; }
    .locations-results .result-amenity .check {
      margin-right: 0.5rem; }
      .locations-results .result-amenity .check:before {
        top: 2px;
        content: '\E005'; }
  .locations-results .result-more {
    display: inline-block;
    margin-top: 2rem; }

.location-subhead {
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  font-size: 1.4rem;
  margin-bottom: 1rem;
  text-transform: none;
  letter-spacing: 0; }

.location-detail {
  zoom: 1; }
  .location-detail:before,
  .location-detail:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .location-detail:after {
    clear: both; }
  .location-detail .featured-heading {
    display: block; }
  .location-detail .coming-soon {
    font-size: 2.4rem; }

.location-uploads-wrap {
  margin-bottom: 1.5rem; }

.location-upload {
  font-size: 1.4rem;
  line-height: 1.5; }

.location-gallery-info-wrap {
  zoom: 1;
  margin-top: 4rem; }
  .location-gallery-info-wrap:before,
  .location-gallery-info-wrap:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .location-gallery-info-wrap:after {
    clear: both; }
  @media (min-width: 37.5em) {
    .location-gallery-info-wrap {
      margin-top: 5rem;
      margin-bottom: 1.5rem; } }
  @media (min-width: 48em) {
    .location-gallery-info-wrap {
      margin-top: 6rem; } }
  @media (min-width: 60em) {
    .location-gallery-info-wrap {
      margin-top: 7rem;
      margin-bottom: 3rem; } }

@media (max-width: 47.9375em) {
  .location-gallery-wrap {
    margin-bottom: 4rem; } }

@media (min-width: 48em) {
  .location-gallery-wrap {
    float: left; } }

.location-gallery-wrap .slick-prev,
.location-gallery-wrap .slick-next {
  color: #b0262e;
  top: 30%;
  -webkit-transform: translateY(-70%);
      -ms-transform: translateY(-70%);
          transform: translateY(-70%);
  font-size: 1.5rem; }
  @media (min-width: 37.5em) {
    .location-gallery-wrap .slick-prev,
    .location-gallery-wrap .slick-next {
      font-size: 3rem; } }

.location-gallery-wrap .slick-prev {
  left: 0; }

.location-gallery-wrap .slick-next {
  right: 10px; }

.location-gallery-wrap .slick-dots {
  bottom: -3rem; }
  .location-gallery-wrap .slick-dots button:before {
    font-size: 4rem;
    color: #ded2b2;
    opacity: 1; }
  .location-gallery-wrap .slick-dots .slick-active button:before {
    color: #b0262e; }

.location-gallery-feature {
  height: 36rem;
  background-size: cover;
  background-position: center center;
  border: 4px solid #ded2b2;
  margin-bottom: 3rem; }
  @media (max-width: 59.9375em) {
    .location-gallery-feature {
      pointer-events: none; }
      .location-gallery-feature .gmnoprint {
        display: none; } }
  @media (min-width: 48em) {
    .location-gallery-feature {
      height: 42rem;
      margin-bottom: 4rem; } }
  @media (min-width: 76.25em) {
    .location-gallery-feature {
      height: 56rem; } }

.location-gallery-nav {
  padding-left: 4rem;
  padding-right: 4rem;
  margin: 0 auto; }
  .location-gallery-nav .show-gmaps {
    background-color: #f5edd9;
    padding: 1rem; }
    .location-gallery-nav .show-gmaps img {
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }
  .location-gallery-nav .location-gallery-item-wrap {
    text-align: center; }
  .location-gallery-nav .location-gallery-item {
    height: 60px;
    width: 60px;
    background-size: cover;
    background-position: center center;
    border: 2px solid #fff;
    display: inline-block;
    margin: 0 auto;
    cursor: pointer; }
    @media (min-width: 37.5em) {
      .location-gallery-nav .location-gallery-item {
        height: 100px;
        width: 100px;
        border: 4px solid #fff; } }
    .location-gallery-nav .location-gallery-item.current {
      border-color: #ded2b2; }

@media (min-width: 48em) {
  .location-gallery-wrap,
  .location-info-wrap {
    width: 50%; } }

@media (min-width: 48em) {
  .location-info-wrap {
    float: right;
    padding-left: 3rem; } }

@media (min-width: 60em) {
  .location-info-wrap {
    padding-left: 5rem; } }

@media (min-width: 76.25em) {
  .location-info-wrap {
    padding-left: 7rem; } }

.location-info-headline,
.location-info-subhead {
  line-height: 1.5; }

.location-info-headline {
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  font-size: 1.8rem;
  margin-bottom: 1.5rem;
  text-transform: none;
  letter-spacing: 0; }

.location-info-subhead {
  margin-bottom: 1.5rem; }

.location-info-copy {
  font-size: 1.4rem;
  margin-bottom: 2rem; }

.location-contact-hours-wrap {
  zoom: 1; }
  .location-contact-hours-wrap:before,
  .location-contact-hours-wrap:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .location-contact-hours-wrap:after {
    clear: both; }

.location-contact,
.location-hours-wrap {
  float: left; }

.location-contact {
  width: 100%; }
  @media (min-width: 25em) {
    .location-contact {
      width: 60%; } }
  .location-contact .location-address {
    font-size: 1.4rem; }
  .location-contact .cta-wrap {
    margin: 2rem 0; }
    .location-contact .cta-wrap a {
      font-size: 1.2rem; }

.location-hours-wrap {
  width: 100%;
  margin-bottom: 2rem; }
  @media (min-width: 37.5em) {
    .location-hours-wrap {
      width: 40%; } }

.location-day {
  font-size: 1.4rem;
  margin-bottom: 1rem;
  white-space: nowrap; }
  .location-day .day {
    width: 40px;
    display: inline-block; }

.location-directions,
.location-phone {
  display: inline-block;
  color: #b0262e;
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  line-height: 1.5; }

.location-directions-wrap,
.location-phone-wrap {
  display: block; }
  .location-directions-wrap a,
  .location-phone-wrap a {
    font-size: 1.4rem; }

.location-amenities-wrap {
  clear: both;
  margin-top: 1rem; }
  .location-amenities-wrap .location-amenities {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-bottom: 2rem; }
    .location-amenities-wrap .location-amenities li {
      margin-right: 1.2rem;
      font-size: 1.4rem;
      margin-bottom: 1rem; }
    .location-amenities-wrap .location-amenities .check {
      margin-right: 0.5rem; }
      .location-amenities-wrap .location-amenities .check:before {
        top: 2px;
        content: '\E005'; }

.location-eclub-wrap {
  margin-top: 0.5rem; }
  @media (min-width: 48em) {
    .location-eclub-wrap {
      margin-top: 1rem; } }
  .location-eclub-wrap .cta-wrap {
    margin: 1rem 0 5rem; }
    .location-eclub-wrap .cta-wrap a {
      font-size: 1.2rem; }

.location-events {
  text-align: center;
  margin-bottom: 8rem; }
  .location-events .location-event {
    margin: 4.5rem auto;
    max-width: 55rem; }
  .location-events .location-event-title {
    font-size: 1.8rem;
    margin-bottom: 0.5rem; }
  .location-events .location-event-datetime {
    font-size: 1.4rem;
    margin-bottom: 1rem; }
  .location-events .location-event-description {
    font-size: 1.4rem;
    margin-top: 1.8rem; }

.newsroom-landing-feature-module-wrap,
.newsroom-landing-feature-module,
.newsroom-landing-feature-module .feature-module-types {
  zoom: 1; }
  .newsroom-landing-feature-module-wrap:before,
  .newsroom-landing-feature-module-wrap:after,
  .newsroom-landing-feature-module:before,
  .newsroom-landing-feature-module:after,
  .newsroom-landing-feature-module .feature-module-types:before,
  .newsroom-landing-feature-module .feature-module-types:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .newsroom-landing-feature-module-wrap:after,
  .newsroom-landing-feature-module:after,
  .newsroom-landing-feature-module .feature-module-types:after {
    clear: both; }

.newsroom-landing .intro-section {
  margin-bottom: 5rem; }

.newsroom-landing .slick-slider {
  margin-bottom: 6rem; }

.newsroom-landing-feature-module,
.newsroom-recent-headlines {
  margin-bottom: 7rem; }
  @media (min-width: 48em) {
    .newsroom-landing-feature-module .grid-block,
    .newsroom-recent-headlines .grid-block {
      padding: 1rem; } }
  .newsroom-landing-feature-module .grid-block.square,
  .newsroom-recent-headlines .grid-block.square {
    width: 100%; }
    @media (min-width: 37.5em) {
      .newsroom-landing-feature-module .grid-block.square,
      .newsroom-recent-headlines .grid-block.square {
        width: 50%; } }
    @media (min-width: 60em) {
      .newsroom-landing-feature-module .grid-block.square,
      .newsroom-recent-headlines .grid-block.square {
        width: 33.3333%; } }
  .newsroom-landing-feature-module .grid-block.wide,
  .newsroom-recent-headlines .grid-block.wide {
    width: 100%; }
    @media (min-width: 37.5em) {
      .newsroom-landing-feature-module .grid-block.wide,
      .newsroom-recent-headlines .grid-block.wide {
        width: 50%; } }
    @media (min-width: 60em) {
      .newsroom-landing-feature-module .grid-block.wide,
      .newsroom-recent-headlines .grid-block.wide {
        width: 66.6666%; } }

.newsroom-press-releases-wrap {
  margin-bottom: 7rem;
  text-align: center; }
  .newsroom-press-releases-wrap .press-releases {
    zoom: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .newsroom-press-releases-wrap .press-releases:before,
    .newsroom-press-releases-wrap .press-releases:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .newsroom-press-releases-wrap .press-releases:after {
      clear: both; }
    @media (min-width: 48em) {
      .newsroom-press-releases-wrap .press-releases {
        margin-left: -2rem;
        margin-right: -2rem; } }
    @media (min-width: 76.25em) {
      .newsroom-press-releases-wrap .press-releases {
        margin-left: -4rem;
        margin-right: -4rem; } }
  .newsroom-press-releases-wrap .press-release {
    text-align: center;
    width: 100%; }
    @media (max-width: 47.9375em) {
      .newsroom-press-releases-wrap .press-release {
        margin-bottom: 3rem; } }
    @media (min-width: 48em) {
      .newsroom-press-releases-wrap .press-release {
        width: 33.3333%;
        padding: 0 2rem; } }
    @media (min-width: 76.25em) {
      .newsroom-press-releases-wrap .press-release {
        padding: 0 4rem; } }
  .newsroom-press-releases-wrap .press-release-title {
    margin-bottom: 2rem;
    text-transform: none;
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    font-size: 1.6rem; }
    @media (min-width: 48em) {
      .newsroom-press-releases-wrap .press-release-title {
        margin-bottom: 2rem;
        font-size: 1.8rem; } }
  .newsroom-press-releases-wrap .press-release-date {
    font-family: "District-Bold", sans-serif;
    font-weight: normal; }
  .newsroom-press-releases-wrap .press-release-excerpt {
    margin-bottom: 1rem;
    font-weight: normal;
    font-size: 1.4rem; }
  .newsroom-press-releases-wrap .press-release-detail-link {
    margin-bottom: 0.5em;
    cursor: pointer; }
    .newsroom-press-releases-wrap .press-release-detail-link .cta-link {
      letter-spacing: 0; }
      .newsroom-press-releases-wrap .press-release-detail-link .cta-link:after {
        top: 3px; }
      .newsroom-press-releases-wrap .press-release-detail-link .cta-link:hover:after {
        -webkit-transition: none;
                transition: none;
        border-left-color: #89060e; }
  .newsroom-press-releases-wrap .press-release-download-link .download-link {
    text-transform: uppercase;
    font-size: 1.4rem;
    display: inline-block; }
    .newsroom-press-releases-wrap .press-release-download-link .download-link:after {
      content: '\E002';
      top: 1px;
      margin-left: 3px;
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg);
      font-size: 1rem; }
  .newsroom-press-releases-wrap .press-release-download-link .file-info {
    font-size: 1.2rem; }
    .newsroom-press-releases-wrap .press-release-download-link .file-info > span:after {
      content: ', ';
      display: inline-block; }
    .newsroom-press-releases-wrap .press-release-download-link .file-info > span:last-child:after {
      content: ''; }
  .newsroom-press-releases-wrap .cta-wrap {
    margin-top: 2.5rem;
    padding-bottom: 5rem;
    border-bottom: 0.4rem solid #ded2b2; }

.newsroom-recent-headlines-wrap {
  background: #f5edd9;
  padding-top: 6rem;
  zoom: 1; }
  .newsroom-recent-headlines-wrap:before,
  .newsroom-recent-headlines-wrap:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .newsroom-recent-headlines-wrap:after {
    clear: both; }

.newsroom-recent-headlines {
  overflow: hidden; }
  .newsroom-recent-headlines .featured-heading .title {
    background: #f5edd9; }

.recent-headlines-wrap {
  margin-left: -0.5rem;
  margin-right: -0.5rem; }
  @media (min-width: 48em) {
    .recent-headlines-wrap {
      margin-left: -1rem;
      margin-right: -1rem;
      padding-left: 5rem;
      padding-right: 5rem; } }
  @media (min-width: 76.25em) {
    .recent-headlines-wrap {
      padding-left: 7.5rem;
      padding-right: 7.5rem; } }

.recent-headlines .headline-copy {
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  color: #4f2b1c;
  margin-bottom: 0.5rem;
  font-size: 1.6rem;
  letter-spacing: inherit; }

.recent-headlines .grid-block a {
  background-position: center center;
  background-size: cover; }

.recent-headlines .grid-text {
  width: 100%;
  bottom: 0;
  padding: 1rem; }
  @media (min-width: 48em) {
    .recent-headlines .grid-text {
      padding: 2rem; } }
  .recent-headlines .grid-text .headline-copy {
    font-weight: normal;
    font-size: 1.6rem; }

.recent-headlines .steel .grid-text {
  background-color: #b2bfbb; }

.recent-headlines .tan .grid-text {
  background-color: #ded2b2; }

.recent-headlines .gold .grid-text {
  background-color: #ffc426; }

.recent-headlines .slick-prev,
.recent-headlines .slick-next {
  font-size: 3rem;
  color: #b0262e;
  top: 105%;
  z-index: 2;
  position: absolute;
  height: 3rem;
  width: 3rem; }
  @media (min-width: 48em) {
    .recent-headlines .slick-prev,
    .recent-headlines .slick-next {
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); } }
  .recent-headlines .slick-prev:before,
  .recent-headlines .slick-next:before {
    display: none; }

.recent-headlines .slick-prev {
  left: -35px; }
  @media (min-width: 48em) {
    .recent-headlines .slick-prev {
      left: -40px; } }
  @media (min-width: 60em) {
    .recent-headlines .slick-prev {
      left: -50px; } }

.recent-headlines .slick-next {
  right: -35px; }
  @media (min-width: 48em) {
    .recent-headlines .slick-next {
      right: -40px; } }
  @media (min-width: 60em) {
    .recent-headlines .slick-next {
      right: -50px; } }

.recent-headlines .slick-dots button:before {
  font-size: 4rem;
  color: #ded2b2;
  opacity: 1; }

.recent-headlines .slick-dots .slick-active button:before {
  color: #b0262e; }

.investor-main .main-content {
  padding-top: 3rem;
  padding-bottom: 3rem;
  zoom: 1; }
  .investor-main .main-content:before,
  .investor-main .main-content:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .investor-main .main-content:after {
    clear: both; }
  @media (min-width: 48em) {
    .investor-main .main-content {
      padding-top: 5rem;
      padding-bottom: 5rem; } }

.investor-main .investor-section {
  border-top: 3px solid #ded2b2;
  padding: 1.5rem; }
  .investor-main .investor-section a {
    color: #b0262e;
    font-family: "District-Bold", sans-serif;
    font-weight: normal; }
  .investor-main .investor-section.current > a,
  .investor-main .investor-section .investor-subnav-item.current > a {
    color: #4f2b1c; }

.investor-main .investor-subnav {
  margin-left: 1.5rem;
  margin-top: 1rem; }

.investor-main .investor-subnav-item {
  margin-bottom: 1rem; }
  .investor-main .investor-subnav-item:last-child {
    margin-bottom: 0; }

@media (min-width: 37.5em) {
  .investor-main .col-nav,
  .investor-main .col-content {
    float: left; } }

@media (min-width: 37.5em) {
  .investor-main .col-nav {
    width: 33.3333%; } }

@media (min-width: 48em) {
  .investor-main .col-nav {
    width: 25%; } }

@media (max-width: 37.4375em) {
  .investor-main .col-content {
    margin-top: 3rem; } }

@media (min-width: 37.5em) {
  .investor-main .col-content {
    width: 66.6666%;
    padding-left: 5rem; } }

@media (min-width: 48em) {
  .investor-main .col-content {
    width: 75%; } }

@media (min-width: 60em) {
  .investor-main .col-content {
    padding-left: 7rem; } }

.faq-landing-wrap,
.faq-landing {
  zoom: 1; }
  .faq-landing-wrap:before,
  .faq-landing-wrap:after,
  .faq-landing:before,
  .faq-landing:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .faq-landing-wrap:after,
  .faq-landing:after {
    clear: both; }
  .faq-landing-wrap .intro-section,
  .faq-landing .intro-section {
    margin-bottom: 5rem; }

.faq-main {
  margin-bottom: 8rem; }
  .faq-main .faq-category-name {
    margin-bottom: 2rem;
    font-size: 3.6rem; }
  .faq-main .faq-category {
    margin-bottom: 4rem; }
  .faq-main .faq-question-text {
    font-size: 1.8rem;
    line-height: 1.33333; }
  .faq-main .wysiwyg .faq-question-text {
    margin-bottom: 0; }

.multimedia-main {
  margin-bottom: 5rem; }
  @media (min-width: 37.5em) {
    .multimedia-main {
      margin-bottom: 7.5rem; } }
  @media (min-width: 60em) {
    .multimedia-main {
      margin-bottom: 10rem; } }
  .multimedia-main .action-tag {
    position: absolute;
    background-color: #b0262e;
    color: white;
    bottom: 1.5rem;
    right: 0;
    letter-spacing: 0.2em;
    padding: 1.2rem 2.4rem;
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    text-transform: uppercase;
    -webkit-transition: 200ms background-color;
            transition: 200ms background-color; }
  .multimedia-main .media-video,
  .multimedia-main .image-preview {
    background-position: center center;
    background-size: cover; }
    .multimedia-main .media-video:hover .action-tag,
    .multimedia-main .image-preview:hover .action-tag {
      background-color: #89060e; }
  .multimedia-main .image-preview .action-tag {
    padding: 5px; }
    .multimedia-main .image-preview .action-tag i {
      left: 2px; }
      .multimedia-main .image-preview .action-tag i:after {
        content: '\E00A';
        font-size: 2.5rem; }
  .multimedia-main .logo-preview {
    border: 2px solid #ded2b2;
    padding: 2rem; }
  .multimedia-main .logo-preview-inner {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    width: 100%;
    height: 100%; }
  .multimedia-main .media-images {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: left;
    -webkit-justify-content: left;
        -ms-flex-pack: left;
            justify-content: left; }
  .multimedia-main .media-image-wrap {
    width: 100%; }
    @media (min-width: 30em) {
      .multimedia-main .media-image-wrap {
        width: 50%; } }
    @media (min-width: 60em) {
      .multimedia-main .media-image-wrap {
        width: 33.3333%; } }
  .multimedia-main .media-caption {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    line-height: 1.5;
    margin-top: 0.5rem; }
  .multimedia-main .download-wrap {
    line-height: 1.5; }
  .multimedia-main .download-link {
    text-transform: uppercase;
    font-size: 1.2rem; }
    .multimedia-main .download-link:after {
      content: '\E002';
      top: 1px;
      margin-left: 5px;
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg);
      font-size: 1rem; }
  .multimedia-main .file-info {
    font-size: 1.2rem; }
    .multimedia-main .file-info > span:after {
      content: ', ';
      display: inline-block; }
    .multimedia-main .file-info > span:last-child:after {
      content: ''; }
  .multimedia-main .file-type .extension {
    text-transform: lowercase; }

.media-video {
  background-color: #4f2b1c;
  cursor: pointer; }
  .media-video .action-tag {
    padding-right: 5rem; }
    .media-video .action-tag i {
      margin-left: 3px;
      padding-right: 2rem;
      position: absolute; }
      .media-video .action-tag i:after {
        content: '\E00C';
        position: absolute;
        font-size: 2.5rem;
        top: -6px; }

.media-featured-video-wrap {
  zoom: 1;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
  margin-bottom: 2rem; }
  .media-featured-video-wrap:before,
  .media-featured-video-wrap:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .media-featured-video-wrap:after {
    clear: both; }
  .media-featured-video-wrap .grid-block.square {
    width: 100%; }
    @media (min-width: 30em) {
      .media-featured-video-wrap .grid-block.square {
        width: 50%; } }
    @media (min-width: 60em) {
      .media-featured-video-wrap .grid-block.square {
        width: 33.3333%; } }
  .media-featured-video-wrap .grid-block.wide {
    width: 100%; }
    @media (min-width: 30em) {
      .media-featured-video-wrap .grid-block.wide {
        width: 50%; } }
    @media (min-width: 60em) {
      .media-featured-video-wrap .grid-block.wide {
        width: 66.6666%; } }
  .media-featured-video-wrap .featured-video-info {
    padding: 1rem; }
    @media (min-width: 48em) {
      .media-featured-video-wrap .featured-video-info {
        padding: 2rem; } }
    .media-featured-video-wrap .featured-video-info a {
      display: inline;
      background: none; }
  .media-featured-video-wrap .featured-video-info-content {
    z-index: 3; }
  .media-featured-video-wrap .featured-video-title {
    margin-bottom: 0.5rem; }
  .media-featured-video-wrap .featured-video-thumbnail {
    background-color: #4f2b1c; }

.media-videos {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: left;
  -webkit-justify-content: left;
      -ms-flex-pack: left;
          justify-content: left;
  margin-left: -0.5rem;
  margin-right: -0.5rem; }
  .media-videos .video-thumbnail {
    display: block;
    height: 200px;
    cursor: pointer; }
  .media-videos .video-wrap {
    display: inline-block;
    width: 100%;
    padding: 0.5rem;
    margin-bottom: 2rem; }
    @media (min-width: 30em) {
      .media-videos .video-wrap {
        width: 50%; } }
    @media (min-width: 60em) {
      .media-videos .video-wrap {
        width: 33.3333%; } }
  .media-videos .video-download {
    background-color: inherit;
    width: inherit;
    display: inline-block; }

.media-image-wrap {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  margin-bottom: 1rem; }
  @media (min-width: 48em) {
    .media-image-wrap {
      margin-bottom: 2rem; } }

.media-images,
.media-logos {
  margin-left: -0.5rem;
  margin-right: -0.5rem; }

.media-images .image-preview {
  display: inline-block;
  height: 200px;
  width: 100%; }

.media-logos .logo-preview {
  height: 200px;
  width: 100%;
  display: inline-block; }

.catering-main {
  margin-bottom: 5rem; }
  @media (min-width: 48em) {
    .catering-main {
      margin-bottom: 7rem; } }

.catering-category-feature {
  zoom: 1;
  margin-bottom: 2rem; }
  .catering-category-feature:before,
  .catering-category-feature:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .catering-category-feature:after {
    clear: both; }
  @media (min-width: 48em) {
    .catering-category-feature {
      margin-bottom: 4rem; } }
  .catering-category-feature .feature-content,
  .catering-category-feature .feature-image {
    width: 100%; }
    @media (min-width: 48em) {
      .catering-category-feature .feature-content,
      .catering-category-feature .feature-image {
        width: 50%; } }
  .catering-category-feature .feature-content {
    float: right; }
    @media (max-width: 47.9375em) {
      .catering-category-feature .feature-content {
        margin-bottom: 1rem; } }
    @media (min-width: 48em) {
      .catering-category-feature .feature-content {
        padding-left: 4rem; } }
    @media (min-width: 76.25em) {
      .catering-category-feature .feature-content {
        padding-left: 8rem; } }
    .catering-category-feature .feature-content.full {
      width: 100%;
      padding-left: 0; }
  .catering-category-feature .feature-image {
    float: left; }
  .catering-category-feature .feature-heading {
    margin-bottom: 1rem;
    font-size: 3.6rem; }
    @media (min-width: 48em) {
      .catering-category-feature .feature-heading {
        margin-bottom: 1.5rem;
        font-size: 4.8rem; } }
  .catering-category-feature .feature-subhead {
    margin-bottom: 0.5em;
    font-size: 1.8rem; }
    @media (min-width: 48em) {
      .catering-category-feature .feature-subhead {
        font-size: 2rem; } }
  .catering-category-feature .featured-heading {
    margin-bottom: 1rem; }
    @media (min-width: 48em) {
      .catering-category-feature .featured-heading {
        margin-bottom: 1.5rem; } }

.catering-category-section .section-items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: left;
  -webkit-justify-content: left;
      -ms-flex-pack: left;
          justify-content: left; }
  @media (min-width: 48em) {
    .catering-category-section .section-items {
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; } }

.catering-category-section .section-item {
  margin-bottom: 1.5rem;
  display: inline-block;
  width: 100%; }
  @media (min-width: 37.5em) {
    .catering-category-section .section-item {
      width: 50%;
      padding-right: 2rem;
      margin-bottom: 3rem; } }
  @media (min-width: 48em) {
    .catering-category-section .section-item {
      width: 33.3333%;
      text-align: center;
      padding: 0 2rem; } }
  @media (min-width: 60em) {
    .catering-category-section .section-item {
      width: 25%; } }

.catering-category-section .item-name {
  text-transform: none;
  font-size: 1.4rem; }
  @media (min-width: 37.5em) {
    .catering-category-section .item-name {
      font-size: 1.6rem; } }
  .catering-category-section .item-name a {
    color: #b0262e; }

.catering-category-section .item-suggested-pairing {
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  font-size: 1.4rem;
  margin-top: 0.2rem; }

.catering-category-section .item-excerpt {
  font-size: 1.4rem;
  margin-top: 0.5rem; }

.catering-category-section .item-icons {
  font-size: 1.4rem; }
  .catering-category-section .item-icons .veggie {
    margin-left: 0.5rem; }

.catering-category-links {
  margin-top: 1.5rem;
  text-align: center; }
  @media (min-width: 48em) {
    .catering-category-links {
      margin-top: 3rem; } }
  .catering-category-links .cta-wrap {
    margin: 0 1rem 1rem;
    display: inline-block; }

.foundation-apply-main {
  padding-bottom: 3rem; }
  @media (min-width: 37.5em) {
    .foundation-apply-main {
      padding-bottom: 5rem; } }
  @media (min-width: 60em) {
    .foundation-apply-main {
      padding-bottom: 7rem; } }

.search .search-result-header {
  margin-bottom: 2rem; }

.search .search-result-term {
  margin-bottom: 4rem; }

.search .search-result-item {
  zoom: 1;
  width: 100%;
  padding: 5rem 0;
  border-bottom: 3px solid #ded2b2; }
  .search .search-result-item:before,
  .search .search-result-item:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .search .search-result-item:after {
    clear: both; }
  .search .search-result-item:first-child {
    padding-top: 0; }
  .search .search-result-item a {
    margin-bottom: 4rem;
    display: block;
    font-size: 1.8rem; }
  .search .search-result-item p {
    font-size: 1.8rem;
    width: 100%; }
    @media (min-width: 37.5em) {
      .search .search-result-item p {
        max-width: 70%; } }
  .search .search-result-item .dish-feature {
    text-align: left;
    margin: 2rem 0 0 0;
    padding: 0; }
    .search .search-result-item .dish-feature .calorie-list {
      top: 3px; }
  .search .search-result-item img {
    margin: 4rem auto 0;
    display: block; }
    @media (min-width: 37.5em) {
      .search .search-result-item img {
        position: absolute;
        right: 0;
        max-width: 18rem;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        margin: 0; } }

.gift-cards-main {
  padding-bottom: 3rem; }
  @media (min-width: 37.5em) {
    .gift-cards-main {
      padding-bottom: 5rem; } }
  @media (min-width: 60em) {
    .gift-cards-main {
      padding-bottom: 7rem; } }
  .gift-cards-main h3 {
    text-align: center;
    font-size: 3.2rem; }
    @media (min-width: 37.5em) {
      .gift-cards-main h3 {
        font-size: 3.6rem; } }
    @media (min-width: 60em) {
      .gift-cards-main h3 {
        font-size: 4.2rem; } }
  .gift-cards-main .check-bal {
    margin-top: 2rem;
    clear: both; }
  .gift-cards-main .gift-cards-footer-content {
    margin-bottom: 1em; }
  .gift-cards-main .balance-check-wrap {
    text-align: center;
    margin: 0 auto;
    background-color: #ded2b2;
    border-radius: 5px;
    padding: 1rem;
    max-width: 35rem; }
    .gift-cards-main .balance-check-wrap iframe {
      text-align: center; }

.gift-cards-grid {
  margin-bottom: 3rem; }
  @media (min-width: 48em) {
    .gift-cards-grid {
      margin-bottom: 5rem; } }
  .gift-cards-grid .grid-row {
    margin-top: -0.5rem; }
    @media (min-width: 48em) {
      .gift-cards-grid .grid-row {
        margin-top: -1rem; } }
  .gift-cards-grid .grid-block {
    width: 100%;
    padding: 1rem; }
    @media (min-width: 37.5em) {
      .gift-cards-grid .grid-block {
        width: 33.33333% !important;
        padding: 0.5rem; } }
    @media (min-width: 48em) {
      .gift-cards-grid .grid-block {
        padding: 1rem; } }
  .gift-cards-grid .gift-cards-grid-content {
    margin-bottom: 1em;
    text-align: center; }

.made-different-main {
  padding-bottom: 5rem; }
  @media (min-width: 37.5em) {
    .made-different-main {
      padding-bottom: 10rem; } }
  .made-different-main .made-different-callout-sections {
    margin-bottom: 2rem; }
    @media (min-width: 37.5em) {
      .made-different-main .made-different-callout-sections {
        margin-bottom: 7rem; } }
  .made-different-main .made-different-callout-section {
    padding: 3rem 0; }
    @media (min-width: 37.5em) {
      .made-different-main .made-different-callout-section {
        padding: 6rem 0; } }
    .made-different-main .made-different-callout-section .made-different-section-image-wrap {
      width: 100%; }
      .made-different-main .made-different-callout-section .made-different-section-image-wrap img {
        margin: 4rem auto;
        display: block; }
      @media (min-width: 37.5em) {
        .made-different-main .made-different-callout-section .made-different-section-image-wrap {
          width: 40%; } }
    .made-different-main .made-different-callout-section .made-different-section-copy-wrap {
      width: 100%; }
      .made-different-main .made-different-callout-section .made-different-section-copy-wrap .section-heading {
        font-family: "Ziggurat A", "Ziggurat B", sans-serif;
        font-weight: normal;
        margin-bottom: 3rem; }
        @media (max-width: 29.9375em) {
          .made-different-main .made-different-callout-section .made-different-section-copy-wrap .section-heading {
            font-size: 3.2rem;
            margin-bottom: 1.5rem; } }
      @media (min-width: 37.5em) {
        .made-different-main .made-different-callout-section .made-different-section-copy-wrap {
          width: 60%; } }
      .made-different-main .made-different-callout-section .made-different-section-copy-wrap .cta-wrap {
        margin: 3rem 0; }
        @media (min-width: 37.5em) {
          .made-different-main .made-different-callout-section .made-different-section-copy-wrap .cta-wrap {
            margin: 3rem 0 0; } }
    .made-different-main .made-different-callout-section:nth-of-type(odd) {
      background-color: #f5edd9; }
    @media (min-width: 37.5em) {
      .made-different-main .made-different-callout-section:nth-of-type(odd) .made-different-section-copy-wrap {
        float: left;
        padding-right: 5rem; }
      .made-different-main .made-different-callout-section:nth-of-type(odd) .made-different-section-image-wrap {
        float: right; }
      .made-different-main .made-different-callout-section:nth-of-type(even) .made-different-section-copy-wrap {
        float: right;
        padding-left: 5rem; }
      .made-different-main .made-different-callout-section:nth-of-type(even) .made-different-section-image-wrap {
        float: left; } }
    @media (min-width: 48em) {
      .made-different-main .made-different-callout-section:nth-of-type(odd) .made-different-section-copy-wrap {
        padding-right: 10rem; }
      .made-different-main .made-different-callout-section:nth-of-type(even) .made-different-section-copy-wrap {
        padding-left: 10rem; } }
  .made-different-main .shifted {
    margin-left: 5rem; }

.made-different-cta-links {
  text-align: center;
  margin: 2rem auto; }
  @media (min-width: 48em) {
    .made-different-cta-links {
      margin: 4rem auto; } }
  .made-different-cta-links .cta-link {
    display: inline-block;
    padding: 0 20px;
    overflow: hidden; }
    @media (min-width: 37.5em) {
      .made-different-cta-links .cta-link {
        width: 48%; } }
    @media (min-width: 60em) {
      .made-different-cta-links .cta-link {
        width: 31%; } }
  .made-different-cta-links .cta {
    font-size: 1.4rem;
    padding: 1rem 3.5rem 1rem 2rem;
    margin-bottom: 1rem; }
    @media (min-width: 48em) {
      .made-different-cta-links .cta {
        padding: 1.5rem 4rem 1.5rem 2.5rem; } }
    @media (min-width: 60em) {
      .made-different-cta-links .cta {
        font-size: 1.6rem;
        padding-right: 5rem; } }

.made-different-feature-image-wrap img {
  margin: 0 auto;
  display: block; }

.made-different-timeline-section .timeline-events {
  margin-top: 2.5rem;
  text-align: center; }
  @media (min-width: 48em) {
    .made-different-timeline-section .timeline-events {
      margin-top: 5rem; } }

.made-different-timeline-section .timeline-event {
  width: 75%;
  margin: 0 auto 1em; }
  @media (min-width: 48em) {
    .made-different-timeline-section .timeline-event {
      width: 50%; } }

.made-different-timeline-section .event-date,
.made-different-timeline-section .event-description p {
  font-size: 1.4rem;
  line-height: 1.5; }
  @media (min-width: 48em) {
    .made-different-timeline-section .event-date,
    .made-different-timeline-section .event-description p {
      font-size: 1.6rem; } }

body.attachment article.attachment {
  margin-bottom: 3rem; }
  @media (min-width: 48em) {
    body.attachment article.attachment {
      margin-bottom: 5rem; } }

body.attachment #main-embed {
  height: 20rem; }
  @media (min-width: 37.5em) {
    body.attachment #main-embed {
      height: 40rem; } }
  @media (min-width: 60em) {
    body.attachment #main-embed {
      height: 60rem; } }

body.attachment .download-link {
  display: block;
  text-align: right;
  font-size: 1.8rem;
  margin-top: 1rem; }

body.attachment-pdf #main-embed {
  height: 30rem; }
  @media (min-width: 37.5em) {
    body.attachment-pdf #main-embed {
      height: 60rem; } }
  @media (min-width: 60em) {
    body.attachment-pdf #main-embed {
      height: 90rem; } }

.coming-soon-main {
  padding-bottom: 5rem; }
  @media (min-width: 48em) {
    .coming-soon-main {
      padding-bottom: 7rem; } }
  .coming-soon-main .no-coming-soon {
    margin-top: 2rem;
    text-align: center; }

.coming-soon-location-wrap {
  margin-bottom: 1rem;
  clear: both; }
  @media (min-width: 48em) {
    .coming-soon-location-wrap {
      margin-bottom: 2rem; } }
  .coming-soon-location-wrap h3 {
    margin-bottom: 1rem; }
    @media (min-width: 48em) {
      .coming-soon-location-wrap h3 {
        margin-bottom: 2rem; } }

.coming-soon-locations {
  zoom: 1; }
  .coming-soon-locations:before,
  .coming-soon-locations:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .coming-soon-locations:after {
    clear: both; }
  .coming-soon-locations h4 {
    margin-bottom: 0.2rem; }

.coming-soon-location {
  margin-bottom: 1em;
  text-align: center; }
  @media (min-width: 48em) {
    .coming-soon-location {
      padding-right: 1rem;
      width: 50%;
      float: left; } }
  @media (min-width: 76.25em) {
    .coming-soon-location {
      padding-right: 2rem;
      width: 33.3333%; } }

.coming-soon-location-links {
  zoom: 1; }
  .coming-soon-location-links:before,
  .coming-soon-location-links:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .coming-soon-location-links:after {
    clear: both; }
  .coming-soon-location-links li {
    display: inline-block; }
    .coming-soon-location-links li:after {
      content: '|';
      font-family: "District-Bold", sans-serif;
      font-weight: normal;
      display: inline-block;
      margin-left: 5px;
      margin-right: 5px; }
    .coming-soon-location-links li:last-child:after {
      content: '';
      display: none; }

@media (min-width: 48em) {
  .security-table td {
    width: 33.3333%; } }

.security-table td > * {
  padding-right: 10px;
  word-break: break-word; }

.security-table p {
  margin-bottom: 0.5em; }

.rewards-fiftyfifty {
  zoom: 1;
  display: block;
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto; }
  .rewards-fiftyfifty:before,
  .rewards-fiftyfifty:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .rewards-fiftyfifty:after {
    clear: both; }
  .rewards-fiftyfifty .fifty {
    position: relative;
    padding: 2rem 0; }
    @media (min-width: 37.5em) {
      .rewards-fiftyfifty .fifty {
        display: block;
        width: 50%;
        float: left; } }
    .rewards-fiftyfifty .fifty img {
      display: block;
      width: 75%;
      margin-left: auto;
      margin-right: auto; }
      @media (min-width: 37.5em) {
        .rewards-fiftyfifty .fifty img {
          width: 100%; } }
    @media (min-width: 37.5em) {
      .rewards-fiftyfifty .fifty.fifty-text {
        padding-top: 25%; } }

.rewards-signup {
  padding: 2rem 0;
  text-align: center; }
  .rewards-signup img {
    width: 150px;
    height: 50px; }
  .rewards-signup .reward-button {
    display: inline-block;
    padding: 1rem 2rem;
    background-color: #f5edd9;
    font-size: 18px;
    letter-spacing: .2em;
    text-align: center;
    text-transform: uppercase;
    color: #b0262e;
    font-family: "District-Bold", sans-serif;
    font-weight: normal; }
    .rewards-signup .reward-button:hover {
      background-color: #ded2b2;
      color: #4f2b1c; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2UvX3RoZW1lLXNldHRpbmdzLnNjc3MiLCJ1dGlscy9fZm9udHMuc2NzcyIsImJhc2UvX3Jlc2V0LnNjc3MiLCJzZXR0aW5ncy9fY29sb3JzLnNjc3MiLCJzZXR0aW5ncy9fYWRtaW4td3lzaXd5Zy5zY3NzIiwidXRpbHMvbWl4aW5zL19tZWRpYS1xdWVyaWVzLnNjc3MiLCJ1dGlscy9taXhpbnMvX2pzLWJyZWFrcG9pbnRzLnNjc3MiLCJ1dGlscy9fdXRpbGl0aWVzLnNjc3MiLCJ1dGlscy9fc3ltYm9scy5zY3NzIiwidXRpbHMvX3Nwcml0ZXMuc2NzcyIsInV0aWxzL19leHRlbmRzLnNjc3MiLCJ1dGlscy9mdW5jdGlvbnMvX3VuaXRzLnNjc3MiLCJ1dGlscy9taXhpbnMvX3R5cGUuc2NzcyIsImJhc2UvX3R5cGUuc2NzcyIsInNldHRpbmdzL19vcHRpb25zLnNjc3MiLCJiYXNlL19mb3Jtcy5zY3NzIiwidXRpbHMvbWl4aW5zL19wbGFjZWhvbGRlci5zY3NzIiwibGF5b3V0L19tYWluLnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImxheW91dC9fbmF2LnNjc3MiLCJsYXlvdXQvX2hlcm8uc2NzcyIsInZlbmRvci9fZm9ybXN0b25lLXdhbGxwYXBlci5zY3NzIiwidmVuZG9yL3NsaWNrLmNzcyIsInZlbmRvci9fc2xpY2stdGhlbWUuc2NzcyIsInZlbmRvci9fc2Nyb2xsZXIuc2NzcyIsInZlbmRvci9fbWFnbmlmaWMtcG9wdXAuc2NzcyIsIm1vZHVsZXMvY21zL193b3JkcHJlc3Muc2NzcyIsIm1vZHVsZXMvX2dyaWQuc2NzcyIsIm1vZHVsZXMvX3NpbXBsZS10YWJzLnNjc3MiLCJtb2R1bGVzL19zaW1wbGUtbGF5b3V0LnNjc3MiLCJtb2R1bGVzL19udXRyaXRpb24taW5mby5zY3NzIiwibW9kdWxlcy9fc2ltcGxlLWFjY29yZGlvbi5zY3NzIiwibW9kdWxlcy9fZGlzaC1mZWF0dXJlLnNjc3MiLCJtb2R1bGVzL19nZm9ybS1yZXNldC5zY3NzIiwibW9kdWxlcy9fc3R1YnMuc2NzcyIsImNvbXBvbmVudHMvX2Jyb3dzZS1oYXBweS5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9fZmVhdHVyZWQtY2F0ZWdvcnkuc2NzcyIsImNvbXBvbmVudHMvX2N1c3RvbS1pY29uLXN0eWxlLnNjc3MiLCJjb21wb25lbnRzL19jdXN0b20tY2hlY2tib3hlcy5zY3NzIiwicGFnZXMvX2hvbWUuc2NzcyIsInBhZ2VzL19sYW5kaW5nLnNjc3MiLCJwYWdlcy9fZGlzaC1kZXRhaWwuc2NzcyIsInBhZ2VzL19tZW51LnNjc3MiLCJwYWdlcy9fY2FyZWVycy5zY3NzIiwicGFnZXMvX2xvY2F0aW9ucy5zY3NzIiwicGFnZXMvX2xvY2F0aW9uLWRldGFpbC5zY3NzIiwicGFnZXMvX25ld3Nyb29tLnNjc3MiLCJwYWdlcy9faW52ZXN0b3Iuc2NzcyIsInBhZ2VzL19mYXEuc2NzcyIsInBhZ2VzL19tdWx0aW1lZGlhLnNjc3MiLCJwYWdlcy9fY2F0ZXJpbmcuc2NzcyIsInBhZ2VzL19mb3VuZGF0aW9uLWFwcGx5LnNjc3MiLCJwYWdlcy9fc2VhcmNoLnNjc3MiLCJwYWdlcy9fZ2lmdC1jYXJkcy5zY3NzIiwicGFnZXMvX21hZGUtZGlmZmVyZW50LnNjc3MiLCJwYWdlcy9fYXR0YWNobWVudC5zY3NzIiwicGFnZXMvX2NvbWluZy1zb29uLnNjc3MiLCJwYWdlcy9fc2VjdXJpdHkuc2NzcyIsInBhZ2VzL19yZXdhcmRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7b0JBTW9CO0FDNEJwQixPQUFPLENBQUMsdUNBQUk7QUNYTyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU07QUFDeEQsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFVBQVUs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LENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBMUI7TUFDQSxPQUFPLEVBQUUsS0FBTTtNQUNmLEtBQUssRUFBRSxHQUFJO01BQ1gsV0FBVyxFQUFFLElBQUs7TUFDbEIsWUFBWSxFQUFFLElBQUssR0FKbEI7TXZEV1YsTUFBTSxFQUFMLFNBQVMsRUFBRSxNQUFNO1F1RFhiLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQTFCO1VBTUksS0FBSyxFQUFFLElBQUssR0FOZjtJdkRXVixNQUFNLEVBQUwsU0FBUyxFQUFFLE1BQU07TXVERFosbUJBQW1CLENBQUMsTUFBTSxXQUFXLENBQXpCO1FBRUwsV0FBVyxFQUFFLEdBQUksR0FGWDs7QUFTdEIsZUFBZSxDQUFDO0VBQ1osT0FBTyxFakROeUIsSUFBeUIsQ2lETXRDLENBQUM7RUFDcEIsVUFBVSxFQUFFLE1BQU8sR0FGTjtFQUdiLGVBQWUsQ0FBQyxHQUFHLENBQWY7SUFDQSxLQUFLLEVBQUUsS0FBTTtJQUNiLE1BQU0sRUFBRSxJQUFLLEdBRlo7RUFJTCxlQUFlLENBQUMsY0FBYyxDQUFmO0lBQ1gsT0FBTyxFQUFFLFlBQWE7SUFDdEIsT0FBTyxFakRkcUIsSUFBeUIsQ0FBekIsSUFBeUI7SWlEZXJELGdCQUFnQixFekQxQmYsT0FBTztJeUQyQlIsU0FBUyxFQUFFLElBQUs7SUFDaEIsY0FBYyxFQUFFLElBQUs7SUFDckIsVUFBVSxFQUFFLE1BQU87SUFDbkIsY0FBYyxFQUFFLFNBQVU7SUFDMUIsS0FBSyxFekR6Q0wsT0FBTztJeUQwQ1AsV0FBVyxFQUFFLDJCQUE0QjtJQUN6QyxXQUFXLEVBQUUsTUFBTyxHQVZSO0lBV1gsZUFBZSxDQUFDLGNBQWMsTUFBTSxDQUE3QjtNQUNKLGdCQUFnQixFekRwQ3BCLE9BQU87TXlEcUNILEtBQUssRXpEMUNULE9BQU8sR3lEd0NFIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogIFRoZW1lIE5hbWU6IG5vb2RsZXMuY29tXG4gKiAgVGhlbWUgVVJMOiBodHRwczovL3d3dy5ub29kbGVzLmNvbS9cbiAqICBEZXNjcmlwdGlvbjogQSBjdXN0b20gdGhlbWUgZm9yIE5vb2RsZXMgJiBDb21wYW55XG4gKiAgQXV0aG9yOiA0MERpZ2l0c1xuICogIEF1dGhvciBVUkk6IGh0dHA6Ly93d3cuNDBkaWdpdHMuY29tXG4gKiAgVmVyc2lvbjogMC4wMSAqLyIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGT05UU1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBmb250LWZhY2UgJiBAaW1wb3J0XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBNeUZvbnRzIFdlYmZvbnQgQnVpbGQgSUQgMzExNDYxMCwgMjAxNS0xMC0yN1QxNjoyOTowOC0wNDAwXG4gKlxuICogVGhlIGZvbnRzIGxpc3RlZCBpbiB0aGlzIG5vdGljZSBhcmUgc3ViamVjdCB0byB0aGUgRW5kIFVzZXIgTGljZW5zZVxuICogQWdyZWVtZW50KHMpIGVudGVyZWQgaW50byBieSB0aGUgd2Vic2l0ZSBvd25lci4gQWxsIG90aGVyIHBhcnRpZXMgYXJlXG4gKiBleHBsaWNpdGx5IHJlc3RyaWN0ZWQgZnJvbSB1c2luZyB0aGUgTGljZW5zZWQgV2ViZm9udHMocykuXG4gKlxuICogWW91IG1heSBvYnRhaW4gYSB2YWxpZCBsaWNlbnNlIGF0IHRoZSBVUkxzIGJlbG93LlxuICpcbiAqIFdlYmZvbnQ6IERpc3RyaWN0LU1lZGl1bSBieSBHYXJhZ2VGb250c1xuICogVVJMOiBodHRwOi8vd3d3Lm15Zm9udHMuY29tL2ZvbnRzL2dhcmFnZWZvbnRzL2Rpc3RyaWN0L21lZGl1bS9cbiAqXG4gKiBXZWJmb250OiBEaXN0cmljdC1Cb2xkIGJ5IEdhcmFnZUZvbnRzXG4gKiBVUkw6IGh0dHA6Ly93d3cubXlmb250cy5jb20vZm9udHMvZ2FyYWdlZm9udHMvZGlzdHJpY3QvYm9sZC9cbiAqXG4gKlxuICogTGljZW5zZTogaHR0cDovL3d3dy5teWZvbnRzLmNvbS92aWV3bGljZW5zZT90eXBlPXdlYiZidWlsZGlkPTMxMTQ2MTBcbiAqIExpY2Vuc2VkIHBhZ2V2aWV3czogMywwMDAsMDAwXG4gKiBXZWJmb250cyBjb3B5cmlnaHQ6IENvcHlyaWdodCAoYykgMjAwMiBieSBEeWxhbiBTbWl0aCAmYW1wOyBLaWVuYW4gU21pdGguIFB1Ymxpc2hlZCBieSBHYXJhZ2VGb250cyBVU0EgMzAxLTg3OS05MjIyIC0gLSB3d3cuZ2FyYWdlZm9udHMuY29tLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIMKpIDIwMTUgTXlGb250cyBJbmNcbiovXG5cblxuLyogQGltcG9ydCBtdXN0IGJlIGF0IHRvcCBvZiBmaWxlLCBvdGhlcndpc2UgQ1NTIHdpbGwgbm90IHdvcmsgKi9cbkBpbXBvcnQgdXJsKFwiLy9oZWxsby5teWZvbnRzLm5ldC9jb3VudC8yZjg2NzJcIik7XG5cbkBmb250LWZhY2Uge2ZvbnQtZmFtaWx5OiAnRGlzdHJpY3QtTWVkaXVtJztzcmM6IHVybCgnYXNzZXRzL2ZvbnRzL2Rpc3RyaWN0L2Rpc3RyaWN0LW1lZGl1bS8yRjg2NzJfMF8wLmVvdCcpO3NyYzogdXJsKCdhc3NldHMvZm9udHMvZGlzdHJpY3QvZGlzdHJpY3QtbWVkaXVtLzJGODY3Ml8wXzAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoJ2Fzc2V0cy9mb250cy9kaXN0cmljdC9kaXN0cmljdC1tZWRpdW0vMkY4NjcyXzBfMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSx1cmwoJ2Fzc2V0cy9mb250cy9kaXN0cmljdC9kaXN0cmljdC1tZWRpdW0vMkY4NjcyXzBfMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksdXJsKCdhc3NldHMvZm9udHMvZGlzdHJpY3QvZGlzdHJpY3QtbWVkaXVtLzJGODY3Ml8wXzAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO31cblxuXG5AZm9udC1mYWNlIHtmb250LWZhbWlseTogJ0Rpc3RyaWN0LUJvbGQnO3NyYzogdXJsKCdhc3NldHMvZm9udHMvZGlzdHJpY3QvZGlzdHJpY3QtYm9sZC8yRjg2NzJfMV8wLmVvdCcpO3NyYzogdXJsKCdhc3NldHMvZm9udHMvZGlzdHJpY3QvZGlzdHJpY3QtYm9sZC8yRjg2NzJfMV8wLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKCdhc3NldHMvZm9udHMvZGlzdHJpY3QvZGlzdHJpY3QtYm9sZC8yRjg2NzJfMV8wLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLHVybCgnYXNzZXRzL2ZvbnRzL2Rpc3RyaWN0L2Rpc3RyaWN0LWJvbGQvMkY4NjcyXzFfMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksdXJsKCdhc3NldHMvZm9udHMvZGlzdHJpY3QvZGlzdHJpY3QtYm9sZC8yRjg2NzJfMV8wLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTt9XG5cblxuLyogR2VuZXJhdGVkIGJ5IEZvbnQgU3F1aXJyZWwgKGh0dHA6Ly93d3cuZm9udHNxdWlycmVsLmNvbSkgb24gU2VwdGVtYmVyIDI5LCAyMDE1ICovXG5cbi8vIEBmb250LWZhY2Uge1xuLy8gICAgIGZvbnQtZmFtaWx5OiAnRGlzdHJpY3QgQm9sZCc7XG4vLyAgICAgc3JjOiB1cmwoJ2Fzc2V0cy9mb250cy9kaXN0cmljdC9kaXN0cmljdC1ib2xkL2Rpc3RyaWN0LWJvbGQtd2ViZm9udC5lb3QnKTtcbi8vICAgICBzcmM6IHVybCgnYXNzZXRzL2ZvbnRzL2Rpc3RyaWN0L2Rpc3RyaWN0LWJvbGQvZGlzdHJpY3QtYm9sZC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4vLyAgICAgICAgICB1cmwoJ2Fzc2V0cy9mb250cy9kaXN0cmljdC9kaXN0cmljdC1ib2xkL2Rpc3RyaWN0LWJvbGQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbi8vICAgICAgICAgIHVybCgnYXNzZXRzL2ZvbnRzL2Rpc3RyaWN0L2Rpc3RyaWN0LWJvbGQvZGlzdHJpY3QtYm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbi8vICAgICAgICAgIHVybCgnYXNzZXRzL2ZvbnRzL2Rpc3RyaWN0L2Rpc3RyaWN0LWJvbGQvZGlzdHJpY3QtYm9sZC13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbi8vICAgICAgICAgIHVybCgnYXNzZXRzL2ZvbnRzL2Rpc3RyaWN0L2Rpc3RyaWN0LWJvbGQvZGlzdHJpY3QtYm9sZC13ZWJmb250LnN2ZyNkaXN0cmljdF9ib2xkYm9sZCcpIGZvcm1hdCgnc3ZnJyk7XG4vLyAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4vLyB9XG5cbi8vIEBmb250LWZhY2Uge1xuLy8gICAgIGZvbnQtZmFtaWx5OiAnRGlzdHJpY3QgTWVkaXVtJztcbi8vICAgICBzcmM6IHVybCgnYXNzZXRzL2ZvbnRzL2Rpc3RyaWN0L2Rpc3RyaWN0LW1lZGl1bS9kaXN0cmljdC1tZWRpdW0td2ViZm9udC5lb3QnKTtcbi8vICAgICBzcmM6IHVybCgnYXNzZXRzL2ZvbnRzL2Rpc3RyaWN0L2Rpc3RyaWN0LW1lZGl1bS9kaXN0cmljdC1tZWRpdW0td2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuLy8gICAgICAgICAgdXJsKCdhc3NldHMvZm9udHMvZGlzdHJpY3QvZGlzdHJpY3QtbWVkaXVtL2Rpc3RyaWN0LW1lZGl1bS13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuLy8gICAgICAgICAgdXJsKCdhc3NldHMvZm9udHMvZGlzdHJpY3QvZGlzdHJpY3QtbWVkaXVtL2Rpc3RyaWN0LW1lZGl1bS13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbi8vICAgICAgICAgIHVybCgnYXNzZXRzL2ZvbnRzL2Rpc3RyaWN0L2Rpc3RyaWN0LW1lZGl1bS9kaXN0cmljdC1tZWRpdW0td2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4vLyAgICAgICAgICB1cmwoJ2Fzc2V0cy9mb250cy9kaXN0cmljdC9kaXN0cmljdC1tZWRpdW0vZGlzdHJpY3QtbWVkaXVtLXdlYmZvbnQuc3ZnI2Rpc3RyaWN0X21lZGl1bW1lZGl1bScpIGZvcm1hdCgnc3ZnJyk7XG4vLyAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4vLyB9XG5cbi8qXG4qICAgT3N3YWxkIEJvbGQgaXMgc2ltaWxhciB0byBLbm9ja291dC4gVVNJTkcgRk9SIFRFU1RJTkcgUFVSUE9TRVMgT05MWS5cbiovXG4vLyBAaW1wb3J0IHVybChodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3N3YWxkOjcwMCk7XG5cbi8vIEBmb250LWZhY2Uge1xuLy8gICAgIGZvbnQtZmFtaWx5OiAnS25vY2tvdXQgNjcnO1xuLy8gICAgIHNyYzogdXJsKCdhc3NldHMvZm9udHMva25vY2tvdXQva25vY2tvdXQtNjctd2ViZm9udC5lb3QnKTtcbi8vICAgICBzcmM6IHVybCgnYXNzZXRzL2ZvbnRzL2tub2Nrb3V0L2tub2Nrb3V0LTY3LXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbi8vICAgICAgICAgIHVybCgnYXNzZXRzL2ZvbnRzL2tub2Nrb3V0L2tub2Nrb3V0LTY3LXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4vLyAgICAgICAgICB1cmwoJ2Fzc2V0cy9mb250cy9rbm9ja291dC9rbm9ja291dC02Ny13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbi8vICAgICAgICAgIHVybCgnYXNzZXRzL2ZvbnRzL2tub2Nrb3V0L2tub2Nrb3V0LTY3LXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuLy8gICAgICAgICAgdXJsKCdhc3NldHMvZm9udHMva25vY2tvdXQva25vY2tvdXQtNjctd2ViZm9udC5zdmcja25vY2tvdXQ2N19mdWxsX2JhbnRhbXdlaWdodCcpIGZvcm1hdCgnc3ZnJyk7XG4vLyAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4vLyB9XG5cbi8vIEBmb250LWZhY2Uge1xuLy8gICAgIGZvbnQtZmFtaWx5OiAnWmlnZ3VyYXQnO1xuLy8gICAgIHNyYzogdXJsKCdhc3NldHMvZm9udHMvemlnZ3VyYXQvemlnZ3VyYXQtd2ViZm9udC5lb3QnKTtcbi8vICAgICBzcmM6IHVybCgnYXNzZXRzL2ZvbnRzL3ppZ2d1cmF0L3ppZ2d1cmF0LXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbi8vICAgICAgICAgIHVybCgnYXNzZXRzL2ZvbnRzL3ppZ2d1cmF0L3ppZ2d1cmF0LXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4vLyAgICAgICAgICB1cmwoJ2Fzc2V0cy9mb250cy96aWdndXJhdC96aWdndXJhdC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbi8vICAgICAgICAgIHVybCgnYXNzZXRzL2ZvbnRzL3ppZ2d1cmF0L3ppZ2d1cmF0LXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuLy8gICAgICAgICAgdXJsKCdhc3NldHMvZm9udHMvemlnZ3VyYXQvemlnZ3VyYXQtd2ViZm9udC5zdmcjemlnZ3VyYXRodGYtYmxhY2snKSBmb3JtYXQoJ3N2ZycpO1xuLy8gICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gfVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRm9udCBWYXJpYWJsZXNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFZhcmlhYmxlcyBiZXN0IHV0aWxpemVkIGZvciBmb250IHNlcnZpY2VzIHdpdGhvdXQgZmFtaWx5IGdyb3VwaW5nLlxuJGRpc3RyaWN0LW1lZGl1bTogJ0Rpc3RyaWN0LU1lZGl1bScsIHNhbnMtc2VyaWY7XG4kZGlzdHJpY3QtYm9sZDogJ0Rpc3RyaWN0LUJvbGQnLCBzYW5zLXNlcmlmO1xuJGtub2Nrb3V0OiAnT3N3YWxkJywgc2Fucy1zZXJpZjsgLy8gVEVTVElORyBQVVJQT1NFUyBPTkxZLlxuXG4ka25vY2tvdXQ6IFwiS25vY2tvdXQgNjcgQVwiLCBcIktub2Nrb3V0IDY3IEJcIiwgc2Fucy1zZXJpZjtcbiR6aWdndXJhdDogXCJaaWdndXJhdCBBXCIsIFwiWmlnZ3VyYXQgQlwiLCBzYW5zLXNlcmlmO1xuXG4vLyBGb250IExpc3QgTWFwXG4kZm9udHM6IChcblx0ZGlzdHJpY3Q6IChcblx0XHRyZWd1bGFyOiAkZGlzdHJpY3QtbWVkaXVtLFxuXHRcdGJvbGQ6ICRkaXN0cmljdC1ib2xkLFxuXHQpLFxuICAgIGtub2Nrb3V0OiAoXG4gICAgICAgIHJlZ3VsYXI6ICRrbm9ja291dFxuICAgICksXG4gICAgemlnZ3VyYXQ6IChcbiAgICAgICAgcmVndWxhcjogJHppZ2d1cmF0XG4gICAgKVxuKTtcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZvbnQgZnVuY3Rpb24gJiBtaXhpblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRm9udCBGdW5jdGlvblxuQGZ1bmN0aW9uIHNldGZvbnQoJG5hbWUsICR3ZWlnaHQ6IHJlZ3VsYXIpIHtcblx0QGlmIG1hcC1oYXMta2V5KCRmb250cywgJG5hbWUpIHtcblx0XHRAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkZm9udHMsICRuYW1lKSwgJHdlaWdodCk7XG5cdH0gQGVsc2Uge1xuXHRcdEB3YXJuIFwiQ291bGRuJ3QgZmluZCBhIGZvbnQgbmFtZWQgYCN7JG5hbWV9YC5cIjtcblx0fVxufVxuXG4vLyBGb250IE1peGluXG5AbWl4aW4gc2V0Zm9udCgkZmFtaWx5OiBzYW5zLXNlcmlmLCAkd2VpZ2h0OiBub3JtYWwpIHtcblx0Ly8gRGVmYXVsdCBGb250IFN0YWNrXG5cdEBpZiAkZmFtaWx5ID09IFwiZGVmYXVsdFwiIHtcblx0XHRmb250LWZhbWlseTogJGRpc3RyaWN0LW1lZGl1bSwgQXJpYWwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuXHR9XG5cdC8vIERpc3RyaWN0IE1lZGl1bVxuXHRAaWYgJGZhbWlseSA9PSBcImRpc3RyaWN0XCIge1xuXHRcdGZvbnQtZmFtaWx5OiAkZGlzdHJpY3QtbWVkaXVtO1xuXHR9XG5cdC8vIERpc3RyaWN0IEJvbGRcbiAgICBAaWYgJGZhbWlseSA9PSBcImRpc3RyaWN0IGJvbGRcIiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZGlzdHJpY3QtYm9sZDtcbiAgICB9XG4gICAgLy8gLy8gS25vY2tvdXQgNjdcbiAgICBAaWYgJGZhbWlseSA9PSBcImtub2Nrb3V0XCIge1xuICAgICAgICBmb250LWZhbWlseTogJGtub2Nrb3V0O1xuICAgIH1cblxuICAgIC8vIFppZ2d1cmF0XG4gICAgQGlmICRmYW1pbHkgPT0gXCJ6aWdndXJhdFwiIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICR6aWdndXJhdDtcbiAgICB9XG5cdGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xufVxuIiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJFU0VUXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSFRNTDUgUmVzZXRcbi8vIFdlIGhhdmUgbGVhcm5lZCBtdWNoIGZyb20vYmVlbiBpbnNwaXJlZCBieS90YWtlbiBjb2RlIHdoZXJlIG9mZmVyZWQgZnJvbTpcbi8vIEVyaWMgTWV5ZXIgICAgICAgICAgICAgICAgICA6OiBodHRwOi8vbWV5ZXJ3ZWIuY29tXG4vLyBIVE1MNSBEb2N0b3IgICAgICAgICAgICAgICAgOjogaHR0cDovL2h0bWw1ZG9jdG9yLmNvbVxuLy8gYW5kIHRoZSBIVE1MNSBCb2lsZXJwbGF0ZSAgIDo6IGh0dHA6Ly9odG1sNWJvaWxlcnBsYXRlLmNvbVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBvYmplY3QsIGlmcmFtZSxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbmFiYnIsIGFkZHJlc3MsIGNpdGUsIGNvZGUsXG5kZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHNhbXAsXG5zbWFsbCwgc3Ryb25nLCBzdWIsIHN1cCwgdmFyLFxuYiwgaSxcbmRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxuZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uLCBzdW1tYXJ5LFxudGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDA7XG5cdG91dGxpbmU6IDA7XG5cdGZvbnQtc2l6ZTogMTAwJTtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxubWFpbiwgYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSxcbmZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG5odG1sIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0b3ZlcmZsb3cteTogc2Nyb2xsO1xuXHQtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcblx0LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuXHR0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFpbXBvcnRhbnQ7XG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkge1xuXHRsaW5lLWhlaWdodDogMTtcbn1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ym94LXNpemluZzogaW5oZXJpdDtcblxuXHQvLyBIaWRlIHRhcCBvbiB0b3VjaCBkZXZpY2VzLlxuXHRAbWVkaWEgKG1heC13aWR0aCA6IDk1OXB4KSB7XG5cdFx0KiB7XG5cdFx0XHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG5cdFx0fVxuXHR9XG59XG5cbmltZyxcbm9iamVjdCxcbmVtYmVkIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cbmJsb2NrcXVvdGUsIHEge1xuXHRxdW90ZXM6bm9uZTtcbn1cblxuYmxvY2txdW90ZTpiZWZvcmUsXG5ibG9ja3F1b3RlOmFmdGVyLFxucTpiZWZvcmUsXG5xOmFmdGVyIHtcblx0Y29udGVudDogJyc7XG5cdGNvbnRlbnQ6IG5vbmU7XG59XG5cbmEge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGZvbnQtc2l6ZTogMTAwJTtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuZGVsIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbmFiYnJbdGl0bGVdLCBkZm5bdGl0bGVdIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcblx0Y3Vyc29yOiBoZWxwO1xufVxuXG5pLFxuZW0ge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbmIsXG5zdHJvbmcge1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxucSB7XG5cdFx0cXVvdGVzOiBcIlxcMjAxQ1wiIFwiXFwyMDFEXCIgXCJcXDIwMThcIiBcIlxcMjAxOVwiO1xufVxuXG50YWJsZSB7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdGJvcmRlci1zcGFjaW5nOiAwO1xuXHRmb250LXNpemU6IGluaGVyaXQ7XG5cdGZvbnQ6IDEwMCU7XG59XG5cbnRoIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbnRkIHtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0dmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuaW5wdXQsXG5zZWxlY3Qge1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5pbnB1dFt0eXBlPXNlYXJjaF0ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblx0LXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblx0Jjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblx0Jjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcblx0Jjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG5cdCY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG5cdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHR9XG59XG5cbmZpZWxkc2V0IHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuXHRcdG1hcmdpbjogMCAycHg7XG5cdFx0cGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcblx0XHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0XHRmb250LXNpemU6IDEwMCU7XG5cdFx0bWFyZ2luOiAwO1xufVxuXG5zdWIsXG5zdXAge1xuXHRmb250LXNpemU6IDc1JTtcblx0bGluZS1oZWlnaHQ6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuc3VwIHtcblx0dG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG5cdGJvdHRvbTogLTAuMjVlbTtcbn1cblxubWFyayB7XG5cdFx0YmFja2dyb3VuZDogI2ZmMDtcblx0XHRjb2xvcjogIzAwMDtcbn1cblxucHJlIHtcblx0d2hpdGUtc3BhY2U6IHByZTtcblx0d2hpdGUtc3BhY2U6IHByZS13cmFwO1xuXHR3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuXHRmb250LWZhbWlseTogbW9ub3NwYWNlLFxuXHRzYW5zLXNlcmlmO1xufVxuIiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENPTE9SU1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvbG9yIE1hcFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGNvbG9yczogKFxuXHRibGFjazogIzJDM0U1MCxcblx0d2hpdGU6ICNmZmYsXG5cdHJlZDogKFxuXHRcdGJhc2U6ICNiMDI2MmUsXG5cdFx0ZGFyazogIzg5MDYwZVxuXHQpLFxuXHRicm93bjogKFxuXHRcdGJhc2U6ICM0ZjJiMWMsXG5cdFx0ZGFyazogIzNiMjAxNFxuXHQpLFxuXHRnb2xkOiAjZmZjNDI2LFxuXHR0YW46IChcblx0XHRiYXNlOiAjZGVkMmIyLFxuXHRcdGxpZ2h0OiAjZjVlZGQ5LFxuXHRcdGRhcms6ICNjOGJiOThcblx0KSxcblx0c3RlZWw6ICNiMmJmYmIsXG5cdGVycm9yOiAjZjMxZjQ3LFxuKTtcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHNldGNvbG9yIEZ1bmN0aW9uXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKiogUmV0dXJucyBhIGNvbG9yIHdpdGggYW4gb3B0aW9uYWwgdG9uZSBmcm9tIHRoZSBtYXBcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gICRjb2xvcl9uYW1lICAgICBUaGUgYmFzZSBuYW1lIG9mIHRoZSBjb2xvclxuICogQHBhcmFtIHt0b25lfSAgICAoJHRvbmV8J2Jhc2UnKSAgVGhlIHRvbmUgb2YgdGhhdCBjb2xvciBvciAnYmFzZSdcbiAqXG4gKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBtYXRjaGluZyBjb2xvcidzIHZhbHVlIGZyb20gdGhlIG1hcFxuICovXG5AZnVuY3Rpb24gc2V0Y29sb3IoJGNvbG9yX25hbWUsICR0b25lOiBiYXNlKSB7XG5cdEBpZiBtYXAtaGFzLWtleSgkY29sb3JzLCAkY29sb3JfbmFtZSkge1xuXHRcdCRtYXBfY29sb3JfbmFtZTogbWFwLWdldCgkY29sb3JzLCAkY29sb3JfbmFtZSk7XG5cblx0XHRAaWYgKGxlbmd0aCgkbWFwX2NvbG9yX25hbWUpID4gMSkgeyAvLyBUaGlzIG11c3QgYmUgYSBtYXBcblx0XHRcdEByZXR1cm4gbWFwLWdldCgkbWFwX2NvbG9yX25hbWUsICR0b25lKTtcblx0XHR9IEBlbHNlIHsgLy8gSXQncyBqdXN0IGEgc2luZ2xlIGNvbG9yXG5cdFx0XHRAcmV0dXJuICRtYXBfY29sb3JfbmFtZTtcblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdEB3YXJuIFwiQ291bGRuJ3QgZmluZCBhIGNvbG9yIG5hbWVkIGAjeyRjb2xvcl9uYW1lfWAuXCI7XG5cdH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBFeHRlbmQgQWRtaW4gV3lzaXd5ZyBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmJvZHkjdGlueW1jZS53cC1lZGl0b3Ige1xuICBAZXh0ZW5kICV3eXNpd3lnO1xuICBtYXJnaW46IDEwcHg7XG59XG5cbiIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNRURJQSBRVUVSSUVTXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBEbyBub3QgZWRpdCB1bmxlc3MgeW91IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nLlxuXG5AbWl4aW4gbXEoJHBvaW50LCAkcmV2ZXJzZTogZmFsc2UpIHtcblxuXHRAaWYgJHByaW50LW1lZGlhIHtcbiAgXHRAaWYgJHBvaW50ID09ICdwcmludCcge1xuICBcdFx0QG1lZGlhIHByaW50IHtcbiAgXHRcdFx0QGNvbnRlbnQ7XG4gIFx0XHR9XG4gIFx0fSBAZWxzZSB7XG4gIFx0XHRAY29udGVudDtcbiAgXHR9XG4gIH0gQGVsc2Uge1xuICBcdEBpZiB0eXBlLW9mKCRwb2ludCkgPT0gXCJudW1iZXJcIiB7XG5cdFx0XHRAaWYgdW5pdGxlc3MoJHBvaW50KSBvciB1bml0KCRwb2ludCkgPT0gXCJlbVwiIG9yIHVuaXQoJHBvaW50KSA9PSBcInJlbVwiIG9yIHVuaXQoJHBvaW50KSA9PSBcIiVcIiB7XG5cdFx0XHRcdEB3YXJuIFwiUGxlYXNlIHVzZSBwaXhlbCB2YWx1ZXMuXCI7XG5cdFx0XHR9IEBlbHNlIGlmICRyZXZlcnNlID09IFwibWF4XCIge1xuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBlbSgkcG9pbnQgLSAxcHgpKSB7XG5cdFx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBlbSgkcG9pbnQpKSB7XG5cdFx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtcSwgJHBvaW50KSB7XG5cdFx0XHRAbWVkaWEgI3tpbnNwZWN0KG1hcC1nZXQoJG1xLCAkcG9pbnQpKX0ge1xuXHRcdFx0XHRAY29udGVudDtcblx0XHRcdH1cblx0XHR9IEBlbHNlIHtcblx0XHRcdEB3YXJuIFwiQ291bGRuJ3QgZmluZCBhIGJyZWFrcG9pbnQgbmFtZWQgYCN7JHBvaW50fWAuXCI7XG5cdFx0fVxuICB9XG5cbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSkFWQVNDUklQVCBCUkVBS1BPSU5UU1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gRG8gbm8gZWRpdCB1bmxlc3MgeW91IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nLlxuXG4kcHVibGljX2JyZWFrcG9pbnRzOiAoXG4gICdtcS10aW55JzogICAgICAnbWF4LXRpbnknLFxuICAnbXEtbWluaSc6ICAgICAgJ21pbmknLFxuICAnbXEtc21hbGwnOiAgICAgJ3NtYWxsJyxcbiAgJ21xLW1lZGl1bSc6ICAgICdtZWRpdW0nLFxuICAnbXEtbGFyZ2UnOiAgICAgJ2xhcmdlJyxcbiAgJ21xLXhsYXJnZSc6ICAgICd4bGFyZ2UnLFxuICAnbXEteHhsYXJnZSc6ICAgJ3h4bGFyZ2UnLFxuICAnbXEteHh4bGFyZ2UnOiAgJ3h4eGxhcmdlJ1xuKTtcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNldHVwIG1peGluc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVGVsbHMgU2Fzc1F3YXRjaCB0aGUgbmFtZXMgb2Ygb3VyIGJyZWFrcG9pbnRzXG5AbWl4aW4gZXhwb3NlLWJyZWFrcG9pbnQtbmFtZXMoJGJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRwdWJsaWMsICRtcSBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpbmNsdWRlIG1xKCRtcSkge1xuICAgICAgZm9udC1mYW1pbHk6ICRwdWJsaWM7XG4gICAgfVxuICB9XG59XG5cbi8vIFRlbGxzIFNhc3NRd2F0Y2ggdGhlIG9yZGVyIG9mIG91ciBicmVha3BvaW50c1xuQG1peGluIGV4cG9zZS1icmVha3BvaW50LW9yZGVyKCRicmVha3BvaW50cykge1xuICAkbGVuZ3RoOiBsZW5ndGgoJGJyZWFrcG9pbnRzKTtcbiAgJGxpc3Q6ICcnO1xuICAkaTogMTtcblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJHF1ZXJ5IGluICRicmVha3BvaW50cyB7XG4gICAgJGxpc3Q6ICRsaXN0ICsgJGJyZWFrcG9pbnQ7XG5cbiAgICBAaWYgJGkgIT0gJGxlbmd0aCB7XG4gICAgICAkbGlzdDogJGxpc3QgKyAnLCAnO1xuICAgIH1cblxuICAgICRpOiAkaSArIDE7XG4gIH1cbiAgZm9udC1mYW1pbHk6ICRsaXN0O1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRXhwb3NlIHRoZSBicmVha3BvaW50c1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmhlYWQge1xuICBAaW5jbHVkZSBleHBvc2UtYnJlYWtwb2ludC1uYW1lcygkcHVibGljX2JyZWFrcG9pbnRzKTtcbn1cblxudGl0bGUge1xuICBAaW5jbHVkZSBleHBvc2UtYnJlYWtwb2ludC1vcmRlcigkcHVibGljX2JyZWFrcG9pbnRzKTtcbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVVRJTElUSUVTXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBGb250LXNtb290aGluZyBmb3IgT1NYXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcge1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0dGV4dC1zaGFkb3c6IDFweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wMDQpO1xufVxuXG4vLyBSZW1vdmUgZm9udC1zbW9vdGhpbmcgaWYgbm90IG5lY2Vzc2FyeVxuQG1peGluIG5vLWZvbnQtc21vb3RoaW5nIHtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuXHR0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLy8gQWJzb2x1dGUgY2VudGVyIGNvbnRlbnRcbiVhYnMtY2VudGVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLyBBYnNvbHV0ZSBDZW50ZXIgVmVydGljYWxseSAoaWU5Kylcbi8vIFBhcmVudCBjb250YWluZXIgd2lsbCBuZWVkIHRvIGhhdmUgYSBoZWlnaHQgZm9yIGl0IHRvIHdvcmsuXG4lYWJzLWNlbnRlci12ZXJ0aWNhbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0b3A6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLyBBYnNvbHV0ZSBDZW50ZXIgSG9yaXpvbnRhbGx5IChpZTkrKVxuLy8gUGFyZW50IGNvbnRhaW5lciB3aWxsIG5lZWQgdG8gaGF2ZSBhIGhlaWdodCBmb3IgaXQgdG8gd29yay5cbiVhYnMtY2VudGVyLWhvcml6b250YWwge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vIFZpc3VhbGx5IGhpZGUgZWxlbWVudHMgd2hpbGUgYXQgdGhlIHNhbWUgdGltZSBtYWtlIHRoZW0gYWNjZXNzaWJsZSBvbiBzY3JlZW4gcmVhZGVyc1xuJXZpc3VhbGx5LWhpZGRlbiB7XG5cdG1hcmdpbjogLTFweDtcblx0cGFkZGluZzogMDtcblx0d2lkdGg6IDFweDtcblx0aGVpZ2h0OiAxcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cdGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLy8gRWxsaXBzaXNcbiVlbGxpcHNpcyB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vLyBSZW1vdmUgYWxsIGxpc3Qgc3R5bGluZ1xuLy8gZXg6IEBleHRlbmQgJW5ha2VkLWxpc3RcbiVuYWtlZC1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xufVxuXG4vLyBSZW1vdmUgYWxsIGJ1dHRvbiBzdHlsaW5nIGFuZCByZXNldCBpdCB0byBkZWZhdWx0XG4vLyBleDogQGV4dGVuZCAlbmFrZWQtYnV0dG9uXG4lbmFrZWQtYnV0dG9uIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGJvcmRlcjogMDtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRmb250LXNpemU6IDFlbTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBMYXlvdXRcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIG1heC13aWR0aCBjb250YWluZXIgd2l0aCBtdWx0aXBsZSBvcHRpb25zLCBzZWUgdmFyaWFibGVzIGZvciBvcHRpb25zXG4vLyBleDogQGluY2x1ZGUgcm93KG1lZGl1bSlcbkBtaXhpbiByb3coJHdpZHRoOiBmYWxzZSkge1xuXHRAaWYgJHdpZHRoID09IGZhbHNlIHtcblx0XHRtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG5cdH1cblx0QGlmICR3aWR0aCA9PSBzbWFsbCB7XG5cdFx0bWF4LXdpZHRoOiAkbWF4LXdpZHRoLXNtYWxsO1xuXHR9XG5cdEBpZiAkd2lkdGggPT0gbWVkaXVtIHtcblx0XHRtYXgtd2lkdGg6ICRtYXgtd2lkdGgtbWVkaXVtO1xuXHR9XG5cdEBpZiAkd2lkdGggPT0gbGFyZ2Uge1xuXHRcdG1heC13aWR0aDogJG1heC13aWR0aC1sYXJnZTtcblx0fVxuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luOiAwIGF1dG87XG59XG5cbi8vIGd1dHRlciBiZXR3ZWVuIGNvbHVtbnMsIHNlZSB2YXJpYWJsZXMgZm9yIG9wdGlvbnNcbi8vIGV4OiBAaW5jbHVkZSBndXR0ZXIgb3IgQGluY2x1ZGUgZ3V0dGVyKGxhcmdlKVxuQG1peGluIGNvbnRhaW5lcigkc2l6ZTogZmFsc2UpIHtcblx0QGlmICRzaXplID09IHNtYWxsIHtcblx0XHRwYWRkaW5nLWxlZnQ6ICRndXR0ZXItc21hbGw7XG5cdFx0cGFkZGluZy1yaWdodDogJGd1dHRlci1zbWFsbDtcblx0fSBAZWxzZSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAkZ3V0dGVyLXNtYWxsO1xuXHRcdHBhZGRpbmctcmlnaHQ6ICRndXR0ZXItc21hbGw7XG5cblx0XHRAaW5jbHVkZSBtcShtZWRpdW0pIHtcblx0XHRcdHBhZGRpbmctbGVmdDogJGd1dHRlcjtcblx0XHRcdHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbXEoeGxhcmdlKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6ICRndXR0ZXItbGFyZ2U7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyLWxhcmdlO1xuXHRcdH1cblx0fVxufVxuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENyb3NzIEJyb3dzZXIgKGxlZ2FjeSlcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIENyb3NzLWJyb3dzZXIgYWxwaGEgdHJhbnNwYXJlbmN5IGZvciBvbGQgSUVcbkBtaXhpbiByZ2JhKCRjb2xvciwgJGFscGhhKSB7XG5cdCRyZ2JhOiByZ2JhKCRjb2xvciwgJGFscGhhKTtcblx0JGllLWhleC1zdHI6IGllLWhleC1zdHIoJHJnYmEpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0YmFja2dyb3VuZC1jb2xvcjogJHJnYmE7XG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9I3skaWUtaGV4LXN0cn0sZW5kQ29sb3JzdHI9I3skaWUtaGV4LXN0cn0pO1xuXHR6b29tOiAxO1xufVxuXG4vLyBDcm9zcy1icm93c2VyIG9wYWNpdHkgZm9yIG9sZCBJRVxuQG1peGluIG9wYWNpdHkoJGFscGhhKSB7XG5cdG9wYWNpdHk6ICRhbHBoYTtcblx0LW1zLWZpbHRlcjpcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PSRhbHBoYSoxMDApXCI7XG5cdGZpbHRlcjogYWxwaGEob3BhY2l0eT0kYWxwaGEqMTAwKTtcbn1cblxuLy8gQ3Jvc3MtYnJvd3NlciBiYWNrZ3JvdW5kLWNvdmVyIGZvciBvbGQgSUVcbi8vIGV4OiBAZXh0ZW5kICViZy1jb3ZlclxuLy8gaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2xvdWlzcmVtaS9iYWNrZ3JvdW5kLXNpemUtcG9seWZpbGwvZ2gtcGFnZXMvYmFja2dyb3VuZHNpemUubWluLmh0Y1xuJWJnLWNvdmVyIHtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0LW1zLWJlaGF2aW9yOiB1cmwoJ2Fzc2V0cy9pbWFnZXMvYmFja2dyb3VuZHNpemUubWluLmh0YycpO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDbGVhcmZpeFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJWNmIHtcblx0em9vbTogMTtcblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXFwwMDIwXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdH1cblx0JjphZnRlciB7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdH1cbn1cblxuQG1peGluIGNmIHtcblx0em9vbTogMTtcblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXFwwMDIwXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdH1cblx0JjphZnRlciB7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdH1cbn1cblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2xhc3MgSGVscGVyc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQ2xlYXIgY2xhc3MgaGVscGVyc1xuLmNmLFxuLmNsZWFyLFxuLmNsZWFyZml4IHtcblx0QGV4dGVuZCAlY2Y7XG59XG5cbi8vIFZpc3VhbGx5IGhpZGUgZWxlbWVudHMgd2hpbGUgYXQgdGhlIHNhbWUgdGltZSBtYWtlIHRoZW0gYWNjZXNzaWJsZSBvbiBzY3JlZW4gcmVhZGVyc1xuLnZpc3VhbGx5LWhpZGRlbiB7XG5cdEBleHRlbmQgJXZpc3VhbGx5LWhpZGRlbjtcbn1cbiIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTWU1CT0xTXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6IFwic3ltYm9sc1wiO1xuXHRzcmM6IHVybCgnYXNzZXRzL2ZvbnRzL3N5bWJvbHMvc3ltYm9scy5lb3QnKTtcblx0c3JjOiB1cmwoJ2Fzc2V0cy9mb250cy9zeW1ib2xzL3N5bWJvbHMuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW90JyksXG5cdFx0dXJsKCdhc3NldHMvZm9udHMvc3ltYm9scy9zeW1ib2xzLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcblx0XHR1cmwoJ2Fzc2V0cy9mb250cy9zeW1ib2xzL3N5bWJvbHMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuXHRcdHVybCgnYXNzZXRzL2ZvbnRzL3N5bWJvbHMvc3ltYm9scy5zdmcjc3ltYm9scycpIGZvcm1hdCgnc3ZnJyk7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLy8gU3ltYm9scyBwbGFjZWhvbGRlciB0byBleHRlbmQgaW5zaWRlIHRoZSBtaXhpbi5cbiVzeW1ib2xzIHtcblx0Zm9udC1mYW1pbHk6IFwic3ltYm9sc1wiO1xuXHR3aWR0aDogMWVtO1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Zm9udC12YXJpYW50OiBub3JtYWw7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0bGluZS1oZWlnaHQ6IDFlbTtcblx0c3BlYWs6IG5vbmU7XG59XG5cbi8vIFN0eWxlcyBhcHBsaWVkIHRvIHRoZSAuc3ltYm9sIGNsYXNzIHdoZW4gYWRkaW5nIHN5bWJvbHMgdG8gdGhlIG1hcmt1cC5cbi5zeW1ib2w6YmVmb3JlIHtcblx0Zm9udC1mYW1pbHk6IFwic3ltYm9sc1wiO1xuXHR3aWR0aDogMWVtO1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Zm9udC12YXJpYW50OiBub3JtYWw7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0bGluZS1oZWlnaHQ6IDFlbTtcblx0c3BlYWs6IG5vbmU7XG59XG5cbi8vIE1peGluIHRvIGFkZCBpbiB5b3VyIG93biBzeW1ib2wgdGhyb3VnaCB0aGUgY3NzLlxuLy8gVGhlIG1peGluIG9ubHkgd29ya3Mgd2l0aCA6cHNldWRvXG5AbWl4aW4gc3ltYm9scygkc3ltYm9sOiBmYWxzZSkge1xuXHRAZXh0ZW5kICVzeW1ib2xzO1xuXG5cdEBpZiAkc3ltYm9sID09IFwiYWxlcnRcIiB7XG5cdFx0Y29udGVudDogJ1xcRTAwMSc7XG5cdH1cblx0QGlmICRzeW1ib2wgPT0gXCJhcnJvdy1kb3duXCIge1xuXHRcdGNvbnRlbnQ6ICdcXEUwMDInO1xuXHR9XG5cdEBpZiAkc3ltYm9sID09IFwiYXJyb3ctcmlnaHRcIiB7XG5cdFx0Y29udGVudDogJ1xcRTAwMyc7XG5cdH1cblx0QGlmICRzeW1ib2wgPT0gXCJhcnJvdy11cFwiIHtcblx0XHRjb250ZW50OiAnXFxFMDA0Jztcblx0fVxuXHRAaWYgJHN5bWJvbCA9PSBcImNoZWNrXCIge1xuXHRcdGNvbnRlbnQ6ICdcXEUwMDUnO1xuXHR9XG5cdEBpZiAkc3ltYm9sID09IFwiY2xvc2VcIiB7XG5cdFx0Y29udGVudDogJ1xcRTAwNic7XG5cdH1cblx0QGlmICRzeW1ib2wgPT0gXCJmYWNlYm9va1wiIHtcblx0XHRjb250ZW50OiAnXFxFMDA3Jztcblx0fVxuXHRAaWYgJHN5bWJvbCA9PSBcImluc3RhZ3JhbVwiIHtcblx0XHRjb250ZW50OiAnXFxFMDA4Jztcblx0fVxuXHRAaWYgJHN5bWJvbCA9PSBcImxvY2F0aW9uXCIge1xuXHRcdGNvbnRlbnQ6ICdcXEUwMDknO1xuXHR9XG5cdEBpZiAkc3ltYm9sID09IFwibWFnbmlmeVwiIHtcblx0XHRjb250ZW50OiAnXFxFMDBBJztcblx0fVxuXHRAaWYgJHN5bWJvbCA9PSBcInBpbnRlcmVzdFwiIHtcblx0XHRjb250ZW50OiAnXFxFMDBCJztcblx0fVxuXHRAaWYgJHN5bWJvbCA9PSBcInBsYXlcIiB7XG5cdFx0Y29udGVudDogJ1xcRTAwQyc7XG5cdH1cblx0QGlmICRzeW1ib2wgPT0gXCJwcmludGVyXCIge1xuXHRcdGNvbnRlbnQ6ICdcXEUwMEQnO1xuXHR9XG5cdEBpZiAkc3ltYm9sID09IFwic2VhcmNoXCIge1xuXHRcdGNvbnRlbnQ6ICdcXEUwMEUnO1xuXHR9XG5cdEBpZiAkc3ltYm9sID09IFwic3BpY3lcIiB7XG5cdFx0Y29udGVudDogJ1xcRTAwRic7XG5cdH1cblx0QGlmICRzeW1ib2wgPT0gXCJ0dW1ibHJcIiB7XG5cdFx0Y29udGVudDogJ1xcRTAxMCc7XG5cdH1cblx0QGlmICRzeW1ib2wgPT0gXCJ0d2l0dGVyXCIge1xuXHRcdGNvbnRlbnQ6ICdcXEUwMTEnO1xuXHR9XG5cdEBpZiAkc3ltYm9sID09IFwidmVnZ2llXCIge1xuXHRcdGNvbnRlbnQ6ICdcXEUwMTInO1xuXHR9XG59XG5cbi8vIEluZGl2aWR1YWwgQ1NTIHN0eWxlcyBmb3Igd2hlbiB5b3UgY2FsbCBieSB0aGUgY2xhc3MgbmFtZSBpbiBtYXJrdXAuXG4ucy1hbGVydDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAwMVwiIH1cbi5zLWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogXCJcXEUwMDJcIiB9XG4ucy1hcnJvdy1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAwM1wiIH1cbi5zLWFycm93LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDA0XCIgfVxuLnMtY2hlY2s6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMDVcIiB9XG4ucy1jbG9zZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAwNlwiIH1cbi5zLWZhY2Vib29rOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDA3XCIgfVxuLnMtaW5zdGFncmFtOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDA4XCIgfVxuLnMtbG9jYXRpb246YmVmb3JlIHsgY29udGVudDogXCJcXEUwMDlcIiB9XG4ucy1tYWduaWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDBBXCIgfVxuLnMtcGludGVyZXN0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDBCXCIgfVxuLnMtcGxheTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAwQ1wiIH1cbi5zLXByaW50ZXI6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMERcIiB9XG4ucy1zZWFyY2g6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMEVcIiB9XG4ucy1zcGljeTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAwRlwiIH1cbi5zLXR1bWJscjpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAxMFwiIH1cbi5zLXR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMTFcIiB9XG4ucy12ZWdnaWU6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMTJcIiB9IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNQUklURVNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEluZGl2aWR1YWwgdmFyaWFibGVzXG4kYWlyOiAtMTAwcHggLTBweCA5MHB4IDc0cHg7XG4kc3VuOiAtMHB4IC0wcHggMTAwcHggMTAwcHg7XG5cbi8vIE1peGluc1xuQG1peGluIHNwcml0ZS13aWR0aCgkc3ByaXRlKSB7XG4gIHdpZHRoOiBudGgoJHNwcml0ZSwgMylcbn1cbkBtaXhpbiBzcHJpdGUtaGVpZ2h0KCRzcHJpdGUpIHtcbiAgaGVpZ2h0OiBudGgoJHNwcml0ZSwgNClcbn1cblxuLy8gRnVuY3Rpb25zXG5AZnVuY3Rpb24gc3ByaXRlLXdpZHRoKCRzcHJpdGUpIHtcbiAgQHJldHVybiBudGgoJHNwcml0ZSwgMyk7XG59XG5AZnVuY3Rpb24gc3ByaXRlLWhlaWdodCgkc3ByaXRlKSB7XG4gIEByZXR1cm4gbnRoKCRzcHJpdGUsIDQpO1xufVxuXG4vLyBQb3NpdGlvbmluZ1xuQG1peGluIHNwcml0ZS1wb3NpdGlvbigkc3ByaXRlKSB7XG4gICRzcHJpdGUtb2Zmc2V0LXg6IG50aCgkc3ByaXRlLCAxKTtcbiAgJHNwcml0ZS1vZmZzZXQteTogbnRoKCRzcHJpdGUsIDIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkc3ByaXRlLW9mZnNldC14ICRzcHJpdGUtb2Zmc2V0LXk7XG59XG5cbi8vIFNwcml0ZSBNaXhpblxuQG1peGluIHNwcml0ZSgkc3ByaXRlLCAkZGlzcGxheTogYmxvY2spIHtcbiAgQGluY2x1ZGUgc3ByaXRlLXBvc2l0aW9uKCRzcHJpdGUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiAkZGlzcGxheTtcbiAgQGluY2x1ZGUgc3ByaXRlLXdpZHRoKCRzcHJpdGUpO1xuICBAaW5jbHVkZSBzcHJpdGUtaGVpZ2h0KCRzcHJpdGUpO1xufVxuXG4vLyBAZXh0ZW5kIHRoZXNlIHRvIHB1bGwgaW4gdGhlIGJhY2tncm91bmQgaW1hZ2Vcbi5zcHJpdGUtc2FtcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2Fzc2V0cy9pbWFnZXMvc3ByaXRlcy9zcHJpdGUtc2FtcGxlLnBuZycpO1xuICB9XG5AbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogNzJkcGkpIHtcbi5zcHJpdGUtc2FtcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2Fzc2V0cy9pbWFnZXMvc3ByaXRlcy9zcHJpdGUtc2FtcGxlQDJ4LnBuZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTkwcHggMTAwcHg7XG4gIH1cbn1cblxuIiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVYVEVORFMgJiBQTEFDRUhPTERFUlNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIE1heC13aWR0aCBDb250YWluZXIgLSB5b3UgY2FuIGFsc28gdXNlIGNsYXNzIC5yb3cgdG8gYWNjb21wbGlzaCB0aGUgc2FtZSBpZiB5b3UgYXJlIHVzaW5nIHRoZSByZXNwb25zaXZlIGdyaWQuXG4lcm93IHtcblx0QGluY2x1ZGUgcm93O1xuXHRAaW5jbHVkZSBjb250YWluZXI7XG5cdEBpbmNsdWRlIGNmO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWlzYyAlcGxhY2Vob2xkZXJzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4lbW9kdWxlLXBhZGRpbmcge1xuXHRwYWRkaW5nLXRvcDogcmVtKDkwcHgpO1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtKDkwcHgpO1xufVxuXG4ldGV4dC1zaGFkb3cge1xuXHR0ZXh0LXNoYWRvdzogMHB4IDBweCA3cHggcmdiYSgjMDAwLCAuNTIpO1xufVxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYXJhZ3JhcGggU2l6aW5nXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ldHlwZS1tZWRpdW0ge1xuXHRAaW5jbHVkZSB0eXBlKDE2LCAyNCk7XG59XG5cbiV0eXBlLWxhcmdlIHtcblx0QGluY2x1ZGUgdHlwZSgxNywgMjgpO1xuXHRAaW5jbHVkZSBtcShsYXJnZSkge1xuXHRcdEBpbmNsdWRlIHR5cGUoMjAsIDMzKTtcblx0fVxufVxuXG4lcDEge1xuXHRAaW5jbHVkZSBzZXRmb250KGRpc3RyaWN0KTtcblx0QGluY2x1ZGUgdHlwZSgxOCwgMjYpO1xufVxuXG4lcDIge1xuXHRAaW5jbHVkZSBzZXRmb250KGRpc3RyaWN0KTtcblx0QGluY2x1ZGUgdHlwZSgxMiwgMTgpO1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR2xvYmFsIEhlYWRsaW5lc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gJWhzaXplLXNtYWxsIHtcbi8vIFx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG4vLyBcdFx0QGluY2x1ZGUgdHlwZSgxOSwgMjgpO1xuLy8gXHR9XG4vLyB9XG5cbi8vICVoc2l6ZS1tZWRpdW0ge1xuLy8gXHRAaW5jbHVkZSB0eXBlKDE5LCAyOCk7XG4vLyBcdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuLy8gXHRcdEBpbmNsdWRlIHR5cGUoMjgsIDQwKTtcbi8vIFx0fVxuLy8gfVxuXG4vLyAlaHNpemUtbGFyZ2Uge1xuLy8gXHRAaW5jbHVkZSB0eXBlKDIzLCAzMyk7XG4vLyBcdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuLy8gXHRcdEBpbmNsdWRlIHR5cGUoMzMsIDQ4KTtcbi8vIFx0fVxuLy8gfVxuXG4laDEge1xuXHQvLyBAaW5jbHVkZSBzZXRmb250KHppZ2d1cmF0LCB3ZWlnaHQpO1xuXHRmb250LXNpemU6IHJlbSgzNnB4KTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRAaW5jbHVkZSBtcShzbWFsbCkge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDQ4cHgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobGFyZ2UpIHtcblx0XHRmb250LXNpemU6IHJlbSg3MnB4KTtcblx0fVxufVxuXG4laGVyby1oMiB7XG5cdEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcblx0Zm9udC1zaXplOiByZW0oMjRweCk7XG5cblx0QGluY2x1ZGUgbXEoc21hbGwpIHtcblx0XHRmb250LXNpemU6IHJlbSgyOHB4KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGxhcmdlKSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMzJweCk7XG5cdH1cbn1cblxuJWg0IHtcblx0QGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuXHRmb250LXNpemU6IHJlbSgxOHB4KTtcbn1cblxuJWg1IHtcblx0QGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuXHRmb250LXNpemU6IHJlbSgxNHB4KTtcbn1cblxuJWZlYXR1cmVkLWhlYWRpbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIHNldGZvbnQoJ2tub2Nrb3V0Jyk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiByZW0oMjhweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1cHgpO1xuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMzJweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMzZweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oNDJweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEocHJpbnQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjRweCk7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICBzcGFuLmxlZnQsXG4gICAgc3Bhbi5yaWdodCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgc3Bhbi50aXRsZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3Iod2hpdGUpO1xuICAgIH1cblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHRhbik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbn1cblxuJWZlYXR1cmVkLWhlYWRpbmctbWVkaXVtIHtcbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2tub2Nrb3V0Jyk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgzMnB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzZweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShwcmludCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3Bhbi5sZWZ0LFxuICAgICAgICBzcGFuLnJpZ2h0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuLnRpdGxlIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3Iod2hpdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IodGFuKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFd5c2l3eWcgU3R5bGVzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ld3lzaXd5ZyB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcblxuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlci10aW55O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlci1oZWFkaW5ncztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlci10aW55O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlci1zbWFsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwLFxuICAgIGxpIHtcbiAgICAgICAgQGV4dGVuZCAldHlwZS1tZWRpdW07XG4gICAgfVxuXG4gICAgdWwsXG4gICAgb2wge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMzBweCk7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wLXNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgfVxufSIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZS1Vc2FibGUgRU0gJiBSRU0gRnVuY3Rpb25zXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AZnVuY3Rpb24gZW0oJHB4LXZhbHVlcywgJGZvbnQtc2l6ZTogJGJvZHktZm9udC1zaXplKSB7XG5cdC8vIENyZWF0ZSBhbiBlbXB0eSBsaXN0IHRoYXQgd2UgY2FuIGR1bXAgdmFsdWVzIGludG9cblx0JGVtLXZhbHVlczogKCk7XG5cdEBlYWNoICR2YWx1ZSBpbiAkcHgtdmFsdWVzIHtcblx0XHQvLyBDaGVjayB0byBzZWUgaWYgdmFsdWUgaXMgMCwgYXV0bywgb3IgaW5oZXJpdGVkXG5cdFx0Ly8gSWYgc28sIGRvIG5vdGhpbmcgYW5kIG91dHB1dCB2YWx1ZVxuXHRcdEBpZiAkdmFsdWUgPT0gMCBvciAkdmFsdWUgPT0gYXV0byBvciAkdmFsdWUgPT0gaW5oZXJpdCB7XG5cdFx0XHQkZW0tdmFsdWVzOiBhcHBlbmQoJGVtLXZhbHVlcywgJHZhbHVlKTtcblx0XHQvLyBJZiB0aGUgdmFsdWUgaXMgYSBwaXhlbCwgY29udmVydCB0byBlbSB2YWx1ZVxuXHRcdH0gQGVsc2UgaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuXHRcdFx0JGVtLXZhbHVlczogYXBwZW5kKCRlbS12YWx1ZXMsICN7KCR2YWx1ZS8kZm9udC1zaXplKX1lbSk7XG5cdFx0Ly8gRm9yIGV2ZXJ5dGhpbmcgZWxzZSwga2VlcCBhcyBpc1xuXHRcdH0gQGVsc2Uge1xuXHRcdFx0JGVtLXZhbHVlczogYXBwZW5kKCRlbS12YWx1ZXMsICR2YWx1ZSk7XG5cdFx0fVxuXHR9XG5cdEByZXR1cm4gJGVtLXZhbHVlcztcbn1cblxuQGZ1bmN0aW9uIHJlbSgkcHgtdmFsdWVzLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcblx0Ly8gQ3JlYXRlIGFuIGVtcHR5IGxpc3QgdGhhdCB3ZSBjYW4gZHVtcCB2YWx1ZXMgaW50b1xuXHQkcmVtLXZhbHVlczogKCk7XG5cdEBlYWNoICR2YWx1ZSBpbiAkcHgtdmFsdWVzIHtcblx0XHQvLyBDaGVjayB0byBzZWUgaWYgdmFsdWUgaXMgMCwgYXV0bywgb3IgaW5oZXJpdGVkXG5cdFx0Ly8gSWYgc28sIGRvIG5vdGhpbmcgYW5kIG91dHB1dCB2YWx1ZVxuXHRcdEBpZiAkdmFsdWUgPT0gMCBvciAkdmFsdWUgPT0gYXV0byBvciAkdmFsdWUgPT0gaW5oZXJpdCB7XG5cdFx0XHQkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAkdmFsdWUpO1xuXHRcdC8vIElmIHRoZSB2YWx1ZSBpcyBhIHBpeGVsLCBjb252ZXJ0IHRvIGVtIHZhbHVlXG5cdFx0fSBAZWxzZSBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG5cdFx0XHQkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAjeygkdmFsdWUvJGZvbnQtc2l6ZSl9cmVtKTtcblx0XHQvLyBGb3IgZXZlcnl0aGluZyBlbHNlLCBrZWVwIGFzIGlzXG5cdFx0fSBAZWxzZSB7XG5cdFx0XHQkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAkdmFsdWUpO1xuXHRcdH1cblx0fVxuXHRAcmV0dXJuICRyZW0tdmFsdWVzO1xufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUWVBFIFNFVFRJTkcgTUlYSU5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEZvciBlYXNpZXIgd3JpdGluZyBvZiBmb250IHNpemVzIGFuZCBsaW5lLWhlaWdodHMsIHJlbGF0aXZlbHkuXG4vLyBUaGlzIGNhbiBiZSB1c2VkIGZvciB3cml0aW5nIGJhc2Ugc3R5bGVzLCBidXQgYWxzbyBzcGVjaWZpYyBvbmVzIGlmIG5lY2Vzc2FyeS5cblxuJHJvb3QtZm9udC1zaXplOiAxMCFkZWZhdWx0O1xuXG5cbkBtaXhpbiB0eXBlKCR0YXJnZXQsICRsaW5lLWhlaWdodCwgJGNvbnRleHQ6IG51bGwpIHtcblxuICAvLyBJcyB0aGUgdGFyZ2V0IHZhbHVlIHVuaXRsZXNzP1xuICBAaWYgdW5pdGxlc3MoJHRhcmdldCkge1xuXG4gICAgLy8gSXMgaXQgcmVseWluZyBvbiBhIGNvbnRleHQgdmFsdWU/XG4gICAgQGlmICRjb250ZXh0ICE9IG51bGwge1xuXG4gICAgICAvLyBJcyB0aGUgY29udGV4dCB1bml0bGVzcz8gSWYgc28sIHdyaXRlIG91dCB0aGUgdGFyZ2V0IHZhbHVlIGluIGVtcy5cbiAgICAgIEBpZiB1bml0bGVzcygkY29udGV4dCkge1xuICAgICAgICBmb250LXNpemU6ICgkdGFyZ2V0IC8gJGNvbnRleHQpICogMWVtO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBlcnJvciAnWW91ciB2YWx1ZSBmb3IgYCRjb250ZXh0YCBpcyBub3QgdW5pdGxlc3MuJztcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gV3JpdGUgb3V0IHRoZSB0YXJnZXQgdmFsdWUgaW4gcmVtcy5cbiAgICBAZWxzZSB7XG4gICAgICBmb250LXNpemU6ICgkdGFyZ2V0IC8gJHJvb3QtZm9udC1zaXplKSAqIDFyZW07XG4gICAgfVxuXG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciAnWW91ciB2YWx1ZSBmb3IgYCR0YXJnZXRgIGlzIG5vdCB1bml0bGVzcy4nO1xuICB9XG5cbiAgLy8gTGluZSBIZWlnaHQgc2hvdWxkIGJlIHVuaXRsZXNzLlxuICBAaWYgdW5pdGxlc3MoJGxpbmUtaGVpZ2h0KSB7XG4gICAgLy8gTGluZSBoZWlnaHQgc2hvdWxkIGFsbW9zdCBhbHdheXMgYmUgdW5pdGxlc3MsIGp1c3Qgc2ltcGxlIG1hdGguXG4gICAgbGluZS1oZWlnaHQ6ICgkbGluZS1oZWlnaHQgLyAkdGFyZ2V0KTtcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yICdZb3VyIHZhbHVlIGZvciBgJGxpbmUtaGVpZ2h0YCBpcyBub3QgdW5pdGxlc3MuJztcbiAgfVxuXG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTYW1wbGUgVXNhZ2Vcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEV4YW1wbGU6XG5cbi8vIGgxIHtcbi8vICBAaW5jbHVkZSB0eXBlKDMyLCAzNik7XG4vLyB9XG5cbi8vIE91dHB1dDpcblxuLy8gaDEge1xuLy8gIGZvbnQtc2l6ZTogMnJlbTtcbi8vICBsaW5lLWhlaWdodDogMS4xMjU7XG4vLyB9IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRZUEVcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQc2V1ZG9cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbjo6c2VsZWN0aW9uIHtcblx0YmFja2dyb3VuZDogIzc3Nztcblx0Y29sb3I6ICNmZmY7XG5cdHRleHQtc2hhZG93OiBub25lO1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR2VuZXJhbFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaHRtbCB7XG5cdGZvbnQtc2l6ZTogNjIuNSU7XG59XG5cbmJvZHkge1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRjb2xvcjogc2V0Y29sb3IoYnJvd24sIGRhcmspO1xuXHRAaW5jbHVkZSBzZXRmb250KGRlZmF1bHQpO1xuXHRmb250LXNpemU6ICRib2R5LWZvbnQtc2l6ZTtcblx0QGluY2x1ZGUgZm9udC1zbW9vdGhpbmc7XG59XG5cbmEge1xuXHRjb2xvcjogc2V0Y29sb3IocmVkKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMsXG5cdCY6YWN0aXZlIHtcblx0XHRjb2xvcjogc2V0Y29sb3IocmVkLCBkYXJrKTtcblx0fVxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG59XG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhlYWRsaW5lc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdGEge1xuXHRcdGNvbG9yOiBzZXRjb2xvcihicm93bik7XG5cdH1cbn1cblxuaDIge1xuXHRmb250LXNpemU6IHJlbSg0OHB4KTtcblx0QGluY2x1ZGUgc2V0Zm9udChrbm9ja291dCwgbm9ybWFsKTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Y29sb3I6IHNldGNvbG9yKGJyb3duKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0bGV0dGVyLXNwYWNpbmc6IDFweDtcblxuXHRAaW5jbHVkZSBtcShzbWFsbCkge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDQ4cHgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobGFyZ2UpIHtcblx0XHRmb250LXNpemU6IHJlbSg2MHB4KTtcblx0fVxufVxuXG5oMyB7XG5cdGZvbnQtc2l6ZTogcmVtKDM2cHgpO1xuXHRAaW5jbHVkZSBzZXRmb250KGtub2Nrb3V0LCBub3JtYWwpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRjb2xvcjogc2V0Y29sb3IoYnJvd24pO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXG5cdEBpbmNsdWRlIG1xKHNtYWxsKSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMzZweCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsYXJnZSkge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDM2cHgpO1xuXHR9XG5cbn1cblxuaDQge1xuXHRmb250LXNpemU6IHJlbSgxOHB4KTtcblx0QGluY2x1ZGUgc2V0Zm9udChcImRpc3RyaWN0IGJvbGRcIiwgbm9ybWFsKTtcblx0Ly8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Y29sb3I6IHNldGNvbG9yKGJyb3duKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0bGV0dGVyLXNwYWNpbmc6IDBweDtcblxuXHRAaW5jbHVkZSBtcShzbWFsbCkge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobGFyZ2UpIHtcblx0XHRmb250LXNpemU6IHJlbSgyNHB4KTtcblx0fVxufVxuXG5oNSB7XG5cdGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuXHRAaW5jbHVkZSBzZXRmb250KFwiZGlzdHJpY3QgYm9sZFwiLCBub3JtYWwpO1xuXHQvLyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRjb2xvcjogc2V0Y29sb3IoYnJvd24pO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXG5cdEBpbmNsdWRlIG1xKHNtYWxsKSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMTRweCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsYXJnZSkge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuXHR9XG59XG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRleHQgQ29tcG9uZW50c1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxucCxcbmRsLFxuYWRkcmVzcyB7XG5cdEBleHRlbmQgJXR5cGUtbWVkaXVtO1xufVxuXG5wLFxubGksXG5kdCxcbmRkIHtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG51bCB7XG5cdEBleHRlbmQgJW5ha2VkLWxpc3Q7XG59XG5cbmxpIHtcblx0bGluZS1oZWlnaHQ6IDE7XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBFeHRlbmQgV1lTSVdZRyBTdHlsZXNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi53eXNpd3lnIHtcblx0QGV4dGVuZCAld3lzaXd5Zztcbn1cbiIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBWQVJJQUJMRVNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSb290IEZvbnQgU2l6aW5nXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyA8aHRtbD4gYW5kIDxib2R5PiBmb250IHNpemVzXG4kaHRtbC1mb250LXNpemU6IDYyLjUlO1xuJGJvZHktZm9udC1zaXplOiAxNnB4O1xuJGVtLWJhc2U6IDE2O1xuXG4vLyBNdWx0aXBsaWVyIGZvciBSRU0gTWl4aW5cbi8vIEl0IG5lZWRzIHRvIHN0YXkgdGhlIHNhbWUgc2l6ZSBhcyA8aHRtbD4gZm9udCBzaXplLCBidXQgaW4gcGl4ZWxzXG4kYmFzZS1mb250LXNpemU6IDEwcHggIWRlZmF1bHQ7XG5cbi8vIFdoZXRoZXIgdG8gb3V0cHV0IGZhbGxiYWNrIHZhbHVlcyBpbiBweCB3aGVuIG91dHB1dHRpbmcgcmVtcy5cbiRyZW0td2l0aC1weC1mYWxsYmFjazogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEltcG9ydCB1bml0IGZ1bmN0aW9uXG5AaW1wb3J0IFwiLi4vdXRpbHMvZnVuY3Rpb25zL3VuaXRzXCI7XG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEdlbmVyYWxcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEd1dHRlclxuJGd1dHRlci10aW55Olx0XHRyZW0oMTBweCk7XG4kZ3V0dGVyLXNtYWxsOiAgICAgIHJlbSgyMHB4KTtcbiRndXR0ZXItaGVhZGluZ3M6ICAgcmVtKDMwcHgpO1xuJGd1dHRlcjogICAgICAgICAgICByZW0oNDBweCk7XG4kZ3V0dGVyLWxhcmdlOiAgICAgIHJlbSg3NXB4KTtcblxuLy8gUm93cyBNYXgtV2lkdGhcbiRtYXgtd2lkdGg6ICAgICAgICAgcmVtKDEyMDBweCk7XG4kbWF4LXdpZHRoLXNtYWxsOiAgIHJlbSg2ODBweCk7XG4kbWF4LXdpZHRoLW1lZGl1bTogIHJlbSg5ODBweCk7XG4kbWF4LXdpZHRoLWxhcmdlOiAgIHJlbSgxNDQwcHgpO1xuXG4vLyBBbmltYXRpb25cbiRjdWJpYzogICAgICAgICAgICAgY3ViaWMtYmV6aWVyKDAuNjMsIDAuNjQsIDAuMywgMSk7XG4kdGltaW5nOiAgICAgICAgICAgIDM1MG1zO1xuJHRpbWluZy1mYXN0OiAgICAgICAyMDBtcztcbiR0aW1pbmctc2xvdzogICAgICAgNTAwbXM7XG5cbi8vIFByaW50XG4kcHJpbnQtbWVkaWE6ICAgICAgIGZhbHNlICFkZWZhdWx0O1xuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNZWRpYSBRdWVyeSBTZXR0aW5nc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTWF4IFRhYmxldCBEZXZpY2UgV2lkdGhcbiRtcS10YWJsZXQtbGFuZHNjYXBlOiBlbSgxMjgwcHgpO1xuXG4vLyBNUSBWYXJpYWJsZXNcbiRtcS10aW55OiAgICAgICAgICAgNDAwcHg7XG4kbXEtbWluaTogICAgICAgICAgIDQ4MHB4O1xuJG1xLXNtYWxsOiAgICAgICAgICA2MDBweDtcbiRtcS1tZWRpdW06ICAgICAgICAgNzY4cHg7XG4kbXEtbGFyZ2U6ICAgICAgICAgIDk2MHB4O1xuJG1xLXhsYXJnZTogICAgICAgICAxMjIwcHg7XG4kbXEteHhsYXJnZTogICAgICAgIDE0NDBweDtcbiRtcS14eHhsYXJnZTogICAgICAgMTY0MHB4O1xuXG4vLyBNZWRpYSBRdWVyeSAtIG1pbi13aWR0aFxuJG1xLW1pbi10aW55OiAgICAgICBlbSgkbXEtdGlueSk7XG4kbXEtbWluLW1pbmk6ICAgICAgIGVtKCRtcS1taW5pKTtcbiRtcS1taW4tc21hbGw6ICAgICAgZW0oJG1xLXNtYWxsKTtcbiRtcS1taW4tbWVkaXVtOiAgICAgZW0oJG1xLW1lZGl1bSk7XG4kbXEtbWluLWxhcmdlOiAgICAgIGVtKCRtcS1sYXJnZSk7XG4kbXEtbWluLXhsYXJnZTogICAgIGVtKCRtcS14bGFyZ2UpO1xuJG1xLW1pbi14eGxhcmdlOiAgICBlbSgkbXEteHhsYXJnZSk7XG4kbXEtbWluLXh4eGxhcmdlOiAgIGVtKCRtcS14eHhsYXJnZSk7XG5cbi8vIE1lZGlhIFF1ZXJ5IC0gbWF4LXdpZHRoXG4kbXEtbWF4LXRpbnk6ICAgICAgIGVtKCRtcS1taW5pIC0gMXB4KTtcbiRtcS1tYXgtbWluaTogICAgICAgZW0oJG1xLXNtYWxsIC0gMXB4KTtcbiRtcS1tYXgtc21hbGw6ICAgICAgZW0oJG1xLW1lZGl1bSAtIDFweCk7XG4kbXEtbWF4LW1lZGl1bTogICAgIGVtKCRtcS1sYXJnZSAtIDFweCk7XG4kbXEtbWF4LWxhcmdlOiAgICAgIGVtKCRtcS14bGFyZ2UgLSAxcHgpO1xuJG1xLW1heC14bGFyZ2U6ICAgICBlbSgkbXEteHhsYXJnZSAtIDFweCk7XG4kbXEtbWF4LXh4bGFyZ2U6ICAgIGVtKCRtcS14eHhsYXJnZSAtIDFweCk7XG5cbi8vIE1lZGlhIFF1ZXJ5IExpc3QgTWFwXG4kbXE6IChcblx0J3RpbnknICAgICAgICAgIDogKCBtaW4td2lkdGg6ICRtcS1taW4tdGlueSApLFxuXHQnbWluaScgICAgICAgICAgOiAoIG1pbi13aWR0aDogJG1xLW1pbi1taW5pICksXG5cdCdzbWFsbCcgICAgICAgICA6ICggbWluLXdpZHRoOiAkbXEtbWluLXNtYWxsICksXG5cdCdtZWRpdW0nICAgICAgICA6ICggbWluLXdpZHRoOiAkbXEtbWluLW1lZGl1bSApLFxuXHQnbGFyZ2UnICAgICAgICAgOiAoIG1pbi13aWR0aDogJG1xLW1pbi1sYXJnZSApLFxuXHQneGxhcmdlJyAgICAgICAgOiAoIG1pbi13aWR0aDogJG1xLW1pbi14bGFyZ2UgKSxcblx0J3h4bGFyZ2UnICAgICAgIDogKCBtaW4td2lkdGg6ICRtcS1taW4teHhsYXJnZSApLFxuXHQneHh4bGFyZ2UnICAgICAgOiAoIG1pbi13aWR0aDogJG1xLW1pbi14eHhsYXJnZSApLFxuXG5cdCdtYXgtdGlueScgICAgICA6ICggbWF4LXdpZHRoOiAkbXEtbWF4LXRpbnkgKSxcblx0J21heC1taW5pJyAgICAgIDogKCBtYXgtd2lkdGg6ICRtcS1tYXgtbWluaSApLFxuXHQnbWF4LXNtYWxsJyAgICAgOiAoIG1heC13aWR0aDogJG1xLW1heC1zbWFsbCApLFxuXHQnbWF4LW1lZGl1bScgICAgOiAoIG1heC13aWR0aDogJG1xLW1heC1tZWRpdW0gKSxcblx0J21heC1sYXJnZScgICAgIDogKCBtYXgtd2lkdGg6ICRtcS1tYXgtbGFyZ2UgKSxcblx0J21heC14bGFyZ2UnICAgIDogKCBtYXgtd2lkdGg6ICRtcS1tYXgteGxhcmdlICksXG5cdCdtYXgteHhsYXJnZScgICA6ICggbWF4LXdpZHRoOiAkbXEtbWF4LXh4bGFyZ2UgKSxcblxuXHQncHJpbnQnICAgICAgICAgOiAoIHByaW50ICksXG5cdCd0YWItcG9ydCcgICAgICA6ICggc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogJG1xLW1pbi1tZWRpdW0pIGFuZCAobWF4LWRldmljZS13aWR0aDogJG1xLW1heC1tZWRpdW0pIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSApLFxuXHQndGFiLWxhbmQnICAgICAgOiAoIHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6ICRtcS1taW4tbWVkaXVtKSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6ICRtcS10YWJsZXQtbGFuZHNjYXBlKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpICksXG5cblx0J2Jvb3RzdHJhcC1zbWFsbCdcdDogKCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtcS1taW4tbWVkaXVtKSBhbmQgKG1heC13aWR0aDogZW0oOTkxcHgpICkpXG4pO1xuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBaLUluZGV4XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vYmV0dGVyLXNvbHV0aW9uLW1hbmFnaW5nLXotaW5kZXgtc2Fzcy9cbi8vIGh0dHA6Ly92aWdldC5jb20vZXh0ZW5kL3Nhc3MtbWFwcy1hbmQtei1pbmRleGVzXG4kei1sYXllcnM6IChcblx0J3BpdCcgICAgICAgICA6IC0xLFxuXHQnZGVmYXVsdCcgICAgIDogMSxcblx0J2Zvb3RlcicgICAgICA6IDUsXG5cdCdoZWFkZXInICAgICAgOiAxMCxcblx0J25hdicgICAgICAgICA6IDIwLFxuXHQnYW5ub3VuY2UnICAgIDogMzAsXG5cdCdtb2RhbCcgICAgICAgOiA0MCxcblx0J292ZXJsYXknICAgICA6IDUwXG4pO1xuIiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZPUk0gRUxFTUVOVFNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBEZWZhdWx0IFN0eWxlc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaW5wdXQsXG50ZXh0YXJlYSxcbnNlbGVjdCB7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXHRib3JkZXI6IHJlbSgzcHgpIHNvbGlkIHNldGNvbG9yKHRhbik7XG5cdHBhZGRpbmc6IHJlbSg1cHggMTBweCk7XG5cdG1hcmdpbjogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xufVxuXG5sYWJlbCB7XG5cdGNvbG9yOiBzZXRjb2xvcihicm93bik7XG59XG5cbmlucHV0LFxudGV4dGFyZWEge1xuXHRjb2xvcjogc2V0Y29sb3IoYnJvd24pO1xufVxuXG4vLyBBZGQgdGhlIGNvcnJlY3QgYXBwZWFyYW5jZSwgYnV0IGFsc28gYWRqdXN0IHRoZSBoZWlnaHQgdG8gZml0IHdpdGggb3VyIGlucHV0IGZpZWxkcy5cbi8vIFRoaXMgb25seSBtYXR0ZXJzIGZvciBhcHBsZSBkZXZpY2VzIChoZWlnaHQpXG5zZWxlY3Qge1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRoZWlnaHQ6IHJlbSgzMHB4KTtcblx0cGFkZGluZzogcmVtKDVweCAxMHB4KTtcbn1cblxuLy8gTWFrZSBzdXJlIHdlIGFyZSBub3QgYWRkaW5nIHRoZSBzZWxlY3QgaGVpZ2h0IHRvIG11bHRpIHNlbGVjdFxuc2VsZWN0W211bHRpcGxlXSB7XG5cdGhlaWdodDogYXV0bztcbn1cblxuLy8gU3R5bGVzIHJlbGV2YW50IHRvIGNoZWNrYm94ZXNcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG5cdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbi8vIFN0eWxlcyByZWxldmFudCB0byByYWRpbyBidXR0b25zXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuXHR2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG59XG5cbi8vIExhYmVsIHNwZWNpZmljIHN0eWxpbmdcbmxhYmVsIHtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLy8gRm9jdXMgc3BlY2lmaWMgc3R5bGluZ1xuaW5wdXQ6Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGJvcmRlci1jb2xvcjogc2V0Y29sb3IodGFuLCBkYXJrKTtcblx0Y29sb3I6IHNldGNvbG9yKGJyb3duKTtcbn1cblxuLy8gU3VibWl0IGlucHV0IHNwZWNpZmljIHN0eWxpbmdcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuXHRAZXh0ZW5kICVuYWtlZC1idXR0b247XG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cdGhlaWdodDogYXV0bztcbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFBsYWNlaG9sZGVyc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnBsYWNlaG9sZGVyIHtcblx0Y29sb3I6ICMwMDA7XG59XG5cbmlucHV0LFxudGV4dGFyZWEge1xuXHRAaW5jbHVkZSBwbGFjZWhvbGRlcigpIHtcblx0XHRjb2xvcjogIzAwMDtcblx0fVxufVxuXG5pbnB1dDpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcblx0QGluY2x1ZGUgcGxhY2Vob2xkZXIoKSB7XG5cdFx0Y29sb3I6IGJsdWU7XG5cdH1cbn1cblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQnJvd3NlciBTcGVjaWZpY1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gUmVtb3ZlIGV4dHJhIHNwYWNpbmcgdGhhdCBGaXJlZm94IGFkZHMgdG8gYnV0dG9uc1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiAwXG59XG5cbi8vIFJlbW92ZSBzcGlubmVyIGZyb20gdHlwZT1cIm51bWJlclwiXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdG1hcmdpbjogMDtcbn1cblxuaW5wdXRbdHlwZT1udW1iZXJdIHtcblx0LW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG59XG5cbi8vIFJlc2V0IGFsbCBzdHlsaW5nIGZvciBpbnB1dCBhbmQgdGV4dGFyZWEsIGhhbmR5IGZvciBtb2JpbGUgZGV2aWNlc1xuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJ1cmxcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbnRleHRhcmVhIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHQtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUExBQ0VIT0xERVIgTUlYSU5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBleHRlbmQgJXBsYWNlaG9sZGVyIHsuLn1cblxuQG1peGluIHBsYWNlaG9sZGVyIHtcblx0Jjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cblx0JjotbW96LXBsYWNlaG9sZGVyIHtcblx0XHRAY29udGVudDtcblx0fVxuXHQmOjotbW96LXBsYWNlaG9sZGVyIHtcblx0XHRAY29udGVudDtcblx0fVxuXHQmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWFpbiAvIEdsb2JhbCAvIEhlbHBlcnNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uaGlkZS1tb2JpbGUge1xuICAgIEBpbmNsdWRlIG1xKG1heC1tZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLnJvb3Qge1xuICAgIG1hcmdpbi10b3A6IHJlbSg1M3B4KTtcblxuICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgxMTdweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgxMjFweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEocHJpbnQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAmLmhlYWRsZXNzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG59XG5cbi5jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICBAaW5jbHVkZSByb3c7XG5cbiAgICBAaW5jbHVkZSBtcSh4eGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIHJvdyhsYXJnZSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEocHJpbnQpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG59XG5cbi5jb250YWluZXItbWVkaXVtIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgQGluY2x1ZGUgcm93O1xuXG4gICAgQGluY2x1ZGUgbXEocHJpbnQpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG59XG5cbi5pbnRyby1zZWN0aW9uIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiByZW0oNjAwcHgpO1xuICAgIEBpbmNsdWRlIGNmO1xuXG4gICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0oOTAwcHgpO1xuICAgIH1cblxuICAgIC5pbnRyby1oZWFkaW5nIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDMwcHggMjBweCk7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoa25vY2tvdXQpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgzNnB4KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNDJweCk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDQwcHgpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgyNXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSg0OHB4KTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0oNTBweCk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDMwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmludHJvLWNvcHkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmN0YS13cmFwIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBjZjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDUwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmN0YSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oMTBweCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oMTBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDE1cHgpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgxNXB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmN0YS1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMTVweCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIC8vIFRyaWFuZ2xlXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDVweCk7XG4gICAgICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgc2V0Y29sb3IocmVkKTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMTBweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jdGEtbGluay1hbHQge1xuICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcblxuICAgICYucmFycm93OmFmdGVyLFxuICAgICYubGFycm93OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJi5yYXJyb3cge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oNXB4KTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgc2V0Y29sb3IocmVkKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSgxMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubGFycm93IHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oNXB4KTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHNldGNvbG9yKHJlZCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDEwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmVhdHVyZWQtaGVhZGluZyB7XG4gICAgQGV4dGVuZCAlZmVhdHVyZWQtaGVhZGluZztcbn1cblxuLmZlYXR1cmVkLWhlYWRpbmctbWVkaXVtIHtcbiAgICBAZXh0ZW5kICVmZWF0dXJlZC1oZWFkaW5nLW1lZGl1bTtcbn1cblxuLmNlbnRlcmVkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi52aCB7XG4gICAgQGV4dGVuZCAldmlzdWFsbHktaGlkZGVuO1xufVxuXG50YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgQGluY2x1ZGUgbXEobWF4LXNtYWxsKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgICB0aGVhZCwgdGJvZHksIHRoLCB0ZCwgdHIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBIZWFkZXJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5tYWluLWhlYWRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDIwO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogcmVtKDUycHgpO1xuICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHRhbiwgbGlnaHQpO1xuXG4gICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgaGVpZ2h0OiByZW0oMTE4cHgpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgaGVpZ2h0OiByZW0oMTIycHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKHByaW50KSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLnJvdyB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgIEBleHRlbmQgJXJvdztcbiAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWFpbi1sb2dvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjA7XG4gICAgdG9wOiByZW0oMTBweCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiByZW0oMTE1cHgpO1xuXG4gICAgQGluY2x1ZGUgbXEobWluaSkge1xuICAgICAgICB3aWR0aDogcmVtKDEzMHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICB3aWR0aDogcmVtKDE0NXB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IHJlbSgxNjBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgdG9wOiByZW0oMjVweCk7XG4gICAgICAgIHdpZHRoOiByZW0oMTkwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICB0b3A6IHJlbSgzMHB4KTtcbiAgICAgICAgd2lkdGg6IHJlbSgyMDBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoeHhsYXJnZSkge1xuICAgICAgICB0b3A6IHJlbSgyNXB4KTtcbiAgICAgICAgd2lkdGg6IHJlbSgyNTBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEocHJpbnQpIHtcbiAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICB3aWR0aDogcmVtKDEwMHB4KTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgICAgQGV4dGVuZCAldmlzdWFsbHktaGlkZGVuO1xuICAgIH1cbn1cblxuLmdsb2JhbC1zZWFyY2gge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTgxcHgpO1xuICAgIG1heC13aWR0aDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogcmVtKDNweCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtcyAkY3ViaWMsIG1heC13aWR0aCA0MDBtcyAkY3ViaWM7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcih3aGl0ZSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBpbmNsdWRlIG1xKCdsYXJnZScpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNDY1cHgpO1xuICAgIH1cblxuICAgIC5zZWFyY2gtaW5wdXQsXG4gICAgLnNlYXJjaC1idXR0b24ge1xuICAgICAgICBoZWlnaHQ6IHJlbSg0NnB4KTtcbiAgICB9XG5cbiAgICAuc2VhcmNoLWlucHV0IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTNweCk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTtcbiAgICAgICAgcGFkZGluZzogcmVtKDMuNXB4IDEwcHgpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oNDBweCk7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihicm93bik7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJ2xhcmdlJykge1xuICAgICAgICAgICAgd2lkdGg6IHJlbSg0MjBweCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoc2V0Y29sb3IoYnJvd24pLCAuNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzZWFyY2ggYnV0dG9uXG4gICAgLnNlYXJjaC1idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMnB4KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgwIDEwcHgpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgQGV4dGVuZCAlbmFrZWQtYnV0dG9uO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNtb290aGluZztcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBleHRlbmQgJXZpc3VhbGx5LWhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0b3A6IHJlbSgtMXB4KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzeW1ib2xzKCdzZWFyY2gnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gtb3BlbiAmIHtcbiAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zICRjdWJpYyAyMDBtcywgbWF4LXdpZHRoIDQwMG1zICRjdWJpYztcblxuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDE4MXB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcSgnbGFyZ2UnKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ2NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlYXJjaC1pbnB1dCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHNldGNvbG9yKHRhbik7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgNTAwbXMgJGN1YmljIDQwMG1zO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VhcmNoLWxhYmVsIHtcbiAgICBAZXh0ZW5kICV2aXN1YWxseS1oaWRkZW47XG59XG5cbi5tb2JpbGUtc2VhcmNoIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuc2VhcmNoLWlucHV0LFxuICAgIC5zZWFyY2gtYnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiByZW0oNDlweCk7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1pbnB1dC13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5zZWFyY2gtaW5wdXQge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgzLjVweCAxMHB4KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDQwcHgpO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IoYnJvd24pO1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBzZXRjb2xvcih0YW4sIGRhcmspO1xuXG4gICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKHNldGNvbG9yKGJyb3duKSwgLjUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gc2VhcmNoIGJ1dHRvblxuICAgIC5zZWFyY2gtYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgICBwYWRkaW5nOiByZW0oMCAxMHB4KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgIEBleHRlbmQgJW5ha2VkLWJ1dHRvbjtcbiAgICAgICAgLy8gd2lkdGg6IHJlbSg2NXB4KTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zbW9vdGhpbmc7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAZXh0ZW5kICV2aXN1YWxseS1oaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdG9wOiByZW0oLTJweCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3ltYm9scygnc2VhcmNoJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLW9wZW4gJiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxODFweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJ2xhcmdlJykge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0NjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2gtaW5wdXQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBzZXRjb2xvcih0YW4pO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDUwMG1zICRjdWJpYyA0MDBtcztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGb290ZXJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5tYWluLWZvb3RlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKGJyb3duKTtcblx0Y29sb3I6IHNldGNvbG9yKHRhbik7XG5cdEBpbmNsdWRlIHNldGZvbnQoZGlzdHJpY3QpO1xuXHRmb250LXNpemU6IHJlbSgxNHB4KTtcblxuXHRAaW5jbHVkZSBtcShwcmludCkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQucm93IHtcblx0XHRAZXh0ZW5kICVyb3c7XG5cdH1cblxuXHRhIHtcblx0XHRjb2xvcjogc2V0Y29sb3IodGFuKTtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGNvbG9yOiBzZXRjb2xvcih0YW4sIGRhcmspO1xuXHRcdH1cblx0fVxuXG5cdC5mb290ZXItbmF2LXdyYXAge1xuXHRcdHBhZGRpbmctdG9wOiByZW0oMTVweCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHJlbSgxNXB4KTtcblxuXHRcdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHJlbSgzMHB4KTtcblx0XHR9XG5cdH1cblxuXHQuZm9vdGVyLW5hdiB7XG5cdFx0bWFyZ2luLXRvcDogcmVtKDMwcHgpO1xuXHRcdEBleHRlbmQgJXJvdztcblxuXHRcdCYgPiB1bCB7XG5cdFx0XHRAaW5jbHVkZSBjZjtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG5cblx0XHRcdEBpbmNsdWRlIG1xKGxhcmdlKSB7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdH07XG5cdFx0fVxuXHR9XG5cblx0Lm5hdi1pdGVtIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oMTVweCk7XG5cdFx0cGFkZGluZy1yaWdodDogcmVtKDIwcHgpO1xuXG5cdFx0QGluY2x1ZGUgbXEoc21hbGwpIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbSgzMHB4KTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtcShsYXJnZSkge1xuXHRcdFx0cGFkZGluZy1yaWdodDogcmVtKDQwcHgpO1xuXHRcdH1cblx0fVxuXG5cdC5uYXYtbWFpbi1pdGVtIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtKDQwcHgpO1xuXHRcdHdpZHRoOiA1MCU7XG5cblx0XHRAaW5jbHVkZSBtcShzbWFsbCkge1xuXHRcdFx0QGluY2x1ZGUgbXEobWF4LW1lZGl1bSkge1xuXHRcdFx0XHR3aWR0aDogMzMuMzMzMzMzMyU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbXEobGFyZ2UpIHtcblx0XHRcdHdpZHRoOiBpbmhlcml0O1xuXHRcdH1cblx0fVxuXG5cdC5uYXYtbWFpbi1saW5rIHtcblx0XHRAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG5cdFx0Zm9udC1zaXplOiByZW0oMTZweCk7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0fVxuXHR9XG5cblx0Lm5hdi1kcm9wLWl0ZW0ge1xuXHRcdEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcblxuXHRcdGEge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHR9XG5cdH1cblxuXHQudG8tdG9wIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHQmOjpiZWZvcmUsXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0aGVpZ2h0OiByZW0oM3B4KTtcblx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDQwcHgpO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoYnJvd24sIGRhcmspO1xuXHRcdH1cblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdH1cblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdGE6aG92ZXIsXG5cdFx0YTpmb2N1cyB7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR9XG5cblx0XHRpIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKGJyb3duLCBiYXNlKTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDQwcHgpO1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHQgICAgdG9wOiAzcHg7XG5cdFx0XHQgICAgbGVmdDogMXB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRjb2xvcjogc2V0Y29sb3IodGFuLCBkYXJrKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5mb290ZXItaW5mby13cmFwIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihicm93biwgZGFyayk7XG5cdH1cblxuXHQuZm9vdGVyLWluZm8ge1xuXHRcdEBleHRlbmQgJXJvdztcblx0XHRjb2xvcjogc2V0Y29sb3Iod2hpdGUpO1xuXHRcdHBhZGRpbmctdG9wOiByZW0oMjBweCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHJlbSgxM3B4KTtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgIzQ0MjUxODtcblxuXHRcdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuXHRcdFx0cGFkZGluZy10b3A6IHJlbSgxM3B4KTtcblx0XHR9XG5cdH1cblxuXHQuY29weS1wcml2YWN5IHtcblx0XHRAaW5jbHVkZSBjZjtcblxuXHRcdEBpbmNsdWRlIG1xKG1heC1zbWFsbCkge1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtKDEwcHgpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRtYXJnaW4tdG9wOiByZW0oMTNweCk7XG5cdFx0fVxuXHR9XG5cblx0LmNvcHksXG5cdC5wcml2YWN5IHtcblx0XHRAaW5jbHVkZSBtcShtYXgtc21hbGwpIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdH1cblx0fVxuXG5cdC5jb3B5IHtcblx0XHRAaW5jbHVkZSBtcShtYXgtc21hbGwpIHtcblx0XHRcdHdpZHRoOiA2MCU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbXEoc21hbGwpIHtcblx0XHRcdGJyIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQucHJpdmFjeSB7XG5cdFx0QGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuXHRcdGNvbG9yOiBzZXRjb2xvcih0YW4pO1xuXG5cdFx0QGluY2x1ZGUgbXEobWF4LXNtYWxsKSB7XG5cdFx0XHR3aWR0aDogNDAlO1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogcmVtKDEwcHgpO1xuXHRcdH1cblx0fVxuXG5cdC5zb2NpYWwge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZvbnQtc2l6ZTogMDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRAaW5jbHVkZSBtcShtYXgtc21hbGwpIHtcblx0XHRcdG1hcmdpbi10b3A6IHJlbSgxNXB4KTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtcShtZWRpdW0pIHtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cblx0XHRpOmJlZm9yZSB7XG5cdFx0XHRjb2xvcjogc2V0Y29sb3IodGFuLCBsaWdodCk7XG5cdFx0fVxuXG5cdFx0bGkge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0d2lkdGg6IHJlbSgzNXB4KTtcblx0XHRcdGhlaWdodDogcmVtKDM1cHgpO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IocmVkKTtcblx0XHRcdG1hcmdpbjogcmVtKDNweCk7XG5cblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRhIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHJlZCwgZGFyayk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0aSB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0Ly8gdGhpcyBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgbm9ybSBiZWNhdXNlIHRoZSBpdGVtIGlzIGFscmVhZHkgY2VudGVyIG9uIHRoZSB4IGF4aXNcblx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuXHRcdFx0XHRAaW5jbHVkZSB0eXBlKDIwLCAyMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTkFWSUdBVElPTlxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmhlYWRlci1uYXYge1xuICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgICB9XG59XG5cbi5uYXYtdG9wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcih3aGl0ZSk7XG4gICAgZm9udC1zaXplOiByZW0oMTJweCk7XG5cbiAgICBAaW5jbHVkZSBtcShwcmludCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG1xKG1heC1tZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgxMHB4IDApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEocHJpbnQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2LWNoaWxkIHtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgyMHB4KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCwgZGFyayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAgLy90byByZW1vdmUgZ2FwIGJldHdlZW4gbWVudSBiYXJzXG4gICAgYnV0dG9uLnNlYXJjaC10b2dnbGUge1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG59XG5cbi5uYXYtbWFpbiB7XG4gICAgQGluY2x1ZGUgbXEocHJpbnQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmF2LW1haW4td3JhcCB7XG4gICAgICAgIC8vIFNldHRpbmcgUGFkZGluZyBCYXNlZCBVcG9uIExvZ28gU2l6ZSAoTG9nbyBIYW5ncyBCZWxvdyBJdHMgQ29udGFpbmVyKVxuICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDQwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1pbmkpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0oNTBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbSg2MHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbSg3MHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1heC1tZWRpdW0pIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNTJweCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB0b3A6IDUycHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogc2V0Y29sb3Iod2hpdGUpO1xuXG4gICAgICAgICAgICAubmF2LW9wZW4gJiB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWxpZ24gcmlnaHQgc2lkZSBvZiAnZ2lmdCBjYXJkcycgd2l0aCBndXR0ZXJcbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIC8vIFJlc2V0IFBhZGRpbmcgZm9yIERlc2t0b3AgTWVudVxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgtMTVweCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgtMjdweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShtYXgtbWVkaXVtKSB7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2LW1haW4tbWVudSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1heC1tZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgwIDIwcHggMjBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2LW1haW4tbGluayB7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxOHB4IDApO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDI3cHggMTJweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgyOHB4IDI1cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdi1tYWluLWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnRfcGFnZV9pdGVtLFxuICAgICAgICBhOmhvdmVyLFxuICAgICAgICBhOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHdoaXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1heC1tZWRpdW0pIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHNldGNvbG9yKHRhbik7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHNldGNvbG9yKHRhbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdi1hdXgtd3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHRhbiwgYmFzZSk7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgyMHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYXYtYXV4LW1lbnUge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMC41cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICNiMDI2MmU7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2LWF1eC1pdGVtICsgLm5hdi1hdXgtaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgyMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM4NXB4ICkge1xuXG4gICAgICAgICAgICAubmF2LWF1eC1pdGVtIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMTJweCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgIC5uYXYtYXV4LWl0ZW0gKyAubmF2LWF1eC1pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uYXYtYXV4LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2lnbi1qb2luIHtcbiAgICBhIHtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgfVxuXG4gICAgI3NpZ24taW4sXG4gICAgI2pvaW4ge1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQsIGRhcmspO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3NpZ24taW4ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgICNqb2luIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5iYXIge1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IoYnJvd24pO1xuICAgICAgICBtYXJnaW46IHJlbSgwIDVweCk7XG4gICAgfVxufVxuXG4ub3JkZXItbm93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRpbWluZy1mYXN0O1xuXG4gICAgQGluY2x1ZGUgbXEobWF4LW1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgyMHB4KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTBweCk7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IocmVkLCBkYXJrKTtcbiAgICB9XG5cbiAgICAjb3JkZXIge1xuICAgICAgICBAaW5jbHVkZSBtcShtYXgtbWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMTBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKHdoaXRlKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuICAgIH1cbn1cblxuLnNlYXJjaC10b2dnbGUge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgdG9wOiByZW0oLTFweCk7XG4gICAgICAgIEBpbmNsdWRlIHN5bWJvbHMoc2VhcmNoKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgICAgQGV4dGVuZCAldmlzdWFsbHktaGlkZGVuO1xuICAgIH1cbn1cblxuI2J1cmdlciB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAZXh0ZW5kICVuYWtlZC1idXR0b247XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiByZW0oMjVweCk7XG4gICAgaGVpZ2h0OiByZW0oMzJweCk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMzAwbXMgJGN1YmljO1xuXG4gICAgQGluY2x1ZGUgbXEoJ2xhcmdlJykge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG5cbiAgICAvLyBoaWRlIGxhYmVsXG4gICAgc3BhbiB7XG4gICAgICAgIEBleHRlbmQgJXZpc3VhbGx5LWhpZGRlbjtcbiAgICB9XG5cbiAgICAvLyB3aGVuIHRoZSBuYXZpZ2F0aW9uIGlzIGFjdGl2ZVxuICAgIC5uYXYtb3BlbiAmIHtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG5cbiAgICAgICAgaSxcbiAgICAgICAgaTpiZWZvcmUsXG4gICAgICAgIGk6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIG9uIGhvdmVyXG4gICAgJjpob3ZlciBpLFxuICAgICY6Zm9jdXMgaSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjEwJSk7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjEwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBtZW51IGljb25cbiAgICBpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDQ5JTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogcmVtKDI1cHgpO1xuICAgICAgICBoZWlnaHQ6IHJlbSg0cHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyAkY3ViaWM7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gbGluZXMgdG8gZmFrZSBhIG1lbnVcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIGJhY2tncm91bmQtY29sb3IgMzAwbXMgJGN1YmljO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNzAlKTtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNzAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHdoYXQgaGFwcGVucyB3aGVuIHRoZSBtZW51IGlzIGFjdGl2ZSwgY292ZXJ0IG1lbnUgaW50byBhIGNsb3NlIGJ1dHRvblxuICAgICAgICAubmF2LW9wZW4gJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCYW5uZXJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5oZXJvIHtcblx0QGV4dGVuZCAlYmctY292ZXI7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6ICNmZmY7XG5cdGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKGJyb3duLCBkYXJrKTtcblxuXHRAaW5jbHVkZSBtcShwcmludCkge1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmLnNob3J0IHtcblx0XHRwYWRkaW5nOiByZW0oNDBweCAwKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihicm93biwgZGFyayk7XG5cblx0XHRAaW5jbHVkZSBtcShzbWFsbCkge1xuXHRcdFx0cGFkZGluZzogcmVtKDYwcHggMCk7XG5cdFx0fVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDgwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGluZyB7XG4gICAgICAgIFx0Zm9udC1zaXplOiByZW0oMjhweCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDMycHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgzNnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXHR9XG5cblx0Ji5mdWxsIHtcblx0XHRwYWRkaW5nOiByZW0oMTAwcHggMjBweCk7XG5cblx0XHRAaW5jbHVkZSBtcShsYXJnZSkge1xuXHRcdFx0cGFkZGluZzogcmVtKDE1MHB4IDQwcHggMTIwcHgpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuXHRcdFx0cGFkZGluZzogcmVtKDE3NXB4IDQwcHggMTUwcHgpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1xKHByaW50KSB7XG5cdFx0XHRwYWRkaW5nOiByZW0oNDBweCAwKTtcblx0XHR9XG5cblx0XHQuc3ViaGVhZGluZyB7XG5cdFx0XHR0cmFuc2Zvcm06IG1hdHJpeCggMS4zMTM5MzAzOTQyNDEyOCwtMC4wOTA1MDk0ODk0MjQ2MSwwLjA5MDQ4NTg1MzA5Nzk5LDEuMzEyMjcyMjgzODYzMDMsMCwwKTtcblx0XHRcdEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nO1xuXHRcdFx0b3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMTZweCk7XG5cblx0XHRcdEBpbmNsdWRlIG1xKHNtYWxsKSB7XG5cdFx0XHRcdHBhZGRpbmc6IHJlbSgxNXB4IDIwcHgpO1xuXHRcdFx0XHRmb250LXNpemU6IHJlbSgxOHB4KTtcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IHJlbSgzLjVweCk7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIG1xKGxhcmdlKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDI4cHgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYudmlkZW8ge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKHNldGNvbG9yKGJyb3duKSwgLjEpO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0ei1pbmRleDogMjtcblx0XHR9XG5cdH1cblxuXHQucm93IHtcblx0XHRAaW5jbHVkZSByb3c7XG5cdFx0ei1pbmRleDogMjtcblx0fVxuXG5cdC5oZWFkaW5nLFxuXHQuc3ViaGVhZGluZyB7XG5cdFx0d29yZC1icmVhazogYnJlYWstd29yZDtcblx0fVxuXG5cdCYuZnVsbCAuaGVhZGluZyB7XG5cdFx0Zm9udC1zaXplOiByZW0oMzJweCk7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR6LWluZGV4OiA1O1xuXHRcdEBpbmNsdWRlIHNldGZvbnQoemlnZ3VyYXQpO1xuXHRcdEBleHRlbmQgJXRleHQtc2hhZG93O1xuXG5cdFx0QGluY2x1ZGUgbXEobWluaSkge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oNDhweCk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbXEoc21hbGwpIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDcycHgpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1xKGxhcmdlKSB7XG5cdFx0XHRmb250LXNpemU6IHJlbSgxMDBweCk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbXEocHJpbnQpIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDQycHgpO1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtKC0xMHB4KTtcblx0XHRcdGNvbG9yOiBibGFjaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdCYuZnVsbCAuc3ViaGVhZGluZyxcblx0Ji5zaG9ydCAuaGVhZGluZyB7XG5cdFx0QGV4dGVuZCAlaGVyby1oMjtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihicm93biwgZGFyayk7XG5cdFx0Y29sb3I6IHNldGNvbG9yKGdvbGQpO1xuXHRcdHBhZGRpbmc6IHJlbSgxMHB4KTtcblx0XHRsZXR0ZXItc3BhY2luZzogcmVtKDEuNXB4KTtcblx0XHR6LWluZGV4OiAxO1xuXG5cdFx0QGluY2x1ZGUgbXEoc21hbGwpIHtcblx0XHRcdHBhZGRpbmc6IHJlbSgxNXB4IDIwcHgpO1xuXHRcdH1cblx0fVxuXG5cdC5jdGEtd3JhcCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luLXRvcDogcmVtKDUwcHgpO1xuXG5cdFx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG5cdFx0XHRtYXJnaW4tdG9wOiByZW0oNzBweCk7XG5cdFx0fVxuXHR9XG5cblx0LmN0YSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdH1cbn0iLCIvKlxuICogV2FsbHBhcGVyIHYzLjEuMTggLSAyMDE0LTA2LTE2XG4gKiBBIGpRdWVyeSBwbHVnaW4gZm9yIHNtb290aC1zY2FsaW5nIGltYWdlIGFuZCB2aWRlbyBiYWNrZ3JvdW5kcy4gUGFydCBvZiB0aGUgRm9ybXN0b25lIExpYnJhcnkuXG4gKiBodHRwOi8vZm9ybXN0b25lLml0L3dhbGxwYXBlci9cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNCBCZW4gUGx1bTsgTUlUIExpY2Vuc2VkXG4gKi9cblxuLndhbGxwYXBlciB7XG5cdHBhZGRpbmctdG9wOiA1MCU7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4ud2FsbHBhcGVyLFxuXHQud2FsbHBhcGVyIC53YWxscGFwZXItY29udGFpbmVyLFxuXHQud2FsbHBhcGVyIC53YWxscGFwZXItbWVkaWEge1xuXHQtd2Via2l0LXRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLndhbGxwYXBlciB7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXHQud2FsbHBhcGVyIC53YWxscGFwZXItY29udGFpbmVyIHsgaGVpZ2h0OiAxMDAlOyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgd2lkdGg6IDEwMCU7IHotaW5kZXg6IDA7IH1cblxuXHQud2FsbHBhcGVyIC53YWxscGFwZXItbWVkaWEgeyBsZWZ0OiAwOyBvcGFjaXR5OiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgfVxuXHQud2FsbHBhcGVyIC53YWxscGFwZXItbWVkaWEuYW5pbWF0ZWQge1xuXHQtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBsaW5lYXIgIWltcG9ydGFudDtcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBsaW5lYXIgIWltcG9ydGFudDtcblx0fVxuXG5cdC53YWxscGFwZXIgLndhbGxwYXBlci1tZWRpYSBpbWcsXG5cdC53YWxscGFwZXIgLndhbGxwYXBlci1tZWRpYSB2aWRlbyxcblx0LndhbGxwYXBlciAud2FsbHBhcGVyLW1lZGlhIGlmcmFtZSB7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyB9XG5cblx0LndhbGxwYXBlciAud2FsbHBhcGVyLWVtYmVkLnJlYWR5OmFmdGVyIHsgY29udGVudDogJyc7IGhlaWdodDogMTAwJTsgbGVmdDogMDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHdpZHRoOiAxMDAlOyB6LWluZGV4OiAxOyB9XG5cdC53YWxscGFwZXIgLndhbGxwYXBlci1lbWJlZC5yZWFkeSBpZnJhbWUgeyAvKiBwb2ludGVyLWV2ZW50czogbm9uZTsgLSBzYWZhcmkgZG9lc24ndCBsaWtlIHRoaXMgOi8gKi8gei1pbmRleDogMDsgfVxuXG5cdC53YWxscGFwZXIgLndhbGxwYXBlci1tZWRpYS5uYXRpdmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IGJhY2tncm91bmQtc2l6ZTogY292ZXI7IGhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IH1cblx0LndhbGxwYXBlciAud2FsbHBhcGVyLW1lZGlhLm5hdGl2ZSBpbWcgeyBkaXNwbGF5OiBub25lOyB9XG5cblx0LndhbGxwYXBlciAud2FsbHBhcGVyLW1lZGlhLmZpeGVkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkOyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyB9XG5cdC53YWxscGFwZXIgLndhbGxwYXBlci1tZWRpYS5maXhlZCBpbWcgeyBkaXNwbGF5OiBub25lOyB9IiwiLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyXG57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNsaWNrLWxpc3RcbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG4uc2xpY2stbGlzdDpmb2N1c1xue1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG4uc2xpY2stbGlzdC5kcmFnZ2luZ1xue1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjdXJzb3I6IGhhbmQ7XG59XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdFxue1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFja1xue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNsaWNrLXRyYWNrOmJlZm9yZSxcbi5zbGljay10cmFjazphZnRlclxue1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuXG4gICAgY29udGVudDogJyc7XG59XG4uc2xpY2stdHJhY2s6YWZ0ZXJcbntcbiAgICBjbGVhcjogYm90aDtcbn1cbi5zbGljay1sb2FkaW5nIC5zbGljay10cmFja1xue1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWNrLXNsaWRlXG57XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG59XG5bZGlyPSdydGwnXSAuc2xpY2stc2xpZGVcbntcbiAgICBmbG9hdDogcmlnaHQ7XG59XG4uc2xpY2stc2xpZGUgaW1nXG57XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4uc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWdcbntcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZ1xue1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZVxue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlXG57XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZVxue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gRGVmYXVsdCBWYXJpYWJsZXNcblxuJHNsaWNrLWZvbnQtcGF0aDogXCIuL2Fzc2V0cy9mb250cy9cIiAhZGVmYXVsdDtcbiRzbGljay1mb250LWZhbWlseTogXCJzbGlja1wiICFkZWZhdWx0O1xuJHNsaWNrLWxvYWRlci1wYXRoOiBcIi4vYXNzZXRzL2ltYWdlcy9cIiAhZGVmYXVsdDtcbiRzbGljay1hcnJvdy1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yOiBibGFjayAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3ItYWN0aXZlOiAkc2xpY2stZG90LWNvbG9yICFkZWZhdWx0O1xuJHNsaWNrLXByZXYtY2hhcmFjdGVyOiBcIuKGkFwiICFkZWZhdWx0O1xuJHNsaWNrLW5leHQtY2hhcmFjdGVyOiBcIuKGklwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jaGFyYWN0ZXI6IFwi4oCiXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LXNpemU6IDZweCAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LWRlZmF1bHQ6IDAuNzUgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjogMSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU6IDAuMjUgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBzbGljay1pbWFnZS11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoaW1hZ2UtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gaW1hZ2UtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1sb2FkZXItcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuQGZ1bmN0aW9uIHNsaWNrLWZvbnQtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGZvbnQtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gZm9udC11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWZvbnQtcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuLyogU2xpZGVyICovXG5cbi5zbGljay1saXN0IHtcbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZiBzbGljay1pbWFnZS11cmwoXCJhamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgfVxufVxuXG4vKiBJY29ucyAqL1xuQGlmICRzbGljay1mb250LWZhbWlseSA9PSBcInNsaWNrXCIge1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90XCIpO1xuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnN2ZyNzbGlja1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG59XG5cbi8qIEFycm93cyAqL1xuXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgZm9udC1zaXplOiAwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgfVxufVxuXG4uc2xpY2stcHJldjpiZWZvcmUsIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgLy8gZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRzbGljay1hcnJvdy1jb2xvcjtcbiAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTI1cHg7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0yNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IC0yNXB4O1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIERvdHMgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNsaWNrLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC00NXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1kb3QtY2hhcmFjdGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAvLyBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNsaWNrLWRvdC1zaXplO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvcjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU7XG4gICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgICAgICB9XG4gICAgfVxufSIsIi8qXG4gKiBTY3JvbGxlciB2My4xLjIgLSAyMDE1LTA0LTA0XG4gKiBBIGpRdWVyeSBwbHVnaW4gZm9yIHJlcGxhY2luZyBkZWZhdWx0IGJyb3dzZXIgc2Nyb2xsYmFycy4gUGFydCBvZiB0aGUgRm9ybXN0b25lIExpYnJhcnkuXG4gKiBodHRwOi8vY2xhc3NpYy5mb3Jtc3RvbmUuaXQvc2Nyb2xsZXIvXG4gKlxuICogQ29weXJpZ2h0IDIwMTUgQmVuIFBsdW07IE1JVCBMaWNlbnNlZFxuICovXG5cbi5mcy1zY3JvbGxiYXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmZzLXNjcm9sbGJhcixcbi5mcy1zY3JvbGxiYXIgKiB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5mcy1zY3JvbGxiYXIsXG4uZnMtc2Nyb2xsYmFyLWNvbnRlbnQsXG4uZnMtc2Nyb2xsYmFyLWJhcixcbi5mcy1zY3JvbGxiYXItdHJhY2ssXG4uZnMtc2Nyb2xsYmFyLWhhbmRsZSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uZnMtc2Nyb2xsYmFyLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuLmZzLXNjcm9sbGJhci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhcixcbi5mcy1zY3JvbGxiYXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uLFxuLmZzLXNjcm9sbGJhci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayxcbi5mcy1zY3JvbGxiYXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2stcGllY2UsXG4uZnMtc2Nyb2xsYmFyLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLFxuLmZzLXNjcm9sbGJhci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci1jb3JuZXIsXG4uZnMtc2Nyb2xsYmFyLWNvbnRlbnQ6Oi13ZWJraXQtcmVzaXplciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAwO1xufVxuLmZzLXNjcm9sbGJhci1iYXIge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uZnMtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmZzLXNjcm9sbGJhci1oYW5kbGUge1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDNweDtcbiAgei1pbmRleDogMjtcbiAgYmFja2dyb3VuZDogI2NjY2NjYztcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZnMtc2Nyb2xsYmFyLWhvcml6b250YWwgLmZzLXNjcm9sbGJhci1jb250ZW50IHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgcGFkZGluZzogMCAwIDE2cHggMDtcbn1cbi5mcy1zY3JvbGxiYXItaG9yaXpvbnRhbCAuZnMtc2Nyb2xsYmFyLWJhciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDE2cHg7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwO1xufVxuLmZzLXNjcm9sbGJhci1ob3Jpem9udGFsIC5mcy1zY3JvbGxiYXItaGFuZGxlIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiAzcHg7XG59XG4uZnMtc2Nyb2xsYmFyLXNldHVwIC5mcy1zY3JvbGxiYXItY29udGVudCxcbi5mcy1zY3JvbGxiYXItYWN0aXZlIC5mcy1zY3JvbGxiYXItY29udGVudCB7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG4uZnMtc2Nyb2xsYmFyLXNldHVwIC5mcy1zY3JvbGxiYXItYmFyLFxuLmZzLXNjcm9sbGJhci1hY3RpdmUgLmZzLXNjcm9sbGJhci1iYXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmZzLXNjcm9sbGJhciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZnMtc2Nyb2xsYmFyLFxuLmZzLXNjcm9sbGJhciAqIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50O1xufVxuLmZzLXNjcm9sbGJhcixcbi5mcy1zY3JvbGxiYXItY29udGVudCxcbi5mcy1zY3JvbGxiYXItYmFyLFxuLmZzLXNjcm9sbGJhci10cmFjayxcbi5mcy1zY3JvbGxiYXItaGFuZGxlIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5mcy1zY3JvbGxiYXItY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG4uZnMtc2Nyb2xsYmFyLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLFxuLmZzLXNjcm9sbGJhci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci1idXR0b24sXG4uZnMtc2Nyb2xsYmFyLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLFxuLmZzLXNjcm9sbGJhci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10cmFjay1waWVjZSxcbi5mcy1zY3JvbGxiYXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsXG4uZnMtc2Nyb2xsYmFyLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lcixcbi5mcy1zY3JvbGxiYXItY29udGVudDo6LXdlYmtpdC1yZXNpemVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IDA7XG59XG4uZnMtc2Nyb2xsYmFyLWJhciB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMjtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5mcy1zY3JvbGxiYXItdHJhY2sge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uZnMtc2Nyb2xsYmFyLWhhbmRsZSB7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogM3B4O1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kOiAjY2NjY2NjO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5mcy1zY3JvbGxiYXItaG9yaXpvbnRhbCAuZnMtc2Nyb2xsYmFyLWNvbnRlbnQge1xuICBvdmVyZmxvdzogYXV0bztcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBwYWRkaW5nOiAwIDAgMTZweCAwO1xufVxuLmZzLXNjcm9sbGJhci1ob3Jpem9udGFsIC5mcy1zY3JvbGxiYXItYmFyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTZweDtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG59XG4uZnMtc2Nyb2xsYmFyLWhvcml6b250YWwgLmZzLXNjcm9sbGJhci1oYW5kbGUge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IDNweDtcbn1cbi5mcy1zY3JvbGxiYXItc2V0dXAgLmZzLXNjcm9sbGJhci1jb250ZW50LFxuLmZzLXNjcm9sbGJhci1hY3RpdmUgLmZzLXNjcm9sbGJhci1jb250ZW50IHtcbiAgcGFkZGluZzogMjBweDtcbn1cbi5mcy1zY3JvbGxiYXItc2V0dXAgLmZzLXNjcm9sbGJhci1iYXIsXG4uZnMtc2Nyb2xsYmFyLWFjdGl2ZSAuZnMtc2Nyb2xsYmFyLWJhciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNjcm9sbGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5zY3JvbGxlcixcbi5zY3JvbGxlciAqIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50O1xufVxuLnNjcm9sbGVyLFxuLnNjcm9sbGVyLWNvbnRlbnQsXG4uc2Nyb2xsZXItYmFyLFxuLnNjcm9sbGVyLXRyYWNrLFxuLnNjcm9sbGVyLWhhbmRsZSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uc2Nyb2xsZXItY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IHJlbSgtMjBweCk7IC8vbmVlZGVkIHRvIGhpZGUgZmlyZWZveCBzY3JvbGxiYXIgLSBkb24ndCByZW1vdmVcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG4uc2Nyb2xsZXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXIsXG4uc2Nyb2xsZXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uLFxuLnNjcm9sbGVyLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLFxuLnNjcm9sbGVyLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLXBpZWNlLFxuLnNjcm9sbGVyLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLFxuLnNjcm9sbGVyLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lcixcbi5zY3JvbGxlci1jb250ZW50Ojotd2Via2l0LXJlc2l6ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgb3BhY2l0eTogMDtcbn1cbi5zY3JvbGxlci1iYXIge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNjcm9sbGVyLXRyYWNrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogcmVtKDRweCk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDdweDtcbiAgICBiYWNrZ3JvdW5kOiBzZXRjb2xvcih0YW4pO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cbi5zY3JvbGxlci1oYW5kbGUge1xuICB3aWR0aDogcmVtKDhweCk7XG4gIGhlaWdodDogMjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiA1cHg7XG4gIGJhY2tncm91bmQ6IHNldGNvbG9yKHJlZCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMjtcbn1cbi5zY3JvbGxlci1ob3Jpem9udGFsIC5zY3JvbGxlci1jb250ZW50IHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgcGFkZGluZzogMCAwIDE2cHggMDtcbn1cbi5zY3JvbGxlci1ob3Jpem9udGFsIC5zY3JvbGxlci1iYXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxNnB4O1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDtcbn1cbi5zY3JvbGxlci1ob3Jpem9udGFsIC5zY3JvbGxlci1oYW5kbGUge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IDNweDtcbn1cbi5zY3JvbGxlci1zZXR1cCAuc2Nyb2xsZXItY29udGVudCxcbi5zY3JvbGxlci1hY3RpdmUgLnNjcm9sbGVyLWNvbnRlbnQge1xuICBwYWRkaW5nOiByZW0oMCAxMHB4IDAgMCk7XG59XG4uc2Nyb2xsZXItc2V0dXAgLnNjcm9sbGVyLWJhcixcbi5zY3JvbGxlci1hY3RpdmUgLnNjcm9sbGVyLWJhciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufSIsIi8qIE1hZ25pZmljIFBvcHVwIENTUyAqL1xuLm1mcC1iZyB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTA0MjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiAjMGIwYjBiO1xuICBvcGFjaXR5OiAwLjg7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT04MCk7IH1cblxuLm1mcC13cmFwIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDQzO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLm1mcC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAwIDhweDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLm1mcC1jb250YWluZXI6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5tZnAtYWxpZ24tdG9wIC5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB6LWluZGV4OiAxMDQ1OyB9XG5cbi5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsXG4ubWZwLWFqYXgtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1mcC1hamF4LWN1ciB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7IH1cblxuLm1mcC16b29tLW91dC1jdXIsIC5tZnAtem9vbS1vdXQtY3VyIC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcbiAgY3Vyc29yOiB6b29tLW91dDsgfVxuXG4ubWZwLXpvb20ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcbiAgY3Vyc29yOiB6b29tLWluOyB9XG5cbi5tZnAtYXV0by1jdXJzb3IgLm1mcC1jb250ZW50IHtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtY2xvc2UsXG4ubWZwLWFycm93LFxuLm1mcC1wcmVsb2FkZXIsXG4ubWZwLWNvdW50ZXIge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ubWZwLWxvYWRpbmcubWZwLWZpZ3VyZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5tZnAtcHJlbG9hZGVyIHtcbiAgY29sb3I6ICNDQ0M7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IC0wLjhlbTtcbiAgbGVmdDogOHB4O1xuICByaWdodDogOHB4O1xuICB6LWluZGV4OiAxMDQ0OyB9XG4gIC5tZnAtcHJlbG9hZGVyIGEge1xuICAgIGNvbG9yOiAjQ0NDOyB9XG4gICAgLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI0ZGRjsgfVxuXG4ubWZwLXMtcmVhZHkgLm1mcC1wcmVsb2FkZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtcy1lcnJvciAubWZwLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmJ1dHRvbi5tZnAtY2xvc2UsXG5idXR0b24ubWZwLWFycm93IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgei1pbmRleDogMTA0NjtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG4ubWZwLWNsb3NlIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT02NSk7XG4gIHBhZGRpbmc6IDAgMCAxOHB4IDEwcHg7XG4gIGNvbG9yOiAjRkZGO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlOyB9XG4gIC5tZnAtY2xvc2U6aG92ZXIsXG4gIC5tZnAtY2xvc2U6Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7IH1cbiAgLm1mcC1jbG9zZTphY3RpdmUge1xuICAgIHRvcDogMXB4OyB9XG5cbi5tZnAtY2xvc2UtYnRuLWluIC5tZnAtY2xvc2Uge1xuICBjb2xvcjogIzMzMzsgfVxuXG4ubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlLFxuLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICBjb2xvcjogI0ZGRjtcbiAgcmlnaHQ6IC02cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5tZnAtY291bnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgY29sb3I6ICNDQ0M7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLm1mcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMC42NTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTY1KTtcbiAgbWFyZ2luOiAwO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTU1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiA5MHB4O1xuICBoZWlnaHQ6IDExMHB4O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5tZnAtYXJyb3c6YWN0aXZlIHtcbiAgICBtYXJnaW4tdG9wOiAtNTRweDsgfVxuICAubWZwLWFycm93OmhvdmVyLFxuICAubWZwLWFycm93OmZvY3VzIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApOyB9XG4gIC5tZnAtYXJyb3c6YmVmb3JlLFxuICAubWZwLWFycm93OmFmdGVyLFxuICAubWZwLWFycm93IC5tZnAtYixcbiAgLm1mcC1hcnJvdyAubWZwLWEge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICBtYXJnaW4tbGVmdDogMzVweDtcbiAgICBib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDsgfVxuICAubWZwLWFycm93OmFmdGVyLFxuICAubWZwLWFycm93IC5tZnAtYSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMTNweDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxM3B4O1xuICAgIHRvcDogOHB4OyB9XG4gIC5tZnAtYXJyb3c6YmVmb3JlLFxuICAubWZwLWFycm93IC5tZnAtYiB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMjFweDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMXB4O1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuXG4ubWZwLWFycm93LWxlZnQge1xuICBsZWZ0OiAwOyB9XG4gIC5tZnAtYXJyb3ctbGVmdDphZnRlcixcbiAgLm1mcC1hcnJvdy1sZWZ0IC5tZnAtYSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICNGRkY7XG4gICAgbWFyZ2luLWxlZnQ6IDMxcHg7IH1cbiAgLm1mcC1hcnJvdy1sZWZ0OmJlZm9yZSxcbiAgLm1mcC1hcnJvdy1sZWZ0IC5tZnAtYiB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cblxuLm1mcC1hcnJvdy1yaWdodCB7XG4gIHJpZ2h0OiAwOyB9XG4gIC5tZnAtYXJyb3ctcmlnaHQ6YWZ0ZXIsXG4gIC5tZnAtYXJyb3ctcmlnaHQgLm1mcC1hIHtcbiAgICBib3JkZXItbGVmdDogMTdweCBzb2xpZCAjRkZGO1xuICAgIG1hcmdpbi1sZWZ0OiAzOXB4OyB9XG4gIC5tZnAtYXJyb3ctcmlnaHQ6YmVmb3JlLFxuICAubWZwLWFycm93LXJpZ2h0IC5tZnAtYiB7XG4gICAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgIzNGM0YzRjsgfVxuXG4ubWZwLWlmcmFtZS1ob2xkZXIge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cbiAgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA5MDBweDsgfVxuICAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gICAgdG9wOiAtNDBweDsgfVxuXG4ubWZwLWlmcmFtZS1zY2FsZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogNTYuMjUlOyB9XG4gIC5tZnAtaWZyYW1lLXNjYWxlciBpZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4vKiBNYWluIGltYWdlIGluIHBvcHVwICovXG5pbWcubWZwLWltZyB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogNDBweCAwIDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuLm1mcC1maWd1cmUge1xuICBsaW5lLWhlaWdodDogMDsgfVxuICAubWZwLWZpZ3VyZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA0MHB4O1xuICAgIGJvdHRvbTogNDBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogLTE7XG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYmFja2dyb3VuZDogIzQ0NDsgfVxuICAubWZwLWZpZ3VyZSBzbWFsbCB7XG4gICAgY29sb3I6ICNCREJEQkQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNHB4OyB9XG4gIC5tZnAtZmlndXJlIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5tZnAtYm90dG9tLWJhciB7XG4gIG1hcmdpbi10b3A6IC0zNnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiAjRjNGM0YzO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHBhZGRpbmctcmlnaHQ6IDM2cHg7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5tZnAtZ2FsbGVyeSAubWZwLWltYWdlLWhvbGRlciAubWZwLWZpZ3VyZSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHtcbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgYWxsIHBhZGRpbmdzIGFyb3VuZCB0aGUgaW1hZ2Ugb24gc21hbGwgc2NyZWVuXG4gICAgICAgKi9cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtaW1hZ2UtaG9sZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgaW1nLm1mcC1pbWcge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlOmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZSBzbWFsbCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAgIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXI6ZW1wdHkge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jb3VudGVyIHtcbiAgICByaWdodDogNXB4O1xuICAgIHRvcDogM3B4OyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNsb3NlIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAubWZwLWFycm93IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTsgfVxuICAubWZwLWFycm93LWxlZnQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwOyB9XG4gIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlOyB9XG4gIC5tZnAtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7IH0gfVxuXG4ubWZwLWllNyAubWZwLWltZyB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLm1mcC1pZTcgLm1mcC1ib3R0b20tYmFyIHtcbiAgd2lkdGg6IDYwMHB4O1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzAwcHg7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgcGFkZGluZy1ib3R0b206IDVweDsgfVxuXG4ubWZwLWllNyAubWZwLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLm1mcC1pZTcgLm1mcC1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDQ0cHg7IH1cblxuLm1mcC1pZTcgLm1mcC1jbG9zZSB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG4iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gV09SRFBSRVNTIERFRkFVTFRcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIERlZmF1bHQgd29yZHByZXNzIGNsYXNzZXMgdXNlZCBpbnNpZGUgdGhlIHd5c2l3eWcgZWRpdG9yLlxuLy8gSGFzIGJlZW4gbWFkZSByZXNwb25zaXZlIGZvciBpbWFnZSB1c2FnZS5cblxuJG1hcmdpbi1yaWdodDogIHJlbSg1cHggMCAyMHB4IDIwcHgpO1xuJG1hcmdpbi1sZWZ0OiAgIHJlbSg1cHggMjBweCAyMHB4IDApO1xuJG1hcmdpbi1jZW50ZXI6IHJlbSg1cHggYXV0byAwIGF1dG8pO1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGVscGVyIENsYXNzZXNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hbGlnbm5vbmUge1xuXHRtYXJnaW46IDA7XG59XG5cbi5hbGlnbmNlbnRlcixcbmRpdi5hbGlnbmNlbnRlciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW46ICRtYXJnaW4tY2VudGVyO1xufVxuXG4uYWxpZ25yaWdodCB7XG5cdGZsb2F0OiBub25lO1xuXHRAaW5jbHVkZSBtcShtaW5pKSB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdG1hcmdpbjogJG1hcmdpbi1yaWdodDtcblx0fVxufVxuXG4uYWxpZ25sZWZ0IHtcblx0ZmxvYXQ6IG5vbmU7XG5cdEBpbmNsdWRlIG1xKG1pbmkpIHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW46ICRtYXJnaW4tbGVmdDtcblx0fVxufVxuXG4uYWxpZ25jZW50ZXIge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiAkbWFyZ2luLWNlbnRlcjtcbn1cblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSW1hZ2UgbGlua3Ncbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmEgaW1nIHtcblx0Ji5hbGlnbmxlZnQsXG5cdCYuYWxpZ25yaWdodCB7XG5cdFx0QGluY2x1ZGUgbXEobWluaSkge1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHR9XG5cdH1cblxuXHQmLmFsaWdubGVmdCB7XG5cdFx0QGluY2x1ZGUgbXEobWluaSkge1xuXHRcdFx0bWFyZ2luOiAkbWFyZ2luLWxlZnQ7XG5cdFx0fVxuXHR9XG5cblx0Ji5hbGlnbnJpZ2h0IHtcblx0XHRAaW5jbHVkZSBtcShtaW5pKSB7XG5cdFx0XHRtYXJnaW46ICRtYXJnaW4tcmlnaHQ7XG5cdFx0fVxuXHR9XG5cblx0Ji5hbGlnbmNlbnRlciB7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvXG5cdH1cblxuXHQmLmFsaWdubm9uZSB7XG5cdFx0QGluY2x1ZGUgbXEobWluaSkge1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0fVxuXHR9XG59XG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENhcHRpb25zXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ud3AtY2FwdGlvbiB7XG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdG1heC13aWR0aDogMTAwJTtcblx0cGFkZGluZzogcmVtKDAgMCAxMHB4KTtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0bWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuXG5cdGEsXG5cdGE6aG92ZXIge1xuXHRcdGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcblx0fVxuXG5cdGltZyB7XG5cdFx0Ym9yZGVyOiAwIG5vbmU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdG1hcmdpbjogcmVtKDAgMCA1cHgpO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0Ji5hbGlnbm5vbmUge1xuXHRcdEBpbmNsdWRlIG1xKG1pbmkpIHtcblx0XHRcdG1hcmdpbjogJG1hcmdpbi1sZWZ0O1xuXHRcdH1cblx0fVxuXG5cdCYuYWxpZ25sZWZ0IHtcblx0XHRAaW5jbHVkZSBtcShtaW5pKSB7XG5cdFx0XHRtYXJnaW46ICRtYXJnaW4tbGVmdDtcblx0XHR9XG5cdH1cblxuXHQmLmFsaWducmlnaHQge1xuXHRcdEBpbmNsdWRlIG1xKG1pbmkpIHtcblx0XHRcdG1hcmdpbjogJG1hcmdpbi1yaWdodDtcblx0XHR9XG5cdH1cblxuXHQmLmFsaWdubGVmdCxcblx0Ji5hbGlnbnJpZ2h0IHtcblx0XHRAaW5jbHVkZSBtcShtaW5pKSB7XG5cdFx0XHR3aWR0aDogcmVtKDI1MHB4KSAhaW1wb3J0YW50O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcShtZWRpdW0pIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOiByZW0oMzQwcHgpO1xuXHRcdH1cblx0fVxuXG5cdC53cC1jYXB0aW9uLXRleHQge1xuXHRcdEBpbmNsdWRlIHNldGZvbnQoZGVmYXVsdCk7XG5cdFx0Zm9udC1zaXplOiByZW0oMTJweCk7XG5cdFx0Y29sb3I6ICM3Nzc7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbSgxNnB4KTtcblx0XHRwYWRkaW5nOiByZW0oMCAwIDEwcHgpO1xuXHRcdG1hcmdpbjogMDtcblx0XHRib3JkZXItYm90dG9tOiByZW0oMXB4KSBzb2xpZCByZ2JhKDE5MiwgMTkyLCAxOTMsIDAuMik7XG5cdH1cbn1cblxuLmFsaWduY2VudGVyLndwLWNhcHRpb24ge1xuXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4jZGlzaF9wcm9maWxlLXRhYnMge1xuXHRkaXNwbGF5OiBub25lO1xufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHcmlkXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZ3JpZCB7XG4gICAgQGluY2x1ZGUgbXEobWF4LW1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSg1cHgpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oNXB4KTtcbiAgICB9XG59XG5cbi5ncmlkLXJvdyB7XG4gICAgQGluY2x1ZGUgY2Y7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDVweCk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDVweCk7XG4gICAgfVxufVxuXG4vLyBHcmlkIFJvdyBSZXNwb25zaXZlIEZpeGVzXG4uZ3JpZC1vcHRpb24tZSxcbi5ncmlkLW9wdGlvbi1mLFxuLmdyaWQtb3B0aW9uLWcsXG4uZ3JpZC1vcHRpb24taCB7XG4gICAgLndpZGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5ncmlkLW9wdGlvbi1kIHtcbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgLmdyaWQtYmxvY2s6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZ3JpZC1vcHRpb24tZSB7XG4gICAgQGluY2x1ZGUgbXEobWluaSkge1xuICAgICAgICAuZ3JpZC1ibG9jazpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ncmlkLW9wdGlvbi1mIHtcbiAgICAuYmlnLXNxdWFyZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAuZ3JpZC1ibG9jazpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ncmlkLW9wdGlvbi1pIHtcbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgbXEobWF4LWxhcmdlKSB7XG4gICAgICAgICAgICAuZ3JpZC1ibG9jazpudGgtY2hpbGQoMiksXG4gICAgICAgICAgICAuZ3JpZC1ibG9jazpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2Ni42NjY2NjY2JTtcblxuICAgICAgICAgICAgICAgIC8vIHRyZWF0IGxpa2UgYSB3aWRlXG4gICAgICAgICAgICAgICAgLmZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDY2LjY2NjYlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ncmlkLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBjZjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiByZW0oNXB4KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgbXEobWluaSkge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMzJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoYnJvd24sIGRhcmspO1xuXG4gICAgICAgIC8vVHJpYW5nbGUgSG92ZXJcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAuY3RhLWxpbmsge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMTVweClcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYud2lkZSxcbiAgICAmLmJpZy1zcXVhcmUge1xuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMzMzMzJVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi53aWRlIHtcbiAgICAgICAgLmZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNjYuNjY2NiU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICAuc3RlZWwge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNjYuNjY2NjY2JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgICYudGhyZWUtd2lkZSB7XG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgd2lkdGg6IDY2LjY2NjY2NjY2JVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtKDIwMHB4KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbSgzMDBweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogcmVtKDQwMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYudGhyZWUtd2lkZSxcbiAgICAmLmZ1bGwsXG4gICAgJi5iaWctc3F1YXJlIHtcbiAgICAgICAgLmZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKG1pbmkpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzUlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDY2LjY2NjYlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5iaWctc3F1YXJlLFxuICAgICYudGFsbCB7XG4gICAgICAgIC5mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICB0b3A6IDQwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDg1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgJi53aWRlLFxuICAgICYudGhyZWUtd2lkZSxcbiAgICAmLmZ1bGwge1xuICAgICAgICAudGFuLFxuICAgICAgICAuZ29sZCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtKDMwMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0oMzAwcHgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtKDQwMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0oNDAwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYudGhyZWUtd2lkZSxcbiAgICAmLmZ1bGwge1xuICAgICAgICAuc3RlZWwge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNjYuNjY2NjY2JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnRhbGwge1xuICAgICAgICAudGFuLFxuICAgICAgICAuZ29sZCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtKDM1MHB4KTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0oMzUwcHgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtKDQ1MHB4KTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0oNDUwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYmlnLXNxdWFyZSB7XG4gICAgICAgIC5mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbSg0MDBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAudGFuLFxuICAgICAgICAuZ29sZCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtKDQwMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0oNDAwcHgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtKDUwMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0oNTAwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uaW1hZ2UtbW9kdWxlIHtcbiAgICBAZXh0ZW5kICViZy1jb3ZlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjpob3ZlciAubWVkaWEsXG4gICAgJjpmb2N1cyAubWVkaWEge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICB9XG59XG5cbi5tZWRpYSB7XG4gICAgQGV4dGVuZCAlYmctY292ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA0MDBtcyAkY3ViaWM7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuLmdyYXBoaWMtbW9kdWxlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5ncmlkLXRleHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuICAgIH1cblxuICAgIC5mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgdG9wOiAzMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0oNDUwcHgpO1xuICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjAwbXM7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICB0b3A6IDMwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogNjUlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi50YW4sXG4gICAgJi5nb2xkIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnRhbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHRhbik7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcih0YW4sIGxpZ2h0KTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0oMjUwcHgpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMjUwcHgpO1xuICAgICAgICAgICAgbGVmdDogNzUlO1xuICAgICAgICAgICAgdG9wOiAyNSU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGVlbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHN0ZWVsKTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3dwLWNvbnRlbnQvdGhlbWVzL25vb2RsZXMuY29tL2Fzc2V0cy9pbWFnZXMvc3RyaXAtYm9yZGVyLnN2Zyk7XG4gICAgICAgICAgICBjb2xvcjogcGluaztcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5nb2xkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoZ29sZCk7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcih0YW4sIGxpZ2h0KTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0oMzAwcHgpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMzAwcHgpO1xuICAgICAgICAgICAgbGVmdDogMjUlO1xuICAgICAgICAgICAgdG9wOiA3NSU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciAuZmVhdHVyZWQtaW1hZ2UsXG4gICAgJjpmb2N1cyAuZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgdHJhbnNsYXRlKC00NSUsIC00NSUpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjAwbXM7XG4gICAgfVxufVxuXG4uZ3JpZC10ZXh0IHtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcGFkZGluZzogcmVtKDEwcHggMzVweCAxMHB4IDE1cHgpO1xuICAgIGJvdHRvbTogcmVtKDVweCk7XG4gICAgei1pbmRleDogNTtcblxuICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgIGJvdHRvbTogcmVtKDEwcHgpO1xuICAgIH1cblxuICAgIC5pbWFnZS1tb2R1bGUgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHRhbik7XG4gICAgfVxuXG4gICAgaDMsIGg0IHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKGJyb3duKTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdrbm9ja291dCcpO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXNpemU6IHJlbSgzNnB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDVweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDQycHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSg0OHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2ltcGxlIFRhYnNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qXG5cbiAgICBFWEFNUExFIFNUUlVDVFVSRTpcblxuICAgIC5zaW1wbGUtdGFicyAgICA6IENvbnRhaW5lciB1c2VkIGZvciBKUyBhY3Rpb25zIGFuZCBOYW1lc3BhY2luZ1xuICAgIC50YWJzICAgICAgICAgICA6IERlc2t0b3AgVGFiIEhlYWRlcnNcbiAgICAudGFiICAgICAgICAgICAgOiBEZXNrdG9wIEluZGl2aWR1YWwgVGFiIEhlYWRlclxuICAgIC50YWItZGV0YWlscyAgICA6IE1haW4gQ29udGVudCBvZiBFYWNoIHNlY3Rpb25cbiAgICAubW9iaWxlLXRhYiAgICAgOiBNb2JpbGUgVGFiIEhlYWRlciAoVXNlZCBhcyBUYWJzIFRyYW5zZm9ybSBpbnRvIEFjY29yZGlvbiBvbiBNb2JpbGUpXG4gICAgc2VjdGlvbiAgICAgICAgIDogU2VjdGlvbiBmb3IgQ29udGVudFxuICAgIGFydGljbGUgICAgICAgICA6IEFydGljbGUgZm9yIENvbnRlbnRcblxuICAgIDxkaXYgY2xhc3M9XCJzaW1wbGUtdGFic1wiPlxuICAgICAgICA8dWwgY2xhc3M9XCJ0YWJzXCI+XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJ0YWIgYWN0aXZlXCIgZGF0YS10YWI9XCIxXCI+U2VjdGlvbiBPbmU8L2xpPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwidGFiXCIgZGF0YS10YWI9XCIyXCI+U2VjdGlvbiBUd288L2xpPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwidGFiXCIgZGF0YS10YWI9XCIzXCI+U2VjdGlvbiBUaHJlZTwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICAgIDx1bCBjbGFzcz1cInRhYi1kZXRhaWxzXCI+XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJ0YWItZGV0YWlsIGFjdGl2ZVwiIGRhdGEtdGFiLWNvbnRlbnQ9XCIxXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vYmlsZS10YWJcIiBkYXRhLXRhYj1cIjFcIj5TZWN0aW9uIE9uZTwvZGl2PlxuICAgICAgICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMj5IMiBLbm9ja291dCA2NyB8IDQ4UFQ8L2gyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGg0Pkg0IERpc3RyaWN0IEJvbGQgfCAxOHB0PC9oND5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPk1vcmJpIG1hdHRpcyBzb2RhbGVzIGxlY3R1cyBxdWlzIGZldWdpYXQuIEZ1c2NlIHF1aXMgYWxpcXVldCB0ZWxsdXMuIE51bGxhIHVsdHJpY2llcyBsb3JlbSBub24gYmxhbmRpdCB1bHRyaWNlcy5cbiAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPlxuICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJ0YWItZGV0YWlsXCIgZGF0YS10YWItY29udGVudD1cIjJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9iaWxlLXRhYlwiIGRhdGEtdGFiPVwiMlwiPlNlY3Rpb24gVHdvPC9kaXY+XG4gICAgICAgICAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGgyPkgyIEtub2Nrb3V0IDY3IHwgNDhQVDwvaDI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDQ+SDQgRGlzdHJpY3QgQm9sZCB8IDE4cHQ8L2g0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+TW9yYmkgbWF0dGlzIHNvZGFsZXMgbGVjdHVzIHF1aXMgZmV1Z2lhdC4gRnVzY2UgcXVpcyBhbGlxdWV0IHRlbGx1cy4gTnVsbGEgdWx0cmljaWVzIGxvcmVtIG5vbiBibGFuZGl0IHVsdHJpY2VzLlxuICAgICAgICAgICAgICAgICAgICA8L2FydGljbGU+XG4gICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaSBjbGFzcz1cInRhYi1kZXRhaWxcIiBkYXRhLXRhYi1jb250ZW50PVwiM1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2JpbGUtdGFiXCIgZGF0YS10YWI9XCIzXCI+U2VjdGlvbiBUaHJlZTwvZGl2PlxuICAgICAgICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMj5IMiBLbm9ja291dCA2NyB8IDQ4UFQ8L2gyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGg0Pkg0IERpc3RyaWN0IEJvbGQgfCAxOHB0PC9oND5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPk1vcmJpIG1hdHRpcyBzb2RhbGVzIGxlY3R1cyBxdWlzIGZldWdpYXQuIEZ1c2NlIHF1aXMgYWxpcXVldCB0ZWxsdXMuIE51bGxhIHVsdHJpY2llcyBsb3JlbSBub24gYmxhbmRpdCB1bHRyaWNlcy5cbiAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPlxuICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG5cbiovXG5cbi8vIGEgYnVuY2ggb2YgdGhpcyBzaG91bGQgYmUgY29tYmluZWQgd2l0aCB0aGUgc3R5bGVzIGluIHNpbXBsZS1hY2NvcmRpb24uc2Nzc1xuXG4uc2ltcGxlLXRhYnMge1xuICAgIC8vIGZvciB1c2UgaWYgeW91IGRvbid0IHdhbnQgYWNjb3JkaW9uIHRhYnNcbiAgICAmLm5vLWZvbGQge1xuICAgICAgICAudGFicyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC50YWItZGV0YWlsIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3Iod2hpdGUpO1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgc2V0Y29sb3IodGFuKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50YWIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYnMge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYiB7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICAgICAgcGFkZGluZzogcmVtKDEwcHgpIDIuMnZ3O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcih3aGl0ZSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHNldGNvbG9yKHJlZCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBzZXRjb2xvcih0YW4pO1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKGJyb3duLCBiYXNlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHdoaXRlKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLy8gOjphZnRlciBDb3ZlciBCb3R0b20gQm9yZGVyLiAoUHJldmVudHMgVHJpYW5nbGUgaW4gQ29ybmVyKVxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IC02cHg7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgxMHB4KSByZW0oMzBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWItZGV0YWlsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCBzZXRjb2xvcih0YW4pO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcih3aGl0ZSk7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBzZXRjb2xvcih0YW4pO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCBzZXRjb2xvcih0YW4pO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VjdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ3V0dGVyLXNtYWxsO1xuXG4gICAgICAgICAgICAmLmNvbXBhY3Qge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRndXR0ZXItc21hbGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYudGlnaHQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRndXR0ZXItdGlueTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5ibGVlZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRndXR0ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRndXR0ZXItbGFyZ2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKG1heC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICAvLyB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vYmlsZS10YWIge1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICBwYWRkaW5nOiByZW0oMTVweCAxMHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDE1cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCIrXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyNXB4KTtcbiAgICAgICAgICAgIHJpZ2h0OiByZW0oMTBweCk7XG4gICAgICAgICAgICB0b3A6IDQ3JTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWItZGV0YWlsLmFjdGl2ZSAubW9iaWxlLXRhYjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIuKAlFwiO1xuICAgICAgICByaWdodDogcmVtKDEwcHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMXB4KTtcbiAgICB9XG5cbiAgICAudGFiLWRldGFpbC5hY3RpdmUgc2VjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cbiIsIi8qXG4vLyBHcmlkIGNvbnRlbnQgbWFya3VwIG5lZWRzIHRvIGJlIHVzZWQgaW5zaWRlIDxzZWN0aW9uIGNsYXNzPVwiY29udGVudC1ncmlkXCI+XG5cbi8vIDxkaXYgY2xhc3M9XCJjb250ZW50LWdyaWQtcm93XCI+XG4vLyAgICAgPGRpdiBjbGFzcz1cIjUwLXBlcmNlbnQtY29sdW1uXCI+XG4vLyAgICAgICAgIDxoND5UaXRsZTwvaDQ+XG4vLyAgICAgICAgIDxwPkxvcmVtIGlwc3VtLi4uPC9wPlxuXG4vLyAgICAgICAgIDxoND5UaXRsZTwvaDQ+XG4vLyAgICAgICAgIDxwPkxvcmVtIGlwc3VtLi4uPC9wPlxuXG4vLyAgICAgICAgIDxoND5UaXRsZTwvaDQ+XG4vLyAgICAgICAgIDxwPkxvcmVtIGlwc3VtLi4uPC9wPlxuLy8gICAgIDwvZGl2PlxuLy8gICAgIDxkaXYgY2xhc3M9XCI1MC1wZXJjZW50LWNvbHVtblwiPlxuLy8gICAgICAgICA8aW1nIHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvMzAweDMwMFwiPlxuLy8gICAgIDwvZGl2PlxuLy8gPC9kaXY+XG5cbi8vIDxkaXYgY2xhc3M9XCJjb250ZW50LWdyaWQtcm93XCI+XG4vLyAgICAgPGRpdiBjbGFzcz1cIjY2LXBlcmNlbnQtY29sdW1uXCI+XG4vLyAgICAgICAgIDxoND5UaXRsZTwvaDQ+XG4vLyAgICAgICAgIDxwPkxvcmVtIGlwc3VtLi4uPC9wPlxuXG4vLyAgICAgICAgIDxoND5UaXRsZTwvaDQ+XG4vLyAgICAgICAgIDxwPkxvcmVtIGlwc3VtLi4uPC9wPlxuXG4vLyAgICAgICAgIDxoND5UaXRsZTwvaDQ+XG4vLyAgICAgICAgIDxwPkxvcmVtIGlwc3VtLi4uPC9wPlxuLy8gICAgIDwvZGl2PlxuLy8gICAgIDxkaXYgY2xhc3M9XCIzMy1wZXJjZW50LWNvbHVtblwiPlxuLy8gICAgICAgICA8aW1nIHNyYz1cImh0dHA6Ly9wbGFjZWhvbGQuaXQvMzAweDMwMFwiPlxuLy8gICAgIDwvZGl2PlxuLy8gPC9kaXY+XG5cbi8vIDxkaXYgY2xhc3M9XCJjb250ZW50LWdyaWQtcm93XCI+XG4vLyAgICAgPGRpdiBjbGFzcz1cIjEwMC1wZXJjZW50LWNvbHVtblwiPlxuLy8gICAgICAgICA8aDQ+VGl0bGU8L2g0PlxuLy8gICAgICAgICA8cD5Mb3JlbSBpcHN1bS4uLjwvcD5cblxuLy8gICAgICAgICA8aDQ+VGl0bGU8L2g0PlxuLy8gICAgICAgICA8cD5Mb3JlbSBpcHN1bS4uLjwvcD5cblxuLy8gICAgICAgICA8aDQ+VGl0bGU8L2g0PlxuLy8gICAgICAgICA8cD5Mb3JlbSBpcHN1bS4uLjwvcD5cbi8vICAgICA8L2Rpdj5cbi8vIDwvZGl2PlxuKi9cblxuXG4uY29udGVudC1ncmlkIHtcbiAgICBAZXh0ZW5kICVjZjtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGgtbGFyZ2U7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAmOmZpcnN0LWNoaWxkLFxuICAgICYgKyAuY29udGVudC1ncmlkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtZ3JpZCB7XG4gICAgICAgIC8vIFByZXZlbnQgRGlzcGxheSBvZiBOZXN0ZWQgQ29udGVudCBHcmlkc1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5jb250ZW50LWdyaWQtcm93IHtcbiAgICAgICAgQGV4dGVuZCAlY2Y7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICYuYWRkLXNwYWNlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMDBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBbY2xhc3MqPVwiY29sdW1uXCJdIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuXG4gICAgICAgIFtjbGFzcyo9XCJjb2x1bW5cIl0ge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICBbY2xhc3MqPVwiY29sdW1uXCJdOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBbY2xhc3MqPVwiY29sdW1uXCJdICsgW2NsYXNzKj1cImNvbHVtblwiXSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBbY2xhc3MqPVwiMzMtcGVyY2VudFwiXSxcbiAgICAgICAgW2NsYXNzKj1cIjM0LXBlcmNlbnRcIl0ge1xuICAgICAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgfVxuXG4gICAgICAgIFtjbGFzcyo9XCI1MC1wZXJjZW50XCJdIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICBbY2xhc3MqPVwiNjYtcGVyY2VudFwiXSB7XG4gICAgICAgICAgICB3aWR0aDogNjYlO1xuICAgICAgICB9XG5cbiAgICAgICAgW2NsYXNzKj1cIjEwMC1wZXJjZW50XCJdIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE51dHJpdGlvbiBGYWN0c1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gbW9zdCBvZiB0aGlzIHdhcyB0YWtlbiBmcm9tIGh0dHBzOi8vYml0YnVja2V0Lm9yZy80MGRpZ2l0cy9jYXJnaWxsLWstMTIvcmF3LzYxMTgxYWUxNWEwMjZkODNkYzMyNzk3NzkyYzJjMDBhYWFhODFiOTYvd3AtY29udGVudC90aGVtZXMvY2FyZ2lsbC1rLTEyL19zcmMvc2Fzcy9hcHAvX3Byb2R1Y3RzLWRldGFpbC5zY3NzXG5cbi5udXRyaXRpb24tZmFjdHMge1xuICAgIC8vIHRhYmxlIHN0dWZmXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBtcShwcmludCkge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBzZXRjb2xvcih0YW4pO1xuICAgIH1cbiAgICB0YWJsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KGRlZmF1bHQpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICB9XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgICBwYWRkaW5nOiByZW0oNXB4IDApO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gICAgdGgge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICB0ZCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgICAudW5kZXJsaW5lLXRoaW4ge1xuICAgICAgICB0aCxcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtKDFweCkgc29saWQgc2V0Y29sb3IodGFuKTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oN3B4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudW5kZXJsaW5lLXRoaWNrIHtcbiAgICAgICAgdGgsXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHJlbSgzcHgpIHNvbGlkICMwMDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDdweCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVuZGVybGluZS10aGluICsgdHIsXG4gICAgLnVuZGVybGluZS10aGljayArIHRyIHtcbiAgICAgICAgdGgsXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0oN3B4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaW5kZW50ZWQge1xuICAgICAgICB0aCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgxNXB4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubm9ybWFsLFxuICAgIC5pbmRlbnRlZCB7XG4gICAgICAgIHRoLCB0ZCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxuICAgIC52YWx1ZS1waHlzaWNhbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDhweCk7XG4gICAgfVxuICAgIC5zZXJ2aW5ncyB7XG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgxNHB4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudml0YW1pbnMge1xuICAgICAgICBAaW5jbHVkZSBjZjtcbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNmO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDJweCAwKTtcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgxMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgxMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICB9XG4gICAgICAgIC5hbW91bnQge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wZXJjZW50LWRhaWx5LXZhbHVlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTBweCk7XG4gICAgfVxuICAgIC5wZXJjZW50LWRhaWx5IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbSgxMHB4KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTFweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMTVweCk7XG4gICAgfVxuXG4gICAgLy8gbm9uLXRhYmxlIHN0dWZmXG4gICAgLnNpemUge1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNXB4KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGlwZSB7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICB9XG5cbiAgICAuZGlzY2xhaW1lciB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMTBweCk7XG4gICAgfVxufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTaW1wbGUgQWNjb3JkaW9uXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBJJ2QgcmVhbGx5IGxpa2UgdG8gaGF2ZSBhIGdvb2Qgd2F5IHRvIGFic3RyYWN0IHRoZSBpbm5lciBjb250ZW50IG9mIHRoaXNcbi8vIGFuZCBleHRlbmQgaXQgYWJvdmUgLyBiZWxvdyBjZXJ0YWluIGJyZWFrcG9pbnRzLCBidXQgYXQgdGhpcyBwb2ludCBJJ20gbm90XG4vLyBzdXJlIGlmIHRoaXMgaXMgcG9zc2libGUsIHNvIHRoZXJlJ3MgYW4gdW5mb3J0dW5hdGUgYW1vdW50IG9mIHJlZHVuZGFudCBjb2RlIGJlbG93LiA6L1xuLy8gLXByZXN0b25cblxuLm1vYmlsZS1hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIG1xKG1heC1zbWFsbCkge1xuICAgICAgICAuc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMTVweCAwKTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgyNXB4KTtcbiAgICAgICAgICAgICAgICByaWdodDogcmVtKDEwcHgpO1xuICAgICAgICAgICAgICAgIHRvcDogNDclO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEocHJpbnQpIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAuc2VjdGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMTBweCAwKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDE1cHgpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oMTVweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uLXNlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBtcShtYXgtc21hbGwpIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCBzZXRjb2xvcih0YW4pO1xuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIC5zZWN0aW9uLWhlYWRpbmc6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIuKAlFwiO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogcmVtKDEwcHgpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMXB4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcShwcmludCkge1xuICAgICAgICAgICAgICAgICAgICAuc2VjdGlvbi1oZWFkaW5nOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnNlY3Rpb24tY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgICAgICYuZGlzaC1mZWF0dXJlLXdyYXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgc2V0Y29sb3IodGFuKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEocHJpbnQpIHtcbiAgICAgICAgICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAgICAgICAgICAgLnNlY3Rpb24tY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgICAgICYuZGlzaC1mZWF0dXJlLXdyYXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHByaW50KSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICB9XG5cblxuICAgICAgICAuc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKG1heC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlY3Rpb24tY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjZjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZ1bGwtYWNjb3JkaW9uIHtcbiAgICAuc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxNXB4IDMwcHggMTVweCAwKTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIitcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI1cHgpO1xuICAgICAgICAgICAgcmlnaHQ6IHJlbSgxMHB4KTtcbiAgICAgICAgICAgIHRvcDogNDclO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEocHJpbnQpIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAuc2VjdGlvbi1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogcmVtKDEwcHggMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0oMTVweCk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDE1cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1zZWN0aW9uIHtcbiAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIHNldGNvbG9yKHRhbik7XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIC5zZWN0aW9uLWhlYWRpbmc6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwi4oCUXCI7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IHJlbSgxMHB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMXB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEocHJpbnQpIHtcbiAgICAgICAgICAgICAgICAuc2VjdGlvbi1oZWFkaW5nOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VjdGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICYuZGlzaC1mZWF0dXJlLXdyYXAge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgc2V0Y29sb3IodGFuKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHByaW50KSB7XG4gICAgICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAgICAgICAuc2VjdGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICYuZGlzaC1mZWF0dXJlLXdyYXAge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHByaW50KSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICB9XG5cblxuICAgICAgICAuc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKG1heC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlY3Rpb24tY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjZjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEaXNoIEZlYXR1cmVcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5kaXNoLWZlYXR1cmUtd3JhcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5kaXNoLWZlYXR1cmUtbGluayB7XG4gICAgQGluY2x1ZGUgY2Y7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogcmVtKDI1cHgpO1xuXG4gICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDIwcHgpO1xuICAgIH1cblxuICAgIC5raWRzLW1lYWxzICYsXG4gICAgLnNoYXJlYWJsZXMgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgxMHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBsZWF2aW5nIHRoaXMgaW4gaGVyZSBpbiBjYXNlIHdlIG5lZWQgdG8gcmV2ZXJ0IHRoZSBzYWxhZCAnbmV3JyBwb3NpdGlvblxuICAgIC8vIC5zYW5kd2ljaGVzICYsXG4gICAgLy8gLnNhbGFkcyAmIHtcbiAgICAvLyAgICAgbWFyZ2luLXRvcDogcmVtKDE1cHgpO1xuICAgIC8vXG4gICAgLy8gICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgIC8vICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDEwcHgpO1xuICAgIC8vICAgICB9XG4gICAgLy8gfVxuXG4gICAgLnNhbmR3aWNoZXMgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgxNXB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSgxMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIC5mZWF0dXJlLWRpc2gtbmFtZSB7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkLCBkYXJrKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRpc2gtZmVhdHVyZS1uZXcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMiU7XG4gICAgdG9wOiAtMyU7XG4gICAgY29sb3I6IHNldGNvbG9yKGJyb3duKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgcmlnaHQ6IDEwJTtcbiAgICAgICAgdG9wOiAtMiU7XG4gICAgfVxuXG4gICAgLy8gbWFudWFsIGFkanVzdG1lbnRzIGZvciBkaWZmZXJlbnQgY2F0ZWdvcnkgaW1hZ2Ugc2l6ZXNcbiAgICAua2lkcy1tZWFscyAmIHtcbiAgICAgICAgdG9wOiA3JTtcbiAgICB9XG5cbiAgICAuc2hhcmVhYmxlcyAmIHtcbiAgICAgICAgdG9wOiAxMCU7XG4gICAgfVxuXG4gICAgLnNhbmR3aWNoZXMgJiB7XG4gICAgICAgIHRvcDogMiU7XG4gICAgfVxuXG4gICAgLy8gbGVhdmluZyB0aGlzIGluIGhlcmUgaW4gY2FzZSB3ZSBuZWVkIHRvIHJldmVydCB0aGUgc2FsYWQgJ25ldycgcG9zaXRpb25cbiAgICAvLyAuc291cHMgJixcbiAgICAvLyAuc2FsYWRzICYge1xuICAgIC8vICAgICB0b3A6IDUlO1xuICAgIC8vIH1cblxuICAgIC5zb3VwcyAmIHtcbiAgICAgICAgdG9wOiA1JTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdORVchJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2tub2Nrb3V0Jyk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE1cHgpO1xuICAgICAgICByaWdodDogcmVtKDZweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgcmlnaHQ6IHJlbSgxMHB4KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE5cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IodGFuKTtcbiAgICAgICAgcmlnaHQ6IC0xNCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kaXNoLWZlYXR1cmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiByZW0oMCAxMHB4KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiA1MCU7XG5cbiAgICBAaW5jbHVkZSBtcShtaW5pKSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgwIDIwcHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDAgNDBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMzMlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweClcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjVweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEocHJpbnQpIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDAgMTBweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gdGhlc2UgbmVlZCB0byBhcHBlYXIgbGFyZ2VyICh3aWRlciksIHNvIHJlZHVjZSBwYWRkaW5nXG4gICAgJi5zYW5kd2ljaGVzLFxuICAgICYuYnVmZi1ib3dscyxcbiAgICAmLnNoYXJlYWJsZXMsXG4gICAgJi5raWRzLW1lYWxzIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgwIDIwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmUtZGlzaC1pbWFnZSB7XG4gICAgICAgIC8vIG1hcmdpbi1ib3R0b206IHJlbSg1cHgpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgei1pbmRleDogNTtcbiAgICB9XG5cbiAgICAuZmVhdHVyZS1kaXNoLWluZm8ge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC5mZWF0dXJlLWRpc2gtbmFtZSB7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC5mZWF0dXJlLWljb25zLFxuICAgIC5jYWxvcmllLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmVhdHVyZS1pY29ucyB7XG4gICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDJweCk7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihicm93bik7XG5cbiAgICAgICAgLnZlZ2dpZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNwaWN5IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC5jYWxvcmllLWxpc3Qge1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IoYnJvd24pO1xuICAgIH1cblxuICAgIC5jYWxvcmllLWl0ZW0sXG4gICAgLmNhbG9yaWUtbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICB9XG5cbiAgICAuY2Fsb3JpZS1pdGVtIHtcblxuICAgICAgICAmICsgLmNhbG9yaWUtaXRlbSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ3wnO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSgzcHgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDNweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2Fsb3JpZS1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0Jyk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oM3B4KTtcbiAgICB9XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vLy8vICAgIEdSQVZJVFkgRk9STVMgUkVTRVQgU1RZTEVTICAgICAvLy8vLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIGhvbmV5cG90XG4uZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZ2Zvcm1fd3JhcHBlciB7XG4gICAgY29sb3I6IHNldGNvbG9yKGJyb3duKTtcblxuICAgIC5nZmllbGQge1xuICAgICAgICBAaW5jbHVkZSBjZjtcbiAgICB9XG5cbiAgICBpbnB1dCxcbiAgICB0ZXh0YXJlYSxcbiAgICBzZWxlY3QsXG4gICAgLmdmaWVsZF9yYWRpbyxcbiAgICAuZ2ZpZWxkX2NoZWNrYm94LFxuICAgIC5nZmllbGRfZGVzY3JpcHRpb24sXG4gICAgLmdmb3JtX2Ryb3BfYXJlYSxcbiAgICAudmFsaWRhdGlvbl9tZXNzYWdlLFxuICAgIC5naW5wdXRfcHJldmlldyxcbiAgICAuZ2ZpZWxkX2xpc3Qge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlcigpIHtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihicm93bik7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiA2Ni42NjY2JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nZmllbGRfcmFkaW8sXG4gICAgLmdmaWVsZF9jaGVja2JveCB7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dCxcbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogOTUlO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMTBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgyMHB4KTtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nZmllbGRfbGlzdCB7XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhlYWQge1xuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNXB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgICAgLy8gZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIGNmO1xuICAgIH1cblxuICAgIC5nZmllbGRfZGF0ZV9kcm9wZG93bl95ZWFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZ2lucHV0X2NvbXBsZXgge1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgQGluY2x1ZGUgY2Y7XG4gICAgICAgIH1cblxuICAgICAgICAuZ2lucHV0X2xlZnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdmaWVsZF9sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuICAgIH1cblxuICAgIC5nc2VjdGlvbiB7XG4gICAgICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nc2VjdGlvbl90aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgfVxuXG4gICAgLnZhbGlkYXRpb25fZXJyb3Ige1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5nZmllbGRfcmVxdWlyZWQge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDVweCk7XG4gICAgfVxuXG4gICAgLmdmaWVsZF9odG1sLFxuICAgIC5nc2VjdGlvbixcbiAgICAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG5cbiAgICAuZ2ZpZWxkX2h0bWwge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdmaWVsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMHB4KTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fYnV0dG9uIHtcblxuICAgIH1cblxuICAgIC5pbnN0cnVjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmdmaWVsZF9lcnJvciB7XG4gICAgICAgIHNlbGVjdCxcbiAgICAgICAgaW5wdXQsXG4gICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogc2V0Y29sb3IoZXJyb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMTBweCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihlcnJvcik7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzeW1ib2xzKCdhbGVydCcpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nZm9ybV9mb290ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxMHB4IDIwcHgpO1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcih3aGl0ZSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcztcbiAgICAgICAgQGluY2x1ZGUgY2Y7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcih3aGl0ZSk7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihyZWQsIGRhcmspO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDE1cHggMzBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHJlZCwgZGFyayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2Zvcm1fYnV0dG9uX3NlbGVjdF9maWxlcyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgIH1cblxuICAgIC5nZm9ybV9kcm9wX2FyZWEge1xuICAgIH1cblxuICAgIC5nZm9ybV9kcm9wX2luc3RydWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxMHB4IDEwcHggNTBweCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHRhbiwgbGlnaHQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG4gICAgfVxufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTdHVic1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gRXh0cmEgc3R5bGVzIGZvciB0aGUgc3R1YmJlZCBoZWFkZXIgYW5kIGZvb3RlciBmaWxlc1xuXG4ucGFnZS10ZW1wbGF0ZS1zdHViLWhlYWRlciB7XG4gICAgbGkubmF2LXRvZ2dsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgbGkub3JkZXItbm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIG1haW4ucm9vdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZm9vdGVyLm1haW4tZm9vdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5wYWdlLXRlbXBsYXRlLXN0dWItZm9vdGVyIHtcbiAgICBoZWFkZXIubWFpbi1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIG1haW4ucm9vdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCcm93c2UgSGFwcHlcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5icm93c2UtaGFwcHkge1xuXHRAaW5jbHVkZSByZ2JhKCM3NzcsIC45Nyk7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiA4MDA7XG5cblx0cCB7XG5cdFx0QGV4dGVuZCAlYWJzLWNlbnRlcjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogODAwcHg7XG5cdFx0aGVpZ2h0OiAyMDBweDtcblx0XHRmb250LXNpemU6IDJlbTtcblx0XHRsaW5lLWhlaWdodDogMS4zZW07XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGNvbG9yOiAjZmZmO1xuXG5cdFx0YSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRjb2xvcjogIzU5YjZmZDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxZW07XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgjNTliNmZkLCAuMik7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogcmdiYSgjNTliNmZkLCAuOCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJVVFRPTlNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5idXR0b24ge1xuXHRAZXh0ZW5kICVuYWtlZC1idXR0b247XG59XG5cbi5jdGEtd3JhcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgY2Y7XG59XG5cbi5jdGEge1xuXHRwYWRkaW5nOiByZW0oMTBweCA0MHB4IDEwcHggMjBweCk7XG5cdEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC1zaXplOiByZW0oMTRweCk7XG5cdGxldHRlci1zcGFjaW5nOiAwLjJlbTtcblx0YmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IocmVkKTtcblx0Y29sb3I6IHNldGNvbG9yKHdoaXRlKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zO1xuXHRAaW5jbHVkZSBjZjtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdEBpbmNsdWRlIG1xKHNtYWxsKSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMTZweCk7XG5cdFx0cGFkZGluZzogcmVtKDE1cHggNTBweCAxNXB4IDMwcHgpO1xuXHR9XG5cblx0Ly8gVHJpYW5nbGVcblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDMwMG1zO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogMDtcblx0XHRyaWdodDogMjBweDtcblx0XHR0b3A6IDUwJTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW4tbGVmdDogcmVtKDE1cHgpO1xuXHRcdGJvcmRlci10b3A6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItYm90dG9tOiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLWxlZnQ6IDdweCBzb2xpZCBzZXRjb2xvcih3aGl0ZSk7XG5cblx0XHRAaW5jbHVkZSBtcShtZWRpdW0pIHtcblx0XHRcdHJpZ2h0OiAzMHB4O1xuXHRcdH1cblx0fVxuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHJlZCwgZGFyayk7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdHJpZ2h0OiAxNXB4O1xuXG5cdFx0XHRAaW5jbHVkZSBtcShtZWRpdW0pIHtcblx0XHRcdFx0cmlnaHQ6IDI1cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji50YW4ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHRhbik7XG5cdFx0Y29sb3I6IHNldGNvbG9yKHJlZCk7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IodGFuLCBkYXJrKTtcblx0XHR9XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGJvcmRlci1sZWZ0LWNvbG9yOiBzZXRjb2xvcihyZWQpO1xuXHRcdH1cblx0fVxuXG5cdCYucmVkIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihyZWQpO1xuXHRcdGNvbG9yOiBzZXRjb2xvcih3aGl0ZSk7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IocmVkLCBkYXJrKTtcblx0XHR9XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGJvcmRlci1sZWZ0LWNvbG9yOiBzZXRjb2xvcih3aGl0ZSk7XG5cdFx0fVxuXHR9XG59IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZFQVRVUkVEIENBVEVHT1JZXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZmVhdHVyZWQtY2F0ZWdvcnkge1xuICAgIHBhZGRpbmc6IHJlbSgxMHB4IDE1cHgpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0oMHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oNXB4KTtcblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOiByZW0oMTJweCAxNXB4KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTZweCk7XG4gICAgfVxuXG4gICAgJi50YW4ge1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IodGFuKTtcbiAgICB9XG5cbiAgICAmLnJlZCB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICB9XG5cbiAgICAmLmJyb3duIHtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKGdvbGQpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihicm93bik7XG4gICAgfVxufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDdXN0b20gSWNvbiBTdHlsZVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnMtc3BpY3ksXG4ucy12ZWdnaWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuaS5yYXJyb3csXG5pLmxhcnJvdyB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBzeW1ib2xzKCdhcnJvdy1yaWdodCcpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuXG5pLmRhcnJvdyB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxufVxuXG5pLmxhcnJvdyB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbn1cblxuaS5zcGljeSB7XG4gICAgdG9wOiAycHg7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBzeW1ib2xzKCdzcGljeScpO1xuICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuXG5pLnZlZ2dpZSB7XG4gICAgdG9wOiAycHg7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBzeW1ib2xzKCd2ZWdnaWUnKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuaS5wcmludCB7XG4gICAgdG9wOiAycHg7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBzeW1ib2xzKCdwcmludGVyJyk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG5cbi5pY29uLWtleSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgIEBpbmNsdWRlIGNmO1xuXG4gICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDI1cHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzBweCk7XG4gICAgfVxuXG4gICAgLnNwaWN5IHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICB0b3A6IDRweDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52ZWdnaWUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgICAgIHRvcDogMnB4O1xuICAgIH1cblxuICAgIC5pY29uLXdyYXAge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTJweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcsICc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDdXN0b20gQ2hlY2tib3hlc1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmN1c3RvbS1jaGVja2JveC13cmFwIHtcbiAgICAuY3VzdG9tLWNoZWNrYm94IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuc3R1bnQtZG91YmxlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogcmVtKDIwcHgpO1xuICAgICAgICBoZWlnaHQ6IHJlbSgyMHB4KTtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgc2V0Y29sb3IodGFuKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3Iod2hpdGUpO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3ltYm9scygnY2hlY2snKTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgICAgICBsZWZ0OiAtMXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmN1c3RvbS1jaGVja2JveDpjaGVja2VkICsgLnN0dW50LWRvdWJsZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSG9tZVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuI2hlcm8tdmlkZW8tbG9vcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbiNob21lLWdyaWQge1xuICAgIG1hcmdpbi10b3A6IHJlbSgxMHB4KTtcblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMzBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDUwcHgpO1xuICAgIH1cbn1cblxuLmVkdWNhdGlvbiB7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoLWxhcmdlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IHJlbSgzMHB4IDIwcHgpO1xuICAgIEBpbmNsdWRlIGNmO1xuXG4gICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyO1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDQwcHgpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDUwcHgpXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbSg2MHB4KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg3MHB4KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyLWxhcmdlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyLWxhcmdlO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IHJlbSgzNnB4KTtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgna25vY2tvdXQnKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKGJyb3duKTtcblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNjRweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNzJweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmN0YS13cmFwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIGNmO1xuICAgIH1cblxuICAgIC5jdGEge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3Iod2hpdGUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaG9tZS1mb290ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDUwcHgpO1xuICAgIH1cbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTGFuZGluZyAmIEJhc2ljIFd5c2l3eWcgUGFnZVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmRlZmF1bHQtbGFuZGluZyB7XG4gICAgJi5uby1oZXJvIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbSg1MHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbSg3NXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDEwMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNldGZvbnQoXCJkaXN0cmljdCBib2xkXCIsIG5vcm1hbCk7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCwgZGFyayk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZGVmYXVsdC1sYW5kaW5nLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGNmO1xuICAgIHBhZGRpbmctdG9wOiAkZ3V0dGVyO1xuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkZ3V0dGVyLWxhcmdlO1xuICAgIH1cblxuICAgICYuY29uc3RyYWluZWQge1xuICAgICAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGgtc21hbGw7XG5cbiAgICAgICAgaDEsXG4gICAgICAgIGgyLFxuICAgICAgICBoMyxcbiAgICAgICAgaDQsXG4gICAgICAgIGg1LFxuICAgICAgICBoNiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlci1sYXJnZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjY291bnRpbmcgZm9yIFdZU0lzIHdpdGggdGh1bWJuYWlsc1xuICAgICYgPiAuY29sdW1uLTMzLXBlcmNlbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgPiAuY29sdW1uLTY2LXBlcmNlbnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb2x1bW4tMzMtcGVyY2VudCArIC5jb2x1bW4tNjYtcGVyY2VudCB7XG4gICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGd1dHRlcjtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRGlzaCBEZXRhaWxcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5kaXNoLWRldGFpbCB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIHJvdztcbiAgICB9XG59XG5cbi5kaXNoLWNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiByZW0oMzVweCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSgzNXB4KTtcblxuICAgIC5pbWFnZSwgLnNpbXBsZS10YWJzIHtcbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgxNXB4KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDE1cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNDBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDMwcHgpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDMwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYnMge1xuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFiIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTJweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYi1kZXRhaWwge1xuICAgICAgICBwYWRkaW5nOiByZW0oMjBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgzMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5udXRyaXRpb24tZ3VpZGVzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDVweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ3wnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDVweCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oNXB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaWNvbnMsXG4gICAgLmV4Y2VycHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5pY29ucyB7XG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDJweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSg1cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnZlZ2dpZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDEwcHgpO1xuICAgICAgICAgICAgdG9wOiAycHg7XG5cbiAgICAgICAgICAgICYubm8tc3BpY3kge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNwaWN5IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKC0xcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmV4Y2VycHQge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5leGNlcnB0LWV4dHJhIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFlbTtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJlcC1vcHRpb24ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSg1cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNXB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMTBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJlcC1vcHRpb24tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByZXAtb3B0aW9uLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDAgNXB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRpc2gtaW5mby1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjZjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG5cbiAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTVweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgwKTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNXB4KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm51dHJpdGlvbntcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDIwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMzBweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kaXNoLWRpc2NsYWltZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgwLjVlbSk7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kaXNoLWluZm8ge1xuICAgIEBpbmNsdWRlIGNmO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMTVweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg0MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMzVweCk7XG4gICAgfVxuXG4gICAgJi5raWRzLW1lYWxzLFxuICAgICYuc2hhcmVhYmxlcyxcbiAgICAmLnNhbmR3aWNoZXMge1xuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKC02NXB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRpc2gtZXh0cmEtaW5mbyB7XG4gICAgLnNlY3Rpb24taGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIG1xKG1heC1zbWFsbCkge1xuICAgICAgICAgICAgc3Bhbi5yaWdodCxcbiAgICAgICAgICAgIHNwYW4ubGVmdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTZweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1zZWN0aW9uIHtcbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgLnNlY3Rpb24tY29udGVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICAuc2VjdGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aXAtd3JhcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtaW5pKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDIwcHgpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMzMzMzJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDAgNTBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGlwLXRpdGxlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNXB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFzdHktYWRkaXRpb25zIHtcbiAgICB9XG5cbiAgICAuYWRkaXRpb24ge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDE1cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1pbmkpIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTVweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1lbnUgTWFpblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLm1lbnUtc2VjdGlvbnMge1xuICAgIGJvcmRlci1ib3R0b206IHJlbSgzcHgpIHNvbGlkIHNldGNvbG9yKHRhbik7XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtKDRweCkgc29saWQgc2V0Y29sb3IodGFuKTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IHJlbSg0cHgpO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IodGFuKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmV4dHJhcy1zZWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWVudS1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKHByaW50KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgbXEobWF4LXNtYWxsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi1hbmNob3Ige1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC01MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICB0b3A6IC0xMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgdG9wOiAtMTc1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi1kaXNjbGFpbWVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNDVweCk7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgwLjVlbSk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDY2LjY2NjYlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tZW51LWludHJvIHtcbiAgICBtYXgtd2lkdGg6IHJlbSg4MDBweCk7XG5cbiAgICBAaW5jbHVkZSBtcShwcmludCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5ndWlkZXMtYW5kLXByaW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyB8ICc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQsIGRhcmspO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmljb24ta2V5IHtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKGJyb3duKTtcbiAgICB9XG59XG5cbi5tZW51LW1haW4ge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSg0MHB4KTtcblxuICAgIC5tZW51LWNhdGVnb3JpZXMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcblxuICAgICAgICAmLmZ1bGwge1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEobWF4LW1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHByaW50KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubW9iaWxlIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogOTAlO1xuXG4gICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShtaW5pKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEocHJpbnQpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpbHRlci1pbmZvIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKGJsYWNrKTtcbiAgICB9XG5cbiAgICAubWVudS1jYXRlZ29yeSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHRhbik7XG4gICAgICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IodGFuKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkLCBkYXJrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDEwcHgpO1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgxNXB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kaXNoLWZlYXR1cmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICYuc2hvdyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZmlsZXMtd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDBweDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSgxNXB4KTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCBzZXRjb2xvcih3aGl0ZSk7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiBzZXRjb2xvcih3aGl0ZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNnbHV0ZW4tZnJlZS1pbmZvIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgIG1heC13aWR0aDogcmVtKDgwMHB4KTtcbiAgICBtYXJnaW46IDAgYXV0byByZW0oMjBweCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMHB4KTtcbiAgICB9XG59XG5cbi5nbHV0ZW4tZnJlZS1vcHRpb25hbCB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIC5mZWF0dXJlLWRpc2gge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5nbHV0ZW4tZnJlZS1vcHRpb25hbC1pbmZvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xufVxuXG4ubWVudS1mb290ZXIge1xuICAgIEBpbmNsdWRlIGNmO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSg0MHB4KTtcblxuICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1NXB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNzBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEocHJpbnQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubWVudS1mb290ZXItaGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2tub2Nrb3V0Jyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDMycHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzZweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudS1mb290ZXItc2VjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLm1lbnUtZXh0cmFzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKG1heC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub25saW5lLW9yZGVyaW5nIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDMwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg2MHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogNjYuNjY2NjY2JTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg4MHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vbmxpbmUtb3JkZXJpbmctY29weSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTZweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmljaW5nLW5vdGljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgfVxuXG4gICAgLnN0YXJ0LW9yZGVyaW5nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDE1cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDI1cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUtZXh0cmFzIHtcbiAgICAgICAgd2lkdGg6IDQwJTtcblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgd2lkdGg6IDMzLjMzMzMzMzMlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWVudS1leHRyYS1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG5cbiAgICAubmFtZSxcbiAgICAuY2Fsb3JpZXMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1pbmkpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhbG9yaWVzIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgfVxufVxuXG4jbm8taXRlbXMtZm91bmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IHJlbSgzMHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oNTBweCk7XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwMHB4KTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgfVxufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDYXJlZXJzXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTGFuZGluZ1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNhcmVlcnMtbGFuZGluZy1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtKDMwcHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oNDBweCk7XG5cbiAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDQwcHgpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDUwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oNjBweCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oODBweCk7XG4gICAgfVxuXG4gICAgLmZlYXR1cmVkLWhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG4gICAgfVxufVxuXG4uY2FyZWVycy1sYW5kaW5nLWludHJvIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtKDMwcHgpO1xuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oNjBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbSg4MHB4KTtcbiAgICB9XG5cbiAgICAuaW50cm8taGVhZGluZyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgIC5jdGEtd3JhcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4uY2FyZWVycy1sYW5kaW5nLXBvc2l0aW9ucy13cmFwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcih0YW4sIGxpZ2h0KTtcblxuICAgIC5mZWF0dXJlZC1oZWFkaW5nIHtcbiAgICAgICAgc3Bhbi50aXRsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcih0YW4sIGxpZ2h0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wb3NpdGlvbi10eXBlcyB7XG4gICAgICAgIEBpbmNsdWRlIGNmO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtKC0xMHB4KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oLTEwcHgpO1xuICAgIH1cblxuICAgIC5ncmlkLWJsb2NrIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxMHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg1cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMTBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnRlYW0tcG9zaXRpb25zIHtcbiAgICAgICAgICAgIC5ncmlkLXRleHQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKGdvbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jb3Jwb3JhdGUtcG9zaXRpb25zIHtcbiAgICAgICAgICAgIC5ncmlkLXRleHQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHN0ZWVsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ncmlkLXRleHQge1xuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgYm90dG9tOiByZW0oMjBweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShtYXgtc21hbGwpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oMTBweCk7XG5cbiAgICAgICAgICAgICAgICAuY3RhLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FyZWVycy1sYW5kaW5nLXF1b3RlcyB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAuc2xpY2stcHJldixcbiAgICAuc2xpY2stbmV4dCB7XG4gICAgICAgIEBpbmNsdWRlIG1xKG1heC1zbWFsbCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvLyBoYXZlIHRvIHVzZSAhaW1wb3J0YW50IGJjIHNsaWNrIHN0eWxlIGlzIGlubGluZWRcbiAgICAgICAgfVxuXG4gICAgICAgIEBleHRlbmQgJW5ha2VkLWJ1dHRvbjtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMzBweCk7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICB0b3A6IDMwJTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MCUpO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGV4dGVuZCAldmlzdWFsbHktaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLXByZXYge1xuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIGxlZnQ6IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgbGVmdDogNzVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgbGVmdDogMTAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpY2stbmV4dCB7XG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgcmlnaHQ6IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgcmlnaHQ6IDc1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgICAgIHJpZ2h0OiAxMDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgYm90dG9tOiByZW0oMzBweCk7XG5cbiAgICAgICAgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSg0MHB4KTtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcih0YW4pO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1hY3RpdmUge1xuICAgICAgICAgICAgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucXVvdGVzLXNsaWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHJlbSg0cHgpIHNvbGlkIHNldGNvbG9yKHRhbik7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNTBweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg3MHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5xdW90ZS1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMjVweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1MHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTUwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDQwcHggMTBweCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2l0ZSB7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDQwcHgpO1xuICAgIH1cblxuICAgIC5xdW90ZS1saW5lIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyNHB4KTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXRmb250KCd6aWdndXJhdCcpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjhweCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDM2cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FyZWVycy1sYW5kaW5nLWZvb3RlciB7XG4gICAgQGluY2x1ZGUgY2Y7XG5cbiAgICAuY2FyZWVycy1sYW5kaW5nLWZvb3Rlci1jb3B5LFxuICAgIC5jYXJlZXJzLWxhbmRpbmctZm9vdGVyLXZpZGVvIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmZ1bGwge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyZWVycy1sYW5kaW5nLWZvb3Rlci1jb3B5IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgna25vY2tvdXQnKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDM2cHgpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwcHgpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNDJweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyZWVycy1sYW5kaW5nLWZvb3Rlci1jb3B5LWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg1MHB4KTtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyZWVycy1sYW5kaW5nLWZvb3Rlci12aWRlbyB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgaGVpZ2h0OiByZW0oMjUwcHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWluaSkge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMzAwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDM1MHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMjUwcHgpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSgzMDBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDQ0MHB4KTtcbiAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIH1cblxuICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQXBwbHlcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jYXJlZXJzLWFwcGx5IHtcbiAgICAuZmVhdHVyZWQtaGVhZGluZyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQwcHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FyZWVycy1hcHBseS1iYWNrLXRvLWxhbmRpbmcge1xuICAgIHBhZGRpbmctdG9wOiByZW0oMjBweCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSgyMHB4KTtcblxuICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oMzBweCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oMzBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbSg0MHB4KTtcbiAgICB9XG59XG5cbi5jYXJlZXJzLWFwcGx5LW1haW4ge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSg1MHB4KTtcblxuICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg3NXB4KVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMDBweCk7XG4gICAgfVxuXG4gICAgLnNpbXBsZS10YWJzIHtcbiAgICAgICAgc2VjdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShtYXgtc21hbGwpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FyZWVycy1hcHBseS1wb3NpdGlvbi1zZWFyY2gge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMzBweCk7XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDUwcHgpO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcmVlcnMtYXBwbHktc2VhcmNoLWZvcm0ge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMHB4KTtcbiAgICBtYXgtd2lkdGg6IHJlbSg0MDBweCk7XG4gICAgbWFyZ2luOiByZW0oMCBhdXRvIDMwcHgpO1xuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1MHB4KTtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIEBleHRlbmQgJXZpc3VhbGx5LWhpZGRlbjtcbiAgICB9XG5cbiAgICBidXR0b24ucmFycm93IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogNSU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIEBleHRlbmQgJW5ha2VkLWJ1dHRvbjtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgc2V0Y29sb3IocmVkKTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBleHRlbmQgJXZpc3VhbGx5LWhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgICAgcGFkZGluZzogcmVtKDEwcHggNDBweCAxMHB4IDEwcHgpO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IoYnJvd24pO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgc2V0Y29sb3IodGFuKTtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogc2V0Y29sb3IodGFuLCBkYXJrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyKCkge1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKGJyb3duKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2NvcnBvcmF0ZS1kZXRhaWwge1xuICAgIC5jYXJlZXJzLWFwcGx5LXNlYXJjaC1yZXN1bHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG4gICAgfVxuXG4gICAgLmNhcmVlcnMtYXBwbHktc2VhcmNoLXJlc3VsdHMtY2F0ZWdvcnkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG4gICAgfVxuXG4gICAgLmNhcmVlcnMtYXBwbHktc2VhcmNoLXJlc3VsdHMtY2F0ZWdvcnktdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxufVxuXG5cbi5jYXJlZXJzLWFwcGx5LXNlYXJjaC1yZXN1bHRzLXdyYXAge1xuICAgIC8vIGhpZGRlbiB1bnRpbCBjb250ZW50IGlzIGxvYWRlZCBpblxuICAgIG1heC13aWR0aDogcmVtKDgwMHB4KTtcbiAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1MHB4KTtcbiAgICB9XG5cbiAgICAuc2VhcmNoLXJlc3VsdHMtaGVhZGluZyB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTZweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzBweCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJlZXJzLWFwcGx5LXNlYXJjaC1yZXN1bHRzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxufVxuXG4uY2FyZWVycy1hcHBseS1zZWFyY2gtcmVzdWx0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG5cbiAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oNTBweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg0MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgfVxuXG4gICAgLmxvY2F0aW9uLW5hbWUge1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9jYXRpb24tYWRkcmVzcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNXB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNXB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2NhdGlvbi1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wb3NpdGlvbi10aXRsZSxcbiAgICAucG9zaXRpb24tbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgIH1cblxuICAgIC5wb3NpdGlvbi1saW5rIHtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkLCBkYXJrKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wb3NpdGlvbi10aXRsZSB7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihicm93bik7XG4gICAgfVxufVxuXG4uY2FyZWVycy1hcHBseS1kaXNjbGFpbWVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcih0YW4sIGxpZ2h0KTtcbiAgICBwYWRkaW5nOiByZW0oMTBweCk7XG4gICAgbWF4LXdpZHRoOiByZW0oODAwcHgpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgyMHB4KTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkLCBkYXJrKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcmVlcnMtYXBwbHktcG9zaXRpb24tc3BvdGxpZ2h0IHtcbiAgICAuc3BvdGxpZ2h0LWNhcmVlcnMge1xuICAgICAgICBAaW5jbHVkZSBjZjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oLTIwcHgpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oLTIwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKC00MHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKC00MHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zcG90bGlnaHQtY2FyZWVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtYXgtc21hbGwpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgd2lkdGg6IDMzLjMzMyU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMCAyMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDAgNDBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3BvdGxpZ2h0LWNhcmVlci1pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zcG90bGlnaHQtY2FyZWVyLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNwb3RsaWdodC1jYXJlZXItZGVzY3JpcHRpb24ge1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBtZWRpdW0nKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgfVxufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMb2NhdGlvbnNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmJvZHkucGFnZS10ZW1wbGF0ZS1sb2NhdGlvbnMge1xuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5tYWluLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIG1xKG1heC1tZWRpdW0pIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDUzcHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubG9jYXRpb25zLW1haW4ge1xuICAgIEBpbmNsdWRlIGNmO1xufVxuXG4ubG9jYXRpb25zLWxpc3Rpbmcge1xuICAgIEBpbmNsdWRlIGNmO1xuICAgIHBhZGRpbmc6IHJlbSgyMHB4KTtcblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICB0b3A6IHJlbSg2MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICB0b3A6IHJlbSgzMHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSh4eGxhcmdlKSB7XG4gICAgICAgIHRvcDogcmVtKDYwcHgpO1xuICAgIH1cblxuICAgIC5jb21pbmctc29vbi1saW5rIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sb2NhdGlvbnMtbWFwLXdyYXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBAaW5jbHVkZSBtcShtYXgtc21hbGwpIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgc2V0Y29sb3IodGFuKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHNldGNvbG9yKHRhbik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgc2V0Y29sb3IodGFuKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDY2LjY2NjYlO1xuICAgIH1cblxuICAgIC5maW5kLW1lIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDE1cHg7XG4gICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgIEBleHRlbmQgJW5ha2VkLWJ1dHRvbjtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHJlZCwgZGFyayk7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBleHRlbmQgJXZpc3VhbGx5LWhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgID4gaSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN5bWJvbHMoJ2xvY2F0aW9uJyk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcih3aGl0ZSk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBsZWZ0OiAyNSU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sb2NhdGlvbnMtbWFwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAuZ21ub3ByaW50LFxuICAgIC5nbS1zdHlsZS1jYyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4ubG9jYXRpb25zLWxpc3Rpbmcge1xuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgfVxufVxuXG4ubG9jYXRpb25zLWZvcm0tZmlsdGVyIHtcblxufVxuXG4ubG9jYXRpb25zLXNlYXJjaC1mb3JtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDRweCBzb2xpZCBzZXRjb2xvcih0YW4pO1xuICAgIHBhZGRpbmc6IHJlbSgxMHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMTVweCk7XG5cbiAgICAuc3ltYm9sIHtcbiAgICAgICAgQGV4dGVuZCAlbmFrZWQtYnV0dG9uO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBleHRlbmQgJXZpc3VhbGx5LWhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGkuc2VhcmNoIHtcbiAgICAgICAgbGVmdDogcmVtKDEwcHgpO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3ltYm9scygnc2VhcmNoJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBidXR0b24ucmFycm93IHtcbiAgICAgICAgcmlnaHQ6IHJlbSgxNXB4KTtcblxuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCBzZXRjb2xvcihyZWQpO1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDI1cHgpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMjVweCk7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihicm93bik7XG5cbiAgICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIoKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMnB4O1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKGJyb3duKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgICAgQGV4dGVuZCAldmlzdWFsbHktaGlkZGVuO1xuICAgIH1cbn1cblxuLmxvY2F0aW9ucy1jaGVja2JveGVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG5cbiAgICAuY3VzdG9tLWNoZWNrYm94LXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDE1cHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDE1cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTVweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgxMHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMTBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3R1bnQtZG91YmxlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSg1cHgpO1xuICAgIH1cblxuICAgIC5jdXN0b20tY2hlY2tib3gtbGFiZWwge1xuICAgICAgICB0b3A6IHJlbSgtNHB4KTtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKGJyb3duKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICB9XG59XG5cbi5sb2NhdGlvbnMtcmVzdWx0cy13cmFwIHtcbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg0MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg2MHB4KTtcbiAgICB9XG5cbiAgICAvL0lFIEVkZ2UgLSBkb24ndCByZW1vdmVcbiAgICBAc3VwcG9ydHMgKC1tcy1hY2NlbGVyYXRvcjp0cnVlKSB7XG4gICAgICAuc2Nyb2xsZXItY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgwIDUwcHggMCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgIC5zY3JvbGxlci1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IHJlbSgwIDIwcHggMCAwKTtcblxuICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgwIDUwcHggMCAwKTtcbiAgICAgIH1cblxuICAgICAgLy9JRSAxMC8xMSAtIGRvbid0IHJlbW92ZVxuICAgICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDAgNTBweCAwIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vbmVlZCB0byBoaWRlIHRoaXMgd2l0aCBzYXNzcXdhdGNoXG4gICAgLnNjcm9sbGVyLWJhciB7XG4gICAgICAgIEBpbmNsdWRlIG1xKG1heC1zbWFsbCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5udW0tZm91bmQge1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTVweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxvY2F0aW9ucy1yZXN1bHRzIHtcbiAgICBAaW5jbHVkZSBjZjtcblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTAwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTUwcHgpO1xuICAgIH1cblxuICAgIGEsXG4gICAgcCxcbiAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgfVxuXG4gICAgLmNvbWluZy1zb29uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgIH1cblxuICAgIC5yZXN1bHQge1xuICAgICAgICBib3JkZXItdG9wOiByZW0oNHB4KSBzb2xpZCBzZXRjb2xvcih0YW4pO1xuICAgICAgICBwYWRkaW5nOiByZW0oMjBweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCcpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogcmVtKDRweCkgc29saWQgc2V0Y29sb3IodGFuKTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogcmVtKDRweCkgc29saWQgc2V0Y29sb3IodGFuKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiByZW0oNHB4KSBzb2xpZCBzZXRjb2xvcih0YW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlc3VsdC1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgna25vY2tvdXQnKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMzZweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcbiAgICB9XG5cbiAgICAucmVzdWx0LWhvdXJzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMjBweCk7XG4gICAgfVxuXG4gICAgLnJlc3VsdC1waG9uZS13cmFwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnJlc3VsdC1vcmRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgzMHB4KTtcblxuICAgICAgICAuY3RhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEycHgpO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbSgxMnB4KTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oMTJweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVzdWx0LWFtZW5pdGllcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgyMHB4KTtcbiAgICB9XG5cbiAgICAucmVzdWx0LWFtZW5pdHkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgxMnB4KTtcblxuICAgICAgICAuY2hlY2sge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oNXB4KTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN5bWJvbHMoJ2NoZWNrJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVzdWx0LW1vcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgyMHB4KTtcbiAgICB9XG59IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExvY2F0aW9uIERldGFpbFxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmxvY2F0aW9uLXN1YmhlYWQge1xuICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG59XG5cbi5sb2NhdGlvbi1kZXRhaWwge1xuICAgIEBpbmNsdWRlIGNmO1xuXG4gICAgLmZlYXR1cmVkLWhlYWRpbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuY29taW5nLXNvb24ge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyNHB4KTtcbiAgICB9XG59XG5cbi5sb2NhdGlvbi11cGxvYWRzLXdyYXAge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNXB4KTtcbn1cblxuLmxvY2F0aW9uLXVwbG9hZCB7XG4gICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmxvY2F0aW9uLWdhbGxlcnktaW5mby13cmFwIHtcbiAgICBAaW5jbHVkZSBjZjtcbiAgICBtYXJnaW4tdG9wOiByZW0oNDBweCk7XG5cbiAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oNTBweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNXB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDYwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSg3MHB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwcHgpO1xuICAgIH1cbn1cblxuLmxvY2F0aW9uLWdhbGxlcnktd3JhcCB7XG4gICAgQGluY2x1ZGUgbXEobWF4LXNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg0MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnNsaWNrLXByZXYsXG4gICAgLnNsaWNrLW5leHQge1xuICAgICAgICBAZXh0ZW5kICVuYWtlZC1idXR0b247XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICB0b3A6IDMwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MCUpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNXB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBleHRlbmQgJXZpc3VhbGx5LWhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1wcmV2IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAuc2xpY2stbmV4dCB7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgIH1cblxuICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgYm90dG9tOiByZW0oLTMwcHgpO1xuXG4gICAgICAgIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNDBweCk7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IodGFuKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgICAgIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubG9jYXRpb24tZ2FsbGVyeS1mZWF0dXJlIHtcbiAgICBoZWlnaHQ6IHJlbSgzNjBweCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJvcmRlcjogNHB4IHNvbGlkIHNldGNvbG9yKHRhbik7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwcHgpO1xuXG4gICAgQGluY2x1ZGUgbXEobWF4LW1lZGl1bSkge1xuICAgICAgICAvLyBtYWtlIG1hcCBzdGF0aWNcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgLy8gaGlkZSBzdHVmZiBsaWtlIHpvb20gYnV0dG9uLCBvdGhlciBsaW5rcyB0aGF0IGFyZSBpbmFjdGl2ZSB3aGlsZSBkaXNjYXJkaW5nIHBvaW50ZXIgZXZlbnRzXG4gICAgICAgIC5nbW5vcHJpbnQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBoZWlnaHQ6IHJlbSg0MjBweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg0MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgaGVpZ2h0OiByZW0oNTYwcHgpO1xuICAgIH1cbn1cblxuLmxvY2F0aW9uLWdhbGxlcnktbmF2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbSg0MHB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0oNDBweCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAvLyBtYXAgcHJldmlldywgZmlyc3QgaXRlbSBvZiBnYWxsZXJ5XG4gICAgLnNob3ctZ21hcHMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcih0YW4sIGxpZ2h0KTtcbiAgICAgICAgcGFkZGluZzogcmVtKDEwcHgpO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2NhdGlvbi1nYWxsZXJ5LWl0ZW0td3JhcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAubG9jYXRpb24tZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgc2V0Y29sb3Iod2hpdGUpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCBzZXRjb2xvcih3aGl0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBzZXRjb2xvcih0YW4pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubG9jYXRpb24tZ2FsbGVyeS13cmFwLFxuLmxvY2F0aW9uLWluZm8td3JhcCB7XG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxufVxuXG4ubG9jYXRpb24taW5mby13cmFwIHtcbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgzMHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSg1MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oNzBweCk7XG4gICAgfVxufVxuXG4ubG9jYXRpb24taW5mby1oZWFkbGluZSxcbi5sb2NhdGlvbi1pbmZvLXN1YmhlYWQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5sb2NhdGlvbi1pbmZvLWhlYWRsaW5lIHtcbiAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1cHgpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xufVxuXG4ubG9jYXRpb24taW5mby1zdWJoZWFkIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMTVweCk7XG5cbn1cblxuLmxvY2F0aW9uLWluZm8tY29weSB7XG4gICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xufVxuXG4ubG9jYXRpb24tY29udGFjdC1ob3Vycy13cmFwIHtcbiAgICBAaW5jbHVkZSBjZjtcbn1cblxuLmxvY2F0aW9uLWNvbnRhY3QsXG4ubG9jYXRpb24taG91cnMtd3JhcCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5sb2NhdGlvbi1jb250YWN0IHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1xKHRpbnkpIHtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICB9XG5cbiAgICAubG9jYXRpb24tYWRkcmVzcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgIH1cblxuICAgIC5jdGEtd3JhcCB7XG4gICAgICAgIG1hcmdpbjogcmVtKDIwcHggMCk7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxMnB4KTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4ubG9jYXRpb24taG91cnMtd3JhcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuXG4gICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICB9XG59XG5cbi5sb2NhdGlvbi1kYXkge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgLmRheSB7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuXG4ubG9jYXRpb24tZGlyZWN0aW9ucyxcbi5sb2NhdGlvbi1waG9uZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4ubG9jYXRpb24tZGlyZWN0aW9ucy13cmFwLFxuLmxvY2F0aW9uLXBob25lLXdyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgYSB7XG4gICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgfVxufVxuXG4ubG9jYXRpb24tYW1lbml0aWVzLXdyYXAge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbi10b3A6IHJlbSgxMHB4KTtcblxuICAgIC5sb2NhdGlvbi1hbWVuaXRpZXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgxMnB4KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNoZWNrIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDVweCk7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzeW1ib2xzKCdjaGVjaycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubG9jYXRpb24tZWNsdWItd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogcmVtKDVweCk7XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDEwcHgpO1xuICAgIH1cblxuICAgIC5jdGEtd3JhcCB7XG4gICAgICAgIG1hcmdpbjogcmVtKDEwcHggMCA1MHB4KTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEycHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubG9jYXRpb24tZXZlbnRzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDgwcHgpO1xuXG4gICAgLmxvY2F0aW9uLWV2ZW50IHtcbiAgICAgICAgbWFyZ2luOiByZW0oNDVweCBhdXRvKTtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0oNTUwcHgpO1xuICAgIH1cblxuICAgIC5sb2NhdGlvbi1ldmVudC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNXB4KTtcbiAgICB9XG5cbiAgICAubG9jYXRpb24tZXZlbnQtZGF0ZXRpbWUge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuICAgIH1cblxuICAgIC5sb2NhdGlvbi1ldmVudC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMThweCk7XG4gICAgfVxufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBOZXdzcm9vbVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLm5ld3Nyb29tLWxhbmRpbmctZmVhdHVyZS1tb2R1bGUtd3JhcCxcbi5uZXdzcm9vbS1sYW5kaW5nLWZlYXR1cmUtbW9kdWxlLFxuLm5ld3Nyb29tLWxhbmRpbmctZmVhdHVyZS1tb2R1bGUgLmZlYXR1cmUtbW9kdWxlLXR5cGVzIHtcbiAgICBAaW5jbHVkZSBjZjtcbn1cblxuLm5ld3Nyb29tLWxhbmRpbmcge1xuICAgIC5pbnRyby1zZWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDUwcHgpO1xuICAgIH1cblxuICAgICAuc2xpY2stc2xpZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDYwcHgpO1xuICAgIH1cbn1cblxuLm5ld3Nyb29tLWxhbmRpbmctZmVhdHVyZS1tb2R1bGUsXG4ubmV3c3Jvb20tcmVjZW50LWhlYWRsaW5lcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDcwcHgpO1xuXG4gICAgLmdyaWQtYmxvY2sge1xuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgxMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc3F1YXJlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMzLjMzMzMlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi53aWRlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDY2LjY2NjYlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmV3c3Jvb20tcHJlc3MtcmVsZWFzZXMtd3JhcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDcwcHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5wcmVzcy1yZWxlYXNlcyB7XG4gICAgICAgIEBpbmNsdWRlIGNmO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSgtMjBweCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgtMjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oLTQwcHgpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oLTQwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByZXNzLXJlbGVhc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1heC1zbWFsbCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMCAyMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDAgNDBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJlc3MtcmVsZWFzZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTZweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmVzcy1yZWxlYXNlLWRhdGUge1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgfVxuXG4gICAgLnByZXNzLXJlbGVhc2UtZXhjZXJwdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgbWVkaXVtJyk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgIH1cblxuICAgIC5wcmVzcy1yZWxlYXNlLWRldGFpbC1saW5rIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDAuNWVtKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC5jdGEtbGluayAge1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHNldGNvbG9yKHJlZCwgZGFyayk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByZXNzLXJlbGVhc2UtZG93bmxvYWQtbGluayB7XG4gICAgICAgIC5kb3dubG9hZC1saW5rIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3ltYm9scygnYXJyb3ctZG93bicpO1xuICAgICAgICAgICAgICAgIHRvcDogMXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgxMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWxlLWluZm8ge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTJweCk7XG5cbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcsICc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmN0YS13cmFwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDI1cHgpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDUwcHgpO1xuICAgICAgICBib3JkZXItYm90dG9tOiByZW0oNHB4KSBzb2xpZCAjZGVkMmIyO1xuICAgIH1cbn1cblxuLm5ld3Nyb29tLXJlY2VudC1oZWFkbGluZXMtd3JhcCB7XG4gICAgYmFja2dyb3VuZDogc2V0Y29sb3IodGFuLCBsaWdodCk7XG4gICAgcGFkZGluZy10b3A6IHJlbSg2MHB4KTtcbiAgICBAaW5jbHVkZSBjZjtcbn1cblxuLm5ld3Nyb29tLXJlY2VudC1oZWFkbGluZXMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuZmVhdHVyZWQtaGVhZGluZyB7XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBzZXRjb2xvcih0YW4sIGxpZ2h0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gYWNjb3VudCBmb3IgY29uc3RhbnQgcGFkZGluZyBvbiBncmlkIG1vZHVsZXNcbi5yZWNlbnQtaGVhZGxpbmVzLXdyYXAge1xuICAgIG1hcmdpbi1sZWZ0OiByZW0oLTVweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0oLTVweCk7XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSgtMTBweCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtKC0xMHB4KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oNTBweCk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg1MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oNzVweCk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg3NXB4KTtcbiAgICB9XG59XG5cbi5yZWNlbnQtaGVhZGxpbmVzIHtcbiAgICAuaGVhZGxpbmUtY29weSB7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKGJyb3duKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDVweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAuZ3JpZC1ibG9jayB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3JpZC10ZXh0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogcmVtKDEwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDIwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRsaW5lLWNvcHkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYmxhY2snKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0ZWVsIC5ncmlkLXRleHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihzdGVlbCk7XG4gICAgfVxuXG4gICAgLnRhbiAuZ3JpZC10ZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IodGFuKTtcbiAgICB9XG5cbiAgICAuZ29sZCAuZ3JpZC10ZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoZ29sZCk7XG4gICAgfVxuXG4gICAgLy9zbGlkZXIgc2V0dGluZ3NcbiAgICAuc2xpY2stcHJldixcbiAgICAuc2xpY2stbmV4dCB7XG4gICAgICAgIEBleHRlbmQgJW5ha2VkLWJ1dHRvbjtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMzBweCk7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICB0b3A6IDEwNSU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiByZW0oMzBweCk7XG4gICAgICAgIHdpZHRoOiByZW0oMzBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGV4dGVuZCAldmlzdWFsbHktaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1wcmV2IHtcbiAgICAgICAgbGVmdDogLTM1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBsZWZ0OiAtNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICBsZWZ0OiAtNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IC0zNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgcmlnaHQ6IC00MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSg0MHB4KTtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcih0YW4pO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1hY3RpdmUge1xuICAgICAgICAgICAgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSW52ZXN0b3Jcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5pbnZlc3Rvci1tYWluIHtcbiAgICAubWFpbi1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbSgzMHB4KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgzMHB4KTtcbiAgICAgICAgQGluY2x1ZGUgY2Y7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDUwcHgpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg1MHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnZlc3Rvci1zZWN0aW9uIHtcbiAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIHNldGNvbG9yKHRhbik7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxNXB4KTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jdXJyZW50LFxuICAgICAgICAuaW52ZXN0b3Itc3VibmF2LWl0ZW0uY3VycmVudCB7XG4gICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKGJyb3duKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnZlc3Rvci1zdWJuYXYge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDE1cHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMTBweCk7XG4gICAgfVxuXG4gICAgLmludmVzdG9yLXN1Ym5hdi1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbC1uYXYsXG4gICAgLmNvbC1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbC1uYXYge1xuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgd2lkdGg6IDMzLjMzMzMlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbC1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgbXEobWF4LW1pbmkpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSgzMHB4KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgd2lkdGg6IDY2LjY2NjYlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oNTBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oNzBweCk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZBUVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmZhcS1sYW5kaW5nLXdyYXAsXG4uZmFxLWxhbmRpbmcge1xuICBAaW5jbHVkZSBjZjtcblxuICAuaW50cm8tc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDUwcHgpO1xuICB9XG59XG5cbi5mYXEtbWFpbiB7XG4gIG1hcmdpbi1ib3R0b206IHJlbSg4MHB4KTtcblxuICAuZmFxLWNhdGVnb3J5LW5hbWUge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcbiAgICBmb250LXNpemU6IHJlbSgzNnB4KTtcbiAgfVxuXG4gIC5mYXEtY2F0ZWdvcnkge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSg0MHB4KTtcbiAgfVxuXG4gIC5mYXEtcXVlc3Rpb24tdGV4dCB7XG4gICAgQGluY2x1ZGUgdHlwZSgxOCwyNCk7XG4gIH1cblxuICAvL3JlZHVjZSBkZWZhdWx0IG1hcmdpbiBmcm9tIHd5c2l3eWcgc3R5bGVzXG4gIC53eXNpd3lnIC5mYXEtcXVlc3Rpb24tdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNdWx0aW1lZGlhXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ubXVsdGltZWRpYS1tYWluIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oNTBweCk7XG5cbiAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNzVweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwMHB4KTtcbiAgICB9XG5cbiAgICAuYWN0aW9uLXRhZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBib3R0b206IHJlbSgxNXB4KTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgICAgICAgcGFkZGluZzogcmVtKDEycHggMjRweCk7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdHJhbnNpdGlvbjogMjAwbXMgYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG5cbiAgICAubWVkaWEtdmlkZW8sXG4gICAgLmltYWdlLXByZXZpZXcge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLmFjdGlvbi10YWcge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHJlZCwgZGFyayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1hZ2UtcHJldmlldyB7XG4gICAgICAgIC5hY3Rpb24tdGFnIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzeW1ib2xzKCdtYWduaWZ5Jyk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI1cHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2dvLXByZXZpZXcge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBzZXRjb2xvcih0YW4pO1xuICAgICAgICBwYWRkaW5nOiByZW0oMjBweCk7XG4gICAgfVxuXG4gICAgLmxvZ28tcHJldmlldy1pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAubWVkaWEtaW1hZ2VzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLm1lZGlhLWltYWdlLXdyYXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtaW5pKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZWRpYS1jYXB0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oNXB4KTtcbiAgICB9XG5cbiAgICAuZG93bmxvYWQtd3JhcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgfVxuXG4gICAgLmRvd25sb2FkLWxpbmsge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMnB4KTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN5bWJvbHMoJ2Fycm93LWRvd24nKTtcbiAgICAgICAgICAgIHRvcDogMXB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWxlLWluZm8ge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMnB4KTtcblxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJywgJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWxlLXR5cGUge1xuICAgICAgICAuZXh0ZW5zaW9uIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tZWRpYS12aWRlbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoYnJvd24pO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC5hY3Rpb24tdGFnIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDUwcHgpO1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMjBweCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN5bWJvbHMoJ3BsYXknKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjVweCk7XG4gICAgICAgICAgICAgICAgdG9wOiAtNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWVkaWEtZmVhdHVyZWQtdmlkZW8td3JhcCB7XG4gICAgQGluY2x1ZGUgY2Y7XG5cbiAgICAvLyBhY2NvdW50IGZvciBncmlkIHBhZGRpbmdcbiAgICBtYXJnaW4tbGVmdDogcmVtKC01cHgpO1xuICAgIG1hcmdpbi1yaWdodDogcmVtKC01cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcblxuICAgIC5ncmlkLWJsb2NrIHtcbiAgICAgICAgJi5zcXVhcmUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKG1pbmkpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYud2lkZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEobWluaSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDY2LjY2NjYlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmVkLXZpZGVvLWluZm8ge1xuICAgICAgICBwYWRkaW5nOiByZW0oMTBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBlZGdlIGNhc2Ugd2hlcmUgbGluayBpbmhlcml0cyBmcm9tIC5ncmlkLWJsb2NrIGFuZCBkaXNwbGF5cyBibG9jayB3IGJyb3duIGJnXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlZC12aWRlby1pbmZvLWNvbnRlbnQge1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgIH1cblxuICAgIC5mZWF0dXJlZC12aWRlby10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1cHgpO1xuICAgIH1cblxuICAgIC5mZWF0dXJlZC12aWRlby10aHVtYm5haWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihicm93bik7XG4gICAgfVxufVxuXG4ubWVkaWEtdmlkZW9zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG5cbiAgICAvLyBhY2NvdW50IGZvciBwYWRkaW5nXG4gICAgbWFyZ2luLWxlZnQ6IHJlbSgtNXB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbSgtNXB4KTtcblxuICAgIC52aWRlby10aHVtYm5haWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC52aWRlby13cmFwIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogcmVtKDVweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtaW5pKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52aWRlby1kb3dubG9hZC13cmFwIHtcblxuICAgIH1cblxuICAgIC52aWRlby1kb3dubG9hZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuXG4ubWVkaWEtaW1hZ2Utd3JhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0oNXB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0oNXB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgIH1cbn1cblxuLm1lZGlhLWltYWdlcyxcbi5tZWRpYS1sb2dvcyB7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbSgtNXB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbSgtNXB4KTtcbn1cblxuLm1lZGlhLWltYWdlcyB7XG4gICAgLmltYWdlLXByZXZpZXcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLm1lZGlhLWxvZ29zIHtcbiAgICAubG9nby1wcmV2aWV3IHtcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG4iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ2F0ZXJpbmdcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5jYXRlcmluZy1tYWluIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oNTBweCk7XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDcwcHgpO1xuICAgIH1cbn1cblxuLmNhdGVyaW5nLWNhdGVnb3J5LWZlYXR1cmUge1xuICAgIEBpbmNsdWRlIGNmO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNDBweCk7XG4gICAgfVxuXG4gICAgLmZlYXR1cmUtY29udGVudCxcbiAgICAuZmVhdHVyZS1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlLWNvbnRlbnQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWF4LXNtYWxsKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDQwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSg4MHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZnVsbCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlLWltYWdlIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLmZlYXR1cmUtaGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMzZweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTVweCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSg0OHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlLXN1YmhlYWQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlZC1oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1cHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2F0ZXJpbmctY2F0ZWdvcnktc2VjdGlvbiB7XG4gICAgLnNlY3Rpb24taXRlbXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb24taXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNXB4KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgyMHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgd2lkdGg6IDMzLjMzMzMlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDAgMjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtLW5hbWUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtLXN1Z2dlc3RlZC1wYWlyaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDJweCk7XG4gICAgfVxuXG4gICAgLml0ZW0tZXhjZXJwdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oNXB4KTtcbiAgICB9XG5cbiAgICAuaXRlbS1pY29ucyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICAudmVnZ2llIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oNXB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhdGVyaW5nLWNhdGVnb3J5LWxpbmtzIHtcbiAgICBtYXJnaW4tdG9wOiByZW0oMTVweCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgzMHB4KTtcbiAgICB9XG5cbiAgICAuY3RhLXdyYXAge1xuICAgICAgICBtYXJnaW46IHJlbSgwIDEwcHggMTBweCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZvdW5kYXRpb24gR2l2aW5nIEFwcGxpY2F0aW9uXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZm91bmRhdGlvbi1hcHBseS1tYWluIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDMwcHgpO1xuXG4gICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg1MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDcwcHgpO1xuICAgIH1cbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2VhcmNoXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uc2VhcmNoIHtcbiAgICAuc2VhcmNoLXJlc3VsdC1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1yZXN1bHQtdGVybSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg0MHB4KTtcbiAgICB9XG5cbiAgICAuc2VhcmNoLXJlc3VsdC1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgY2Y7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiByZW0oNTBweCAwKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHNldGNvbG9yKHRhbik7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQwcHgpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vb3ZlcnJpZGVzIGZvciBpY29ucy9jYWxvcmllIGNvdW50XG4gICAgICAgIC5kaXNoLWZlYXR1cmUge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMnJlbSAwIDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIC5jYWxvcmllLWxpc3Qge1xuICAgICAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtKDQwcHgpIGF1dG8gMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbSgxODBweCk7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gR2lmdCBDYXJkc1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmdpZnQtY2FyZHMtbWFpbiB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSgzMHB4KTtcblxuICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNTBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg3MHB4KTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMzJweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDM2cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDQycHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNoZWNrLWJhbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgyMHB4KTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLmdpZnQtY2FyZHMtZm9vdGVyLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgfVxuXG4gICAgLmJhbGFuY2UtY2hlY2std3JhcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHRhbik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgcGFkZGluZzogcmVtKDEwcHgpO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbSgzNTBweCk7XG5cbiAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmdpZnQtY2FyZHMtZ3JpZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwcHgpO1xuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1MHB4KTtcbiAgICB9XG5cbiAgICAuZ3JpZC1yb3cge1xuICAgICAgICAvLyBhY2NvdW50IGZvciB0b3AgcGFkZGluZ1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oLTVweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oLTEwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdyaWQtYmxvY2sge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogcmVtKDEwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICB3aWR0aDogMzMuMzMzMzMlICFpbXBvcnRhbnQ7IC8vIG92ZXJyaWRlIChzb3JyeSlcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg1cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMTBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2lmdC1jYXJkcy1ncmlkLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG4iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWFkZS4gRGlmZmVyZW50LlxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLm1hZGUtZGlmZmVyZW50LW1haW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oNTBweCk7XG5cbiAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDEwMHB4KTtcbiAgICB9XG5cbiAgICAubWFkZS1kaWZmZXJlbnQtY2FsbG91dC1zZWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDcwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1hZGUtZGlmZmVyZW50LWNhbGxvdXQtc2VjdGlvbiB7XG4gICAgICAgIEBleHRlbmQgJWNmO1xuICAgICAgICBwYWRkaW5nOiByZW0oMzBweCAwKTtcblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDYwcHggMCk7XG4gICAgICAgIH1cblxuICAgICAgICAubWFkZS1kaWZmZXJlbnQtc2VjdGlvbi1pbWFnZS13cmFwIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogcmVtKDQwcHgpIGF1dG87XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tYWRlLWRpZmZlcmVudC1zZWN0aW9uLWNvcHktd3JhcCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLnNlY3Rpb24taGVhZGluZyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnemlnZ3VyYXQnKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzBweCk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcShtYXgtdGlueSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgzMnB4KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1cHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jdGEtd3JhcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiByZW0oMzBweCAwKTtcblxuICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHJlbSgzMHB4IDAgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHRhbiwgbGlnaHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG5cbiAgICAgICAgICAgICAgICAubWFkZS1kaWZmZXJlbnQtc2VjdGlvbi1jb3B5LXdyYXAge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDUwcHgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5tYWRlLWRpZmZlcmVudC1zZWN0aW9uLWltYWdlLXdyYXAge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgICAgICAgICAgICAgIC5tYWRlLWRpZmZlcmVudC1zZWN0aW9uLWNvcHktd3JhcCB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oNTBweCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm1hZGUtZGlmZmVyZW50LXNlY3Rpb24taW1hZ2Utd3JhcCB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgJjpudGgtb2YtdHlwZShvZGQpIHtcblxuICAgICAgICAgICAgICAgIC5tYWRlLWRpZmZlcmVudC1zZWN0aW9uLWNvcHktd3JhcCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgxMDBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICAubWFkZS1kaWZmZXJlbnQtc2VjdGlvbi1jb3B5LXdyYXAge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgxMDBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNoaWZ0ZWQge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDUwcHgpO1xuICAgIH1cbn1cblxuLm1hZGUtZGlmZmVyZW50LWN0YS1saW5rcyB7XG4gICAgQGV4dGVuZCAlY2Y7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogcmVtKDIwcHggYXV0byk7XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luOiByZW0oNDBweCBhdXRvKTtcbiAgICB9XG5cbiAgICAuY3RhLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogMzElO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmN0YSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICBwYWRkaW5nOiByZW0oMTBweCAzNXB4IDEwcHggMjBweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgxNXB4IDQwcHggMTVweCAyNXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg1MHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1hZGUtZGlmZmVyZW50LWZlYXR1cmUtaW1hZ2Utd3JhcCB7XG4gICAgaW1nIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLm1hZGUtZGlmZmVyZW50LXRpbWVsaW5lLXNlY3Rpb24ge1xuICAgIC50aW1lbGluZS1ldmVudHMge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMjVweCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSg1MHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aW1lbGluZS1ldmVudCB7XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDFlbTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZXZlbnQtZGF0ZSxcbiAgICAuZXZlbnQtZGVzY3JpcHRpb24gcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTZweCk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEF0dGFjaG1lbnQgTGFuZGluZ1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuYm9keS5hdHRhY2htZW50IHtcbiAgICBhcnRpY2xlLmF0dGFjaG1lbnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNTBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjbWFpbi1lbWJlZCB7XG4gICAgICAgIGhlaWdodDogcmVtKDIwMHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oNDAwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDYwMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kb3dubG9hZC1saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDEwcHgpO1xuICAgIH1cbn1cblxuYm9keS5hdHRhY2htZW50LXBkZiB7XG4gICAgI21haW4tZW1iZWQge1xuICAgICAgICBoZWlnaHQ6IHJlbSgzMDBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDYwMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSg5MDBweCk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbWluZyBTb29uXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uY29taW5nLXNvb24tbWFpbiB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSg1MHB4KTtcblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDcwcHgpO1xuICAgIH1cblxuICAgIC5uby1jb21pbmctc29vbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgyMHB4KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuLy8gZWFjaCBzdGF0ZVxuLmNvbWluZy1zb29uLWxvY2F0aW9uLXdyYXAge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb21pbmctc29vbi1sb2NhdGlvbnMge1xuICAgIEBpbmNsdWRlIGNmO1xuXG4gICAgaDQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMnB4KTtcbiAgICB9XG59XG5cbi8vIGluZGl2aWR1YWwgbG9jYXRpb25cbi5jb21pbmctc29vbi1sb2NhdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDFlbSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgxMHB4KTtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgyMHB4KTtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMlO1xuICAgIH1cbn1cblxuLmNvbWluZy1zb29uLWxvY2F0aW9uLWxpbmtzIHtcbiAgICBAaW5jbHVkZSBjZjtcblxuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJ3wnO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2VjdXJpdHlcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFRoaXMgcGFnZSBpcyBqdXN0IGEgZ2VuZXJhbCBjb250ZW50IHBhZ2UsIGJ1dCBpdCBuZWVkZWQgc29tZSBhZGRpdGlvbmFsIGxvdmUuXG5cbi5zZWN1cml0eS10YWJsZSB7XG4gIHRkIHtcbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgICB9XG4gIH1cbiAgXG4gIHRkID4gKiB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gIH1cbn1cbiIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSZXdhcmRzIFBhZ2Vcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5yZXdhcmRzLWZpZnR5ZmlmdHkge1xuICAgIEBpbmNsdWRlIGNmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogcmVtKDgwMHB4KTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgLmZpZnR5IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiByZW0oMjBweCkgMDtcbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZmlmdHktdGV4dCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNSU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJld2FyZHMtc2lnbnVwIHtcbiAgICBwYWRkaW5nOiByZW0oMjBweCkgMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgfVxuICAgIC5yZXdhcmQtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0oMTBweCAyMHB4KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IodGFuLCBsaWdodCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4yZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCwgYmFzZSk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkRpc3RyaWN0LUJvbGRcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcih0YW4sIGJhc2UpO1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKGJyb3duLCBiYXNlKTtcbiAgICAgICAgfVxuICAgIH1cbn0iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */
