@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.4
2009-07-27
Author: Richard Clark - http://richclarkdesign.com
*/
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, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, dialog, figure, footer, header,
hgroup, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

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

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

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, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
  font-family: "lft-etica", "dnp-shuei-gothic-kin-std", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo", sans-serif;
  font-weight: 300;
}

.cezanne-pron {
  font-family: "fot-cezanne-pron", "lft-etica", "dnp-shuei-gothic-kin-std", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo", sans-serif;
}

.dagny-pro {
  font-family: "ff-dagny-web-pro", "lft-etica", "dnp-shuei-gothic-kin-std", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo", sans-serif;
}

.futo-go {
  font-family: "a-otf-futo-go-b101-pr5n", "lft-etica", "dnp-shuei-gothic-kin-std", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo", sans-serif;
}

.futura-pt {
  font-family: "futura PT", "futura", "lft-etica", "dnp-shuei-gothic-kin-std", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo", sans-serif !important;
  font-style: italic;
}

.futura-pt span {
  font-family: "futura PT", "futura", "lft-etica", "dnp-shuei-gothic-kin-std", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo", sans-serif !important;
  font-style: italic;
}

.midashi-go {
  font-family: "a-otf-midashi-go-mb31-pr5n", "lft-etica", "dnp-shuei-gothic-kin-std", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo", sans-serif;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  background-color: #00CCA3;
  font-size: 87.5%;
}

body {
  line-height: 1.2;
  margin: 0;
  padding: 0;
}

body.active {
  overflow: hidden;
}

h1 {
  font-size: 4.285rem;
  margin: 0;
}

h2 {
  font-size: 2.142rem;
  margin: 0;
}

h3 {
  font-size: 1.142rem;
  margin: 0;
}

h4 {
  font-size: 1rem;
  margin: 0;
}

a {
  color: #FFFFFF;
  cursor: pointer;
  text-decoration: none;
}

li {
  list-style: none;
}

.fixer {
  height: 100%;
  margin: 0 auto;
}

.container {
  padding: 0 50px;
}

.txt-container {
  text-align: justify;
}

.grid {
  display: grid;
}

.gradient img {
  height: 100%;
  width: 100%;
  vertical-align: middle;
}

.o-green {
  color: #00CCA3 !important;
}

.pc-none {
  display: none;
}

/* ============================================================
          Media Query
 ============================================================ */
@media (min-width: 768px) and (max-width: 1329px) {
  .fixer {
    width: 1330px;
  }
}

@media (max-width: 767px) {
  html {
    font-size: 1vw;
  }
  h1 {
    font-size: 8rem;
  }
  h2 {
    font-size: 4.27rem;
  }
  h3 {
    font-size: 3.2rem;
  }
  h4 {
    font-size: 2.67rem;
  }
  .container {
    padding: 0 15px;
  }
  .pc-none {
    display: block;
  }
  .sp-none {
    display: none;
  }
}

.prompt {
  position: relative;
  top: -7px;
  display: inline-block;
  text-align: center;
  width: auto;
}

.prompt p:first-of-type {
  color: #3B3B3B;
  font-size: 2rem;
  margin-bottom: 15px;
}

.prompt p:nth-of-type(2) {
  width: 399px;
  background-color: #FF7482;
  border-radius: 13px;
  color: #FFFFFF;
  font-size: 1.142rem;
  margin: 0 auto;
  margin-bottom: 15px;
  padding: 9px 0;
}

.prompt p:nth-of-type(3) {
  color: #3B3B3B;
  font-size: 1.71rem;
  margin-bottom: 45px;
}

.prompt p:last-of-type {
  width: 404px;
  background-color: #FFFFFF;
  border: 1px solid #00CCA3;
  border-radius: 21px;
  cursor: pointer;
  display: block;
  font-size: 1.142rem;
  color: #00CCA3;
  padding: 21px 0;
  margin: 0 auto;
}

.prompt p:last-of-type:hover {
  background-color: #00CCA3;
  color: #FFFFFF;
}

/* ============================================================
          Media Query
 ============================================================ */
@media (max-width: 767px) {
  .prompt p {
    margin-bottom: 1.1vh;
  }
  .prompt p:first-of-type {
    font-size: 4.27rem;
  }
  .prompt p:nth-of-type(2) {
    width: 71.73vw;
    border-radius: 2.73vw;
    font-size: 2.67rem;
    padding: 6px 0;
  }
  .prompt p:nth-of-type(3) {
    color: #3B3B3B;
    font-size: 4.27rem;
    margin-bottom: 4.8vh;
  }
  .prompt p:last-of-type {
    width: 71.73vw;
    border-radius: 3.73vw;
    font-size: 2.67rem;
    padding: 1.72vh 0;
  }
}

.bg-green-white {
  position: relative;
  height: 300px;
}

.bg-white {
  background: #FFFFFF;
}

.bg-sns {
  background-image: url("../img/bg_sns@2x.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.bg-white-green {
  position: relative;
  height: 327px;
}

.bg-white-green img {
  height: 110%;
}

#bg-animation {
  width: 100%;
  height: 100%;
  position: relative;
}

#bg-animation #animation-container {
  height: 100%;
  width: 100%;
  position: relative;
  background-color: #F2F2F2;
}

#bg-animation #animation-container canvas {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  display: inline-block;
}

/* ============================================================
          Media Query
 ============================================================ */
@media (max-width: 768px) {
  .bg-green-white {
    height: 18.47vh;
  }
  .bg-white-green {
    height: 173px;
  }
}

@media (max-width: 767px) {
  #sp-header-menu {
    display: inline-block;
  }
  #sp-header-menu i {
    width: 20px;
    height: 20px;
    position: relative;
    top: 5px;
    background-image: url("../img/logo.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    display: inline-block;
    margin-left: 10px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transition-delay: 0.3s;
            transition-delay: 0.3s;
    -webkit-transform: rotateZ(0deg);
            transform: rotateZ(0deg);
  }
  #sp-header-menu.active i {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
    -webkit-transform: rotateZ(-90deg);
            transform: rotateZ(-90deg);
  }
  #sp-menu {
    height: 33px;
    position: fixed;
    top: 25px;
    right: 0;
    background-color: #00CCA3;
    border-top-left-radius: 3.73vw;
    border-bottom-left-radius: 3.73vw;
    display: none;
    line-height: 28.15px;
    margin-top: 8px;
    padding-left: 5px;
    padding-right: 15px;
  }
  #sp-menu span {
    color: #FFFFFF;
  }
  #sp-menu i {
    width: 20px;
    height: 20px;
    position: relative;
    top: 5px;
    background-image: url("../img/logo.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    display: inline-block;
    margin-left: 10px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transition-delay: 0.3s;
            transition-delay: 0.3s;
    -webkit-transform: rotateZ(0deg);
            transform: rotateZ(0deg);
  }
  #sp-menu.active {
    display: inline-block;
    -webkit-animation: showSpMenu .1s linear 1s;
            animation: showSpMenu .1s linear 1s;
  }
  #sp-menu.active i {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
    -webkit-transform: rotateZ(-90deg);
            transform: rotateZ(-90deg);
  }
  @-webkit-keyframes showSpMenu {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  @keyframes showSpMenu {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
}

#mail-notification-modal {
  height: 100vh;
  width: 100vw;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0.6);
  display: none;
  -webkit-overflow-scrolling: touch;
  overflow: scroll;
  padding-top: 206px;
  text-align: center;
}

#mail-notification-modal * {
  color: #FFFFFF;
}

#mail-notification-modal h2 {
  color: #00CCA3;
}

#mail-notification-modal > h3 {
  line-height: 1.63;
  margin-top: 29px;
}

#mail-notification-modal form h3 {
  margin-top: 52px;
}

#mail-notification-modal form #mail-address-input-label.active {
  color: #FF7482;
}

#mail-notification-modal form #mail-address-input {
  height: 59px;
  width: 542px;
  background-color: #FFFFFF;
  border: 1px solid #00CCA3;
  border-radius: 21px;
  color: #BEC0C2;
  font-size: 20px;
  line-height: 59px;
  margin-top: 20px;
  padding: 0 27px;
}

#mail-notification-modal form #mail-address-input::-webkit-input-placeholder {
  color: #BEC0C2;
}

#mail-notification-modal form #mail-address-input::-moz-placeholder {
  color: #BEC0C2;
}

#mail-notification-modal form #mail-address-input:-moz-placeholder {
  color: #BEC0C2;
}

#mail-notification-modal form #mail-address-input:-ms-input-placeholder {
  color: #BEC0C2;
}

#mail-notification-modal form #mail-address-input:placeholder-shown {
  color: #BEC0C2;
}

#mail-notification-modal form p {
  width: 532px;
  font-size: 12px;
  line-height: 2.5;
  margin: 0 auto;
  margin-top: 25px;
  text-align: justify;
}

#mail-notification-modal form p a {
  color: #00CCA3;
  cursor: pointer;
  text-decoration: underline;
}

#mail-notification-modal form p a:hover {
  text-decoration: none;
}

#mail-notification-modal form #stopper {
  display: inline-block;
}

#mail-notification-modal form #agreed-input {
  display: none;
}

#mail-notification-modal form #agreed-input + label {
  position: relative;
  display: inline-block;
  font-size: 1.142rem;
  margin-top: 25px;
}

#mail-notification-modal form #agreed-input + label::before {
  height: 20px;
  width: 20px;
  content: "";
  cursor: pointer;
  position: absolute;
  top: -1px;
  left: -40px;
  background-color: #FFFFFF;
  border: 1px solid #00CCA3;
  border-radius: 4px;
  dipslay: block;
}

#mail-notification-modal form #agreed-input:checked + label::after {
  height: 21px;
  width: 8px;
  position: absolute;
  top: -7px;
  left: -32px;
  background-color: transparent;
  border-bottom: 3px solid #00CCA3;
  border-right: 3px solid #00CCA3;
  content: "";
  cursor: pointer;
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
}

#mail-notification-modal form #mail-notification-form-alerter {
  height: 14px;
  color: #FF7482;
  font-size: 1rem;
  line-height: 14px;
  margin-top: 13px;
}

#mail-notification-modal form button {
  height: 59px;
  width: 116px;
  background-color: #00CCA3;
  border-style: none;
  border-radius: 21px;
  cursor: pointer;
  font-size: 20px;
  line-height: 59px;
  margin-top: 24px;
}

#mail-notification-modal.active {
  display: block;
}

/* ============================================================
          Media Query
 ============================================================ */
@media (max-width: 767px) {
  /* ==============================
      Sp-animating-menu-modal
  ============================== */
  #sp-animating-menu-modal {
    height: 100vh;
    width: 100vw;
    position: fixed;
    top: 0;
    left: 100%;
    background-color: #F2F2F2;
    -webkit-transition: all .1s;
    transition: all .1s;
    -webkit-transition-delay: 1s;
            transition-delay: 1s;
  }
  #sp-animating-menu-modal * {
    color: #00CCA3;
    font-size: 2.93vw;
  }
  #sp-animating-menu-modal ul {
    padding-top: 3.57vh;
    padding-left: 5.87vw;
  }
  #sp-animating-menu-modal ul li a {
    display: inline-block;
    margin-bottom: 26px;
  }
  #sp-animating-menu-modal ul li a::before {
    height: 10px;
    width: 10px;
    background-image: url("../img/logo2.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    content: '';
    display: inline-block;
    margin-right: 6px;
  }
  #sp-animating-menu-modal.active {
    left: 50%;
    -webkit-transition: all .1s;
    transition: all .1s;
    -webkit-transition-delay: 1s;
            transition-delay: 1s;
  }
  /* ==============================
      Mail-notification-modal
  ============================== */
  #mail-notification-modal {
    height: 100%;
    -webkit-overflow-scrolling: touch;
    overflow: scroll;
    padding: 12.66vh 0;
    text-align: center;
  }
  #mail-notification-modal * {
    color: #FFFFFF;
  }
  #mail-notification-modal h2 {
    color: #00CCA3;
  }
  #mail-notification-modal > h3 {
    line-height: 1.63;
    margin-top: 2.77vh;
  }
  #mail-notification-modal form h3 {
    margin-top: 4.96vh;
  }
  #mail-notification-modal form #mail-address-input-label.active {
    color: #FF7482;
  }
  #mail-notification-modal form #mail-address-input {
    height: 5.63vh;
    width: 92vw;
    border-radius: 14px;
    font-size: 4.27rem;
    line-height: 5.63vh;
    margin-top: 1.91vh;
    padding: 0 20px;
  }
  #mail-notification-modal form p {
    width: 90.5vw;
    font-size: 3.2rem;
    line-height: 2.5;
    margin-top: 2.44vh;
  }
  #mail-notification-modal form #agreed-input + label {
    position: relative;
    display: inline-block;
    font-size: 3.73vw;
    margint-top: 2.39vh;
  }
  #mail-notification-modal form #agreed-input + label::before {
    height: 18px;
    width: 18px;
    top: -1px;
    left: -40px;
  }
  #mail-notification-modal form #agreed-input:checked + label::after {
    height: 19px;
    width: 6px;
    position: absolute;
    top: -6px;
    left: -32px;
  }
  #mail-notification-modal form #mail-notification-form-alerter {
    height: 3.2rem;
    font-size: 3.2rem;
    line-height: 3.2rem;
    margin-top: 1.24vh;
    text-align: center;
  }
  #mail-notification-modal form button {
    height: 55px;
    width: 112px;
    background-color: #00CCA3;
    border-style: none;
    border-radius: 18px;
    cursor: pointer;
    font-size: 4.27rem;
    line-height: 55px;
    margin-top: 2.29vh;
  }
}

#header {
  padding-top: 30px;
}

#header * {
  color: #FFFFFF;
  font-size: 1rem;
}

#header .grid {
  grid-template-columns: auto 1fr;
  grid-auto-rows: auto auto;
  grid-template-areas: "... lang" "logo menu";
}

#header .lang {
  grid-area: lang;
  text-align: right;
}

#header .lang li {
  display: inline-block;
}

#header .lang li span {
  display: inline-block;
}

#header .lang li .selected {
  text-decoration: underline;
}

#header .logo {
  grid-area: logo;
  width: 155px;
}

#header .logo img {
  width: 100%;
}

#header .menu {
  grid-area: menu;
  margin-top: 20px;
  text-align: right;
}

#header .menu li {
  display: inline-block;
  margin-left: 30px;
}

/* ============================================================
          Media Query
 ============================================================ */
@media (max-width: 767px) {
  #header {
    height: auto;
    padding-top: 13px;
  }
  #header * {
    color: #FFFFFF;
    font-size: 3.73vw;
  }
  #header .logo {
    width: 36.39vw;
  }
  #header .menu {
    margin-top: 8px;
  }
}

#footer {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding-top: 96px;
  padding-bottom: 48px;
  text-align: center;
}

#footer * {
  color: #FFFFFF;
}

#footer h1 {
  margin: 0 auto;
  width: 204px;
}

#footer h1 a {
  width: 100%;
}

#footer ul {
  margin-top: 55px;
}

#footer ul li {
  display: inline-block;
  margin: 0 11px;
}

#footer h3 {
  margin-top: 21px;
}

/* ============================================================
          Media Query
 ============================================================ */
@media (max-width: 768px) {
  #footer {
    padding-top: 25px;
    padding-bottom: 32px;
  }
  #footer h1 {
    width: 100px;
  }
  #footer ul {
    margin-top: 32px;
  }
  #footer ul li {
    margin: 0 9px;
  }
  #footer ul span {
    font-size: 2.67rem;
  }
  #footer h3 {
    font-size: 2.67rem;
  }
}

/* ==============================
        Prompt
 ============================== */
#prompt {
  height: calc(100vh - 30px - 70px - 20px - 50px);
  /*
    100vh - margin-top@header - height@header - margin-top@prompt - padding-(left, right)@container
  */
  width: 100%;
  position: relative;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 13px;
  margin-top: 20px;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  white-space: nowrap;
}

#prompt .back {
  height: 100%;
  width: 100%;
  z-index: -1;
}

#prompt .front {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
}

#prompt .grid {
  height: 100%;
  width: 100%;
  grid-template-columns: 1fr auto 100px auto 4% 1fr;
  grid-template-rows: auto;
  grid-template-areas: "... img ... txt ... ...";
}

#prompt .grid .img-container {
  height: 380px;
  width: 380px;
  grid-area: img;
  margin: auto;
}

#prompt .grid .img-container img {
  width: 100%;
}

#prompt .grid .txt-container {
  grid-area: txt;
  margin: auto;
}

#prompt .scroll-nav-container {
  position: relative;
  text-align: center;
}

#prompt .scroll-nav-container #scroll-nav {
  width: 100px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 50px;
  color: #00CCA3;
  font-size: 1.26rem;
  margin: auto;
}

#prompt .scroll-nav-container #scroll-nav span {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: -30px;
  margin: auto;
  width: 8px;
  height: 8px;
  border-left: 1px solid #00CCA3;
  border-bottom: 1px solid #00CCA3;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* ==============================
        About
 ============================== */
#about {
  padding-top: 70px;
  text-align: center;
}

#about * {
  color: #FFFFFF;
}

#about > h1 {
  font-size: 2.57rem;
}

#about h3 {
  margin-top: 10px;
}

#about .grid {
  grid-template-columns: 1fr 5.5% auto 6.5% auto 1fr;
  grid-template-rows: auto;
  grid-template-areas: "... ... txt ... img ...";
  margin-top: 39px;
}

#about .grid > div {
  margin: auto;
}

#about .grid .txt-container {
  grid-area: txt;
  text-align: left;
}

#about .grid .txt-container h2 {
  font-weight: bold;
}

#about .grid .txt-container p {
  font-size: 1.142rem;
  line-height: 1.8;
  margin-top: 38px;
  margin-left: 5px;
}

#about .grid .img-container {
  grid-area: img;
  width: 512px;
}

#about .grid .img-container img {
  width: 100%;
}

/* ==============================
        Any
 ============================== */
#any {
  padding-top: 70px;
  text-align: center;
}

#any * {
  color: #3B3B3B;
}

#any h3 {
  line-height: 1.5;
  margin-top: 10px;
}

#any .grid {
  grid-template-columns: 1fr auto 54px auto 1%  1fr;
  grid-template-rows: auto;
  grid-template-areas: "... img1 ... img2 ... ...";
  margin-top: 70px;
  padding-bottom: 100px;
}

#any .grid .img-container:first-of-type {
  grid-area: img1;
  margin: 0 auto;
  margin-top: auto;
  width: 600px;
}

#any .grid .img-container:first-of-type img {
  width: 100%;
}

#any .grid .img-container:last-of-type {
  grid-area: img2;
  margin: 0 auto;
  margin-top: auto;
  width: 311px;
}

#any .grid .img-container:last-of-type img {
  width: 100%;
}

/* ==============================
        Step
 ============================== */
#step {
  padding-top: 160px;
  text-align: center;
}

#step > h3 {
  line-height: 1.5;
  margin-top: 30px;
}

#step > h4 {
  color: #FF7482;
  margin-top: 20px;
}

#step .grid {
  grid-template-columns: 1fr auto 20px auto 20px auto 20px auto 1fr;
  grid-template-rows: auto;
  grid-template-areas: "... img1 ... img2 ... img3 ... img4 ...";
  margin-top: 43px;
  padding-bottom: 24px;
}

#step .grid .img-container:first-of-type {
  grid-area: img1;
  width: 286px;
}

#step .grid .img-container:nth-of-type(2) {
  grid-area: img2;
  width: 286px;
}

#step .grid .img-container:nth-of-type(3) {
  grid-area: img3;
  width: 286px;
}

#step .grid .img-container:last-of-type {
  grid-area: img4;
  width: 249px;
}

/* ==============================
        Experience
 ============================== */
#experience {
  padding-top: 76px;
  text-align: center;
}

#experience h1 {
  font-weight: normal;
}

#experience > h3 {
  line-height: 1.5;
  margin-top: 20px;
}

#experience .grid .img-container {
  width: 400px;
  grid-area: img;
  margin: auto;
}

#experience .grid .img-container img {
  width: 100%;
}

#experience .grid .txt-container {
  width: 480px;
  text-align: left;
}

#experience .grid .txt-container h2 {
  color: #00CCA3;
  font-weight: bold;
  line-height: 1.3;
  text-align: left;
}

#experience .grid .txt-container > div {
  padding-left: 7px;
}

#experience .grid .txt-container > div h3 {
  color: #3B3B3B;
  line-height: 1.85;
  margin-top: 43px;
}

#experience .grid .txt-container > div h4 {
  color: #FF7482;
}

#experience .grid .txt-container > div div {
  padding-left: 0;
}

#experience .grid:first-of-type {
  grid-template-columns: 1fr 30px auto 140px auto 1fr;
  grid-template-rows: 520px;
  grid-template-areas: "... ... img ... txt ...";
  margin-top: 95px;
}

#experience .grid:first-of-type .txt-container {
  grid-area: txt;
  margin-top: 77px;
}

#experience .grid:first-of-type .txt-container h4 {
  display: table;
  margin-top: 25px;
}

#experience .grid:first-of-type .txt-container h4 > span {
  display: table-cell;
}

#experience .grid:nth-of-type(2) {
  grid-template-columns: 1fr auto 140px auto 1fr;
  grid-template-areas: "... txt ... img ...";
}

#experience .grid:nth-of-type(2) .txt-container {
  grid-area: txt;
  margin: auto;
}

#experience .grid:nth-of-type(2) .img-container {
  grid-area: img;
}

#experience .grid:nth-of-type(3) {
  grid-template-columns: 1fr auto 140px auto 1fr;
  grid-template-rows: 615px;
  grid-template-areas: "... img ... txt ...";
}

#experience .grid:nth-of-type(3) .img-container {
  grid-area: img;
}

#experience .grid:nth-of-type(3) .txt-container {
  grid-area: txt;
  margin-top: 77px;
}

#experience .grid:nth-of-type(3) .txt-container h4 {
  margin-top: 55px;
}

#experience .grid:nth-of-type(3) .txt-container div {
  margin-top: 26px;
  padding-left: 7px;
  width: 352px;
}

#experience .grid:nth-of-type(3) .txt-container div img {
  width: 100%;
}

#experience .grid:last-of-type {
  grid-template-columns: 1fr auto 140px auto 1fr;
  grid-template-areas: "... txt ... img ...";
}

#experience .grid:last-of-type .txt-container {
  grid-area: txt;
  margin: auto;
}

#experience .grid:last-of-type .img-container {
  grid-area: img;
}

/* ==============================
        Prompt-again
 ============================== */
#prompt-again {
  padding-top: 55px;
  padding-bottom: 58px;
  text-align: center;
}

/* ============================================================
          Media Query
 ============================================================ */
@media (max-width: 767px) {
  /* ==============================
        Sp-animating-container
 ============================== */
  #sp-animating-container {
    height: 100%;
    width: 100%;
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    z-index: 50;
    overflow: hidden;
    -webkit-transition: all .1s;
    transition: all .1s;
    -webkit-transition-delay: 1s;
            transition-delay: 1s;
  }
  #sp-animating-container.active {
    left: -50%;
    right: 50%;
    overflow: hidden;
    -webkit-transition: all .1s;
    transition: all .1s;
    -webkit-transition-delay: 1s;
            transition-delay: 1s;
  }
  /* ==============================
        Prompt
 ============================== */
  #prompt {
    height: calc(100vh - 13px - 57px - 11px - 15px);
    margin-top: 11px;
  }
  #prompt .grid {
    grid-template-columns: 1fr auto 1fr;
    grid-template-rows: 9.36vh auto 5.05vh auto 9.96vh;
    grid-template-areas: "... ... ..." "... img ..." "... ... ..." "... txt ..." "... ... ...";
  }
  #prompt .grid .img-container {
    height: auto;
    width: 64vw;
    grid-area: img;
    margin: auto;
  }
  #prompt .grid .img-container img {
    width: 100%;
  }
  #prompt .grid .txt-container {
    grid-area: txt;
    margin: auto;
  }
  #prompt .scroll-nav-container {
    position: relative;
    text-align: center;
  }
  #prompt .scroll-nav-container #scroll-nav {
    bottom: 3.69vh;
    font-size: 3.2rem;
  }
  #prompt .scroll-nav-container #scroll-nav span {
    bottom: -25px;
    width: 5px;
    height: 5px;
  }
  /* ==============================
        About
 ============================== */
  #about {
    padding-top: 5.54vh;
  }
  #about > h1 {
    font-size: 5.87vw;
  }
  #about h3 {
    font-size: 2.4vw;
    margin-top: 7px;
  }
  #about > div h2 {
    font-size: 4.8vw;
    font-weight: bold;
    margin-top: 24px;
  }
  #about > div .img-container {
    width: 92vw;
    margin: 0 auto;
    margin-top: 36px;
  }
  #about > div .img-container img {
    width: 100%;
  }
  #about > div .txt-container {
    margin-top: 28px;
  }
  #about > div .txt-container p {
    font-size: 3.2rem;
    line-height: 1.8;
  }
  /* ==============================
        Any
 ============================== */
  #any {
    padding-top: 0;
  }
  #any h3 {
    width: 234px;
    margin: 0 auto;
    margin-top: 10px;
  }
  #any .grid {
    grid-template-columns: 1fr auto 18px auto 1%  1fr;
    margin-top: 46px;
    padding-bottom: 37px;
  }
  #any .grid .img-container:first-of-type {
    width: 54.93vw;
  }
  #any .grid .img-container:last-of-type {
    width: 27.2vw;
  }
  /* ==============================
        Step
 ============================== */
  #step {
    padding-top: 1px;
  }
  #step > h3 {
    margin-top: 16px;
  }
  #step > h4 {
    margin-top: 14px;
  }
  #step .grid {
    grid-template-columns: 1fr auto 20px auto 1fr;
    grid-template-rows: auto 19px auto;
    grid-template-areas: "... img1 ... img2 ..." "... ... ... ... ..." "... img3 ... img4 ...";
    margin-top: 32px;
    padding-bottom: 80px;
  }
  #step .grid .img-container:first-of-type {
    width: 38.4vw;
  }
  #step .grid .img-container:nth-of-type(2) {
    width: 33.33vw;
  }
  #step .grid .img-container:nth-of-type(3) {
    width: 38.4vw;
  }
  #step .grid .img-container:last-of-type {
    width: 125px;
    width: 33.33vw;
  }
  /* ==============================
        Experience
 ============================== */
  #experience {
    padding-top: 12px;
  }
  #experience > h3 {
    width: 80vw;
    line-height: 1.8;
    margin: 0 auto;
    margin-top: 30px;
  }
  #experience .grid {
    grid-template-columns: 1fr auto 1fr !important;
    grid-template-rows: auto auto !important;
    grid-template-areas: "... img ..." "... txt ..." !important;
  }
  #experience .grid .img-container {
    width: 36.27vw;
  }
  #experience .grid .txt-container {
    position: relative;
    top: -4vh;
    width: 85.6vw;
  }
  #experience .grid .txt-container h2 {
    width: 69vw;
    color: #00CCA3;
    font-weight: bold;
    line-height: 1.3;
    margin: 0 auto;
    text-align: center;
  }
  #experience .grid .txt-container > div {
    padding-left: 0;
  }
  #experience .grid .txt-container > div h3 {
    margin-top: 29px;
  }
  #experience .grid .txt-container > div div {
    padding-left: 0;
  }
  #experience .grid:first-of-type {
    margin-top: 61px;
  }
  #experience .grid:first-of-type .img-container {
    grid-area: img;
  }
  #experience .grid:first-of-type .txt-container {
    margin-top: 0px;
  }
  #experience .grid:first-of-type .txt-container h4 {
    margin-top: 18px;
  }
  #experience .grid:nth-of-type(2) {
    margin-top: 71px;
  }
  #experience .grid:nth-of-type(3) {
    margin-top: 54px;
  }
  #experience .grid:nth-of-type(3) .txt-container {
    margin-top: 0px;
  }
  #experience .grid:nth-of-type(3) .txt-container > div {
    padding-left: 0;
    text-align: center;
    width: 100%;
  }
  #experience .grid:nth-of-type(3) .txt-container > div div {
    margin: 0 auto;
    margin-top: 17px;
    width: 71.47vw;
  }
  #experience .grid:nth-of-type(3) .txt-container > div div img {
    width: 100%;
  }
  #experience .grid:nth-of-type(3) .txt-container h4 {
    font-size: 4.27rem;
    font-weight: bold;
    margin-top: 37px;
    text-align: center;
  }
  #experience .grid:last-of-type {
    margin-top: 51px;
  }
  /* ==============================
        Prompt-again
 ============================== */
  #prompt-again {
    padding-top: 63px;
    padding-bottom: 67px;
  }
}

/* ==============================
        Complete
 ============================== */
#complete {
  height: calc(100vh - 30px - 70px - 20px - 50px);
  /*
    100vh - margin-top@header - height@header - margin-top@prompt - padding-(left, right)@container
  */
  width: 100%;
  position: relative;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 13px;
  margin-top: 20px;
  margin-bottom: 65px;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  white-space: nowrap;
}

#complete .back {
  height: 100%;
  width: 100%;
  z-index: -1;
}

#complete .front {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
}

#complete .front .txt-container {
  height: 100%;
  width: 100%;
  padding: 20% 0;
  text-align: center;
}

#complete .front .txt-container p {
  color: #3B3B3B;
  font-size: 2rem;
  line-height: 1.5;
}

#complete .front .txt-container a {
  color: #00CCA3;
  cursor: pointer;
  font-size: 2rem;
  line-height: 1.5;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zdHlsZS5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvc3JjL3Nhc3MvX3Jlc2V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcHVibGljL2Fzc2V0cy9zcmMvc2Fzcy9fbm9ybWFsaXplLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcHVibGljL2Fzc2V0cy9zcmMvc2Fzcy9fY29tbW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcHVibGljL2Fzc2V0cy9zcmMvc2Fzcy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcHVibGljL2Fzc2V0cy9zcmMvc2Fzcy9jb21wb25lbnRzL19wcm9tcHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9wdWJsaWMvYXNzZXRzL3NyYy9zYXNzL2NvbXBvbmVudHMvX2JnLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcHVibGljL2Fzc2V0cy9zcmMvc2Fzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcHVibGljL2Fzc2V0cy9zcmMvc2Fzcy9jb21wb25lbnRzL19tb2RhbC5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvc3JjL3Nhc3MvbGF5b3V0cy9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcHVibGljL2Fzc2V0cy9zcmMvc2Fzcy9sYXlvdXRzL19mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9wdWJsaWMvYXNzZXRzL3NyYy9zYXNzL19pbmRleC5zY3NzIiwid2VicGFjazovLy8uL3B1YmxpYy9hc3NldHMvc3JjL3Nhc3MvX2NvbXBsZXRlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCOzs7OztFQUtFO0FBRUY7Ozs7Ozs7Ozs7OztFQVlFLFVBQVE7RUFDUixXQUFTO0VBQ1QsVUFBUTtFQUNSLFdBQVM7RUFDVCxnQkFBYztFQUNkLHlCQUF1QjtFQUN2Qix3QkFBc0I7Q0FDdkI7O0FBQ0Q7RUFDRSxlQUFhO0NBQ2Q7O0FBRUQ7O0VB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O0VBQ0YsWUFBVztFQUVYLG1CQUFrQjtFQUVsQiwyQ0FBeUM7RUFDekMsb0JBQW1CO0VBRW5CLGlCQUFnQjtFQUNoQixvQkFBbUI7RUFDbkIsaUJBQWdCO0VBQ2hCLHdDQUE2QjtVQUE3QixnQ0FBNkI7RUFDN0Isb0JBQW1CO0NBa0NwQjs7QUFsREQ7RUFvQkksYUFBWTtFQUNaLFlBQVc7RUFDWCxZQUFXO0NBQ1o7O0FBdkJIO0VBeUJJLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztFQUNQLFNBQVE7RUFDUixVQUFTO0VBQ1QsYUFBWTtFQUNaLFlBQVc7Q0FrQlo7O0FBakRIO0VBaUNNLGFBQVk7RUFDWixZQUFXO0VBQ1gsZUFBYztFQUNkLG1CQUFrQjtDQVluQjs7QUFoREw7RUFzQ1UsZVJqQks7RVFrQkwsZ0JBQWU7RUFDZixpQkFBZ0I7Q0FDakI7O0FBekNUO0VBMkNVLGVSekJhO0VRMEJiLGdCQUFlO0VBQ2YsZ0JBQWU7RUFDZixpQkFBZ0I7Q0FDakIiLCJmaWxlIjoicHVibGljL2Fzc2V0cy9wdWIvY3NzL3N0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qXG5odG1sNWRvY3Rvci5jb20gUmVzZXQgU3R5bGVzaGVldFxudjEuNFxuMjAwOS0wNy0yN1xuQXV0aG9yOiBSaWNoYXJkIENsYXJrIC0gaHR0cDovL3JpY2hjbGFya2Rlc2lnbi5jb21cbiovXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIG9iamVjdCwgaWZyYW1lLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuYWJiciwgYWRkcmVzcywgY2l0ZSwgY29kZSxcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgc2FtcCxcbnNtYWxsLCBzdHJvbmcsIHN1Yiwgc3VwLCB2YXIsXG5iLCBpLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgZGlhbG9nLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLFxuaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24sXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG5ib2R5IHtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbmFydGljbGUsIGFzaWRlLCBkaWFsb2csIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsXG5oZ3JvdXAsIG5hdiwgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5uYXYgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5ibG9ja3F1b3RlLCBxIHtcbiAgcXVvdGVzOiBub25lO1xufVxuXG5ibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlcixcbnE6YmVmb3JlLCBxOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbmEge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG5pbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY5O1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmOTtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmRlbCB7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG5hYmJyW3RpdGxlXSwgZGZuW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzAwMDtcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG5ociB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjY2NjYztcbiAgbWFyZ2luOiAxZW0gMDtcbiAgcGFkZGluZzogMDtcbn1cblxuaW5wdXQsIHNlbGVjdCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qISBub3JtYWxpemUuY3NzIHY3LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4ge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny0gYW5kIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqL1xuZGV0YWlscyxcbm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhpZGRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmh0bWwsIGJvZHksIGRpdiwgc3Bhbiwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hYmJyLCBhZGRyZXNzLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzYW1wLFxuc21hbGwsIHN0cm9uZywgc3ViLCBzdXAsIHZhcixcbmIsIGksXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbmFydGljbGUsIGFzaWRlLCBkaWFsb2csIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsXG5oZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbixcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gIGZvbnQtZmFtaWx5OiBcImxmdC1ldGljYVwiLCBcImRucC1zaHVlaS1nb3RoaWMta2luLXN0ZFwiLCBcIuODkuODqeOCruODjuinkuOCtCBQcm9cIiwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9cIiwgXCLjg6HjgqTjg6rjgqpcIiwgXCJNZWlyeW9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLmNlemFubmUtcHJvbiB7XG4gIGZvbnQtZmFtaWx5OiBcImZvdC1jZXphbm5lLXByb25cIiwgXCJsZnQtZXRpY2FcIiwgXCJkbnAtc2h1ZWktZ290aGljLWtpbi1zdGRcIiwgXCLjg5Ljg6njgq7jg47op5LjgrQgUHJvXCIsIFwiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvXCIsIFwi44Oh44Kk44Oq44KqXCIsIFwiTWVpcnlvXCIsIHNhbnMtc2VyaWY7XG59XG5cbi5kYWdueS1wcm8ge1xuICBmb250LWZhbWlseTogXCJmZi1kYWdueS13ZWItcHJvXCIsIFwibGZ0LWV0aWNhXCIsIFwiZG5wLXNodWVpLWdvdGhpYy1raW4tc3RkXCIsIFwi44OS44Op44Ku44OO6KeS44K0IFByb1wiLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIuODoeOCpOODquOCqlwiLCBcIk1laXJ5b1wiLCBzYW5zLXNlcmlmO1xufVxuXG4uZnV0by1nbyB7XG4gIGZvbnQtZmFtaWx5OiBcImEtb3RmLWZ1dG8tZ28tYjEwMS1wcjVuXCIsIFwibGZ0LWV0aWNhXCIsIFwiZG5wLXNodWVpLWdvdGhpYy1raW4tc3RkXCIsIFwi44OS44Op44Ku44OO6KeS44K0IFByb1wiLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIuODoeOCpOODquOCqlwiLCBcIk1laXJ5b1wiLCBzYW5zLXNlcmlmO1xufVxuXG4uZnV0dXJhLXB0IHtcbiAgZm9udC1mYW1pbHk6IFwiZnV0dXJhIFBUXCIsIFwiZnV0dXJhXCIsIFwibGZ0LWV0aWNhXCIsIFwiZG5wLXNodWVpLWdvdGhpYy1raW4tc3RkXCIsIFwi44OS44Op44Ku44OO6KeS44K0IFByb1wiLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIuODoeOCpOODquOCqlwiLCBcIk1laXJ5b1wiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmZ1dHVyYS1wdCBzcGFuIHtcbiAgZm9udC1mYW1pbHk6IFwiZnV0dXJhIFBUXCIsIFwiZnV0dXJhXCIsIFwibGZ0LWV0aWNhXCIsIFwiZG5wLXNodWVpLWdvdGhpYy1raW4tc3RkXCIsIFwi44OS44Op44Ku44OO6KeS44K0IFByb1wiLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIuODoeOCpOODquOCqlwiLCBcIk1laXJ5b1wiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLm1pZGFzaGktZ28ge1xuICBmb250LWZhbWlseTogXCJhLW90Zi1taWRhc2hpLWdvLW1iMzEtcHI1blwiLCBcImxmdC1ldGljYVwiLCBcImRucC1zaHVlaS1nb3RoaWMta2luLXN0ZFwiLCBcIuODkuODqeOCruODjuinkuOCtCBQcm9cIiwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9cIiwgXCLjg6HjgqTjg6rjgqpcIiwgXCJNZWlyeW9cIiwgc2Fucy1zZXJpZjtcbn1cblxuKiB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQ0NBMztcbiAgZm9udC1zaXplOiA4Ny41JTtcbn1cblxuYm9keSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuYm9keS5hY3RpdmUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogNC4yODVyZW07XG4gIG1hcmdpbjogMDtcbn1cblxuaDIge1xuICBmb250LXNpemU6IDIuMTQycmVtO1xuICBtYXJnaW46IDA7XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjE0MnJlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG5hIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5saSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5maXhlciB7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5jb250YWluZXIge1xuICBwYWRkaW5nOiAwIDUwcHg7XG59XG5cbi50eHQtY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuLmdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xufVxuXG4uZ3JhZGllbnQgaW1nIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm8tZ3JlZW4ge1xuICBjb2xvcjogIzAwQ0NBMyAhaW1wb3J0YW50O1xufVxuXG4ucGMtbm9uZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICAgIE1lZGlhIFF1ZXJ5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMzI5cHgpIHtcbiAgLmZpeGVyIHtcbiAgICB3aWR0aDogMTMzMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICBodG1sIHtcbiAgICBmb250LXNpemU6IDF2dztcbiAgfVxuICBoMSB7XG4gICAgZm9udC1zaXplOiA4cmVtO1xuICB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDQuMjdyZW07XG4gIH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICB9XG4gIGg0IHtcbiAgICBmb250LXNpemU6IDIuNjdyZW07XG4gIH1cbiAgLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICB9XG4gIC5wYy1ub25lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuc3Atbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucHJvbXB0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC03cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogYXV0bztcbn1cblxuLnByb21wdCBwOmZpcnN0LW9mLXR5cGUge1xuICBjb2xvcjogIzNCM0IzQjtcbiAgZm9udC1zaXplOiAycmVtO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4ucHJvbXB0IHA6bnRoLW9mLXR5cGUoMikge1xuICB3aWR0aDogMzk5cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRjc0ODI7XG4gIGJvcmRlci1yYWRpdXM6IDEzcHg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDEuMTQycmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgcGFkZGluZzogOXB4IDA7XG59XG5cbi5wcm9tcHQgcDpudGgtb2YtdHlwZSgzKSB7XG4gIGNvbG9yOiAjM0IzQjNCO1xuICBmb250LXNpemU6IDEuNzFyZW07XG4gIG1hcmdpbi1ib3R0b206IDQ1cHg7XG59XG5cbi5wcm9tcHQgcDpsYXN0LW9mLXR5cGUge1xuICB3aWR0aDogNDA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMENDQTM7XG4gIGJvcmRlci1yYWRpdXM6IDIxcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS4xNDJyZW07XG4gIGNvbG9yOiAjMDBDQ0EzO1xuICBwYWRkaW5nOiAyMXB4IDA7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ucHJvbXB0IHA6bGFzdC1vZi10eXBlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQ0NBMztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICAgIE1lZGlhIFF1ZXJ5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnByb21wdCBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjF2aDtcbiAgfVxuICAucHJvbXB0IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgZm9udC1zaXplOiA0LjI3cmVtO1xuICB9XG4gIC5wcm9tcHQgcDpudGgtb2YtdHlwZSgyKSB7XG4gICAgd2lkdGg6IDcxLjczdnc7XG4gICAgYm9yZGVyLXJhZGl1czogMi43M3Z3O1xuICAgIGZvbnQtc2l6ZTogMi42N3JlbTtcbiAgICBwYWRkaW5nOiA2cHggMDtcbiAgfVxuICAucHJvbXB0IHA6bnRoLW9mLXR5cGUoMykge1xuICAgIGNvbG9yOiAjM0IzQjNCO1xuICAgIGZvbnQtc2l6ZTogNC4yN3JlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA0Ljh2aDtcbiAgfVxuICAucHJvbXB0IHA6bGFzdC1vZi10eXBlIHtcbiAgICB3aWR0aDogNzEuNzN2dztcbiAgICBib3JkZXItcmFkaXVzOiAzLjczdnc7XG4gICAgZm9udC1zaXplOiAyLjY3cmVtO1xuICAgIHBhZGRpbmc6IDEuNzJ2aCAwO1xuICB9XG59XG5cbi5iZy1ncmVlbi13aGl0ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAzMDBweDtcbn1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cblxuLmJnLXNucyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9iZ19zbnNAMngucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5iZy13aGl0ZS1ncmVlbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAzMjdweDtcbn1cblxuLmJnLXdoaXRlLWdyZWVuIGltZyB7XG4gIGhlaWdodDogMTEwJTtcbn1cblxuI2JnLWFuaW1hdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuI2JnLWFuaW1hdGlvbiAjYW5pbWF0aW9uLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyRjJGMjtcbn1cblxuI2JnLWFuaW1hdGlvbiAjYW5pbWF0aW9uLWNvbnRhaW5lciBjYW52YXMge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgICBNZWRpYSBRdWVyeVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5iZy1ncmVlbi13aGl0ZSB7XG4gICAgaGVpZ2h0OiAxOC40N3ZoO1xuICB9XG4gIC5iZy13aGl0ZS1ncmVlbiB7XG4gICAgaGVpZ2h0OiAxNzNweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgI3NwLWhlYWRlci1tZW51IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgI3NwLWhlYWRlci1tZW51IGkge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA1cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2xvZ28uc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4zcztcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMGRlZyk7XG4gIH1cbiAgI3NwLWhlYWRlci1tZW51LmFjdGl2ZSBpIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooLTkwZGVnKTtcbiAgfVxuICAjc3AtbWVudSB7XG4gICAgaGVpZ2h0OiAzM3B4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDI1cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwQ0NBMztcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzLjczdnc7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMy43M3Z3O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDI4LjE1cHg7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIH1cbiAgI3NwLW1lbnUgc3BhbiB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gIH1cbiAgI3NwLW1lbnUgaSB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvbG9nby5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzO1xuICAgIHRyYW5zZm9ybTogcm90YXRlWigwZGVnKTtcbiAgfVxuICAjc3AtbWVudS5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBhbmltYXRpb246IHNob3dTcE1lbnUgLjFzIGxpbmVhciAxcztcbiAgfVxuICAjc3AtbWVudS5hY3RpdmUgaSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKC05MGRlZyk7XG4gIH1cbiAgQGtleWZyYW1lcyBzaG93U3BNZW51IHtcbiAgICAwJSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbiNtYWlsLW5vdGlmaWNhdGlvbi1tb2RhbCB7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgZGlzcGxheTogbm9uZTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBvdmVyZmxvdzogc2Nyb2xsO1xuICBwYWRkaW5nLXRvcDogMjA2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI21haWwtbm90aWZpY2F0aW9uLW1vZGFsICoge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuI21haWwtbm90aWZpY2F0aW9uLW1vZGFsIGgyIHtcbiAgY29sb3I6ICMwMENDQTM7XG59XG5cbiNtYWlsLW5vdGlmaWNhdGlvbi1tb2RhbCA+IGgzIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjM7XG4gIG1hcmdpbi10b3A6IDI5cHg7XG59XG5cbiNtYWlsLW5vdGlmaWNhdGlvbi1tb2RhbCBmb3JtIGgzIHtcbiAgbWFyZ2luLXRvcDogNTJweDtcbn1cblxuI21haWwtbm90aWZpY2F0aW9uLW1vZGFsIGZvcm0gI21haWwtYWRkcmVzcy1pbnB1dC1sYWJlbC5hY3RpdmUge1xuICBjb2xvcjogI0ZGNzQ4Mjtcbn1cblxuI21haWwtbm90aWZpY2F0aW9uLW1vZGFsIGZvcm0gI21haWwtYWRkcmVzcy1pbnB1dCB7XG4gIGhlaWdodDogNTlweDtcbiAgd2lkdGg6IDU0MnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDBDQ0EzO1xuICBib3JkZXItcmFkaXVzOiAyMXB4O1xuICBjb2xvcjogI0JFQzBDMjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogNTlweDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgcGFkZGluZzogMCAyN3B4O1xufVxuXG4jbWFpbC1ub3RpZmljYXRpb24tbW9kYWwgZm9ybSAjbWFpbC1hZGRyZXNzLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNCRUMwQzI7XG59XG5cbiNtYWlsLW5vdGlmaWNhdGlvbi1tb2RhbCBmb3JtICNtYWlsLWFkZHJlc3MtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI0JFQzBDMjtcbn1cblxuI21haWwtbm90aWZpY2F0aW9uLW1vZGFsIGZvcm0gI21haWwtYWRkcmVzcy1pbnB1dDotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNCRUMwQzI7XG59XG5cbiNtYWlsLW5vdGlmaWNhdGlvbi1tb2RhbCBmb3JtICNtYWlsLWFkZHJlc3MtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNCRUMwQzI7XG59XG5cbiNtYWlsLW5vdGlmaWNhdGlvbi1tb2RhbCBmb3JtICNtYWlsLWFkZHJlc3MtaW5wdXQ6cGxhY2Vob2xkZXItc2hvd24ge1xuICBjb2xvcjogI0JFQzBDMjtcbn1cblxuI21haWwtbm90aWZpY2F0aW9uLW1vZGFsIGZvcm0gcCB7XG4gIHdpZHRoOiA1MzJweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMi41O1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLXRvcDogMjVweDtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuI21haWwtbm90aWZpY2F0aW9uLW1vZGFsIGZvcm0gcCBhIHtcbiAgY29sb3I6ICMwMENDQTM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbiNtYWlsLW5vdGlmaWNhdGlvbi1tb2RhbCBmb3JtIHAgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuI21haWwtbm90aWZpY2F0aW9uLW1vZGFsIGZvcm0gI3N0b3BwZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbiNtYWlsLW5vdGlmaWNhdGlvbi1tb2RhbCBmb3JtICNhZ3JlZWQtaW5wdXQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jbWFpbC1ub3RpZmljYXRpb24tbW9kYWwgZm9ybSAjYWdyZWVkLWlucHV0ICsgbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjE0MnJlbTtcbiAgbWFyZ2luLXRvcDogMjVweDtcbn1cblxuI21haWwtbm90aWZpY2F0aW9uLW1vZGFsIGZvcm0gI2FncmVlZC1pbnB1dCArIGxhYmVsOjpiZWZvcmUge1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xuICBjb250ZW50OiBcIlwiO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMXB4O1xuICBsZWZ0OiAtNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwQ0NBMztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBkaXBzbGF5OiBibG9jaztcbn1cblxuI21haWwtbm90aWZpY2F0aW9uLW1vZGFsIGZvcm0gI2FncmVlZC1pbnB1dDpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgaGVpZ2h0OiAyMXB4O1xuICB3aWR0aDogOHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTdweDtcbiAgbGVmdDogLTMycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAzcHggc29saWQgIzAwQ0NBMztcbiAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgIzAwQ0NBMztcbiAgY29udGVudDogXCJcIjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0MGRlZyk7XG59XG5cbiNtYWlsLW5vdGlmaWNhdGlvbi1tb2RhbCBmb3JtICNtYWlsLW5vdGlmaWNhdGlvbi1mb3JtLWFsZXJ0ZXIge1xuICBoZWlnaHQ6IDE0cHg7XG4gIGNvbG9yOiAjRkY3NDgyO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBtYXJnaW4tdG9wOiAxM3B4O1xufVxuXG4jbWFpbC1ub3RpZmljYXRpb24tbW9kYWwgZm9ybSBidXR0b24ge1xuICBoZWlnaHQ6IDU5cHg7XG4gIHdpZHRoOiAxMTZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQ0NBMztcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAyMXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDU5cHg7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbiNtYWlsLW5vdGlmaWNhdGlvbi1tb2RhbC5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgICAgTWVkaWEgUXVlcnlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIFNwLWFuaW1hdGluZy1tZW51LW1vZGFsXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAjc3AtYW5pbWF0aW5nLW1lbnUtbW9kYWwge1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJGMkYyO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMXM7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMXM7XG4gIH1cbiAgI3NwLWFuaW1hdGluZy1tZW51LW1vZGFsICoge1xuICAgIGNvbG9yOiAjMDBDQ0EzO1xuICAgIGZvbnQtc2l6ZTogMi45M3Z3O1xuICB9XG4gICNzcC1hbmltYXRpbmctbWVudS1tb2RhbCB1bCB7XG4gICAgcGFkZGluZy10b3A6IDMuNTd2aDtcbiAgICBwYWRkaW5nLWxlZnQ6IDUuODd2dztcbiAgfVxuICAjc3AtYW5pbWF0aW5nLW1lbnUtbW9kYWwgdWwgbGkgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDI2cHg7XG4gIH1cbiAgI3NwLWFuaW1hdGluZy1tZW51LW1vZGFsIHVsIGxpIGE6OmJlZm9yZSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9sb2dvMi5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuICAjc3AtYW5pbWF0aW5nLW1lbnUtbW9kYWwuYWN0aXZlIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xcztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxcztcbiAgfVxuICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIE1haWwtbm90aWZpY2F0aW9uLW1vZGFsXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAjbWFpbC1ub3RpZmljYXRpb24tbW9kYWwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICBwYWRkaW5nOiAxMi42NnZoIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICNtYWlsLW5vdGlmaWNhdGlvbi1tb2RhbCAqIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgfVxuICAjbWFpbC1ub3RpZmljYXRpb24tbW9kYWwgaDIge1xuICAgIGNvbG9yOiAjMDBDQ0EzO1xuICB9XG4gICNtYWlsLW5vdGlmaWNhdGlvbi1tb2RhbCA+IGgzIHtcbiAgICBsaW5lLWhlaWdodDogMS42MztcbiAgICBtYXJnaW4tdG9wOiAyLjc3dmg7XG4gIH1cbiAgI21haWwtbm90aWZpY2F0aW9uLW1vZGFsIGZvcm0gaDMge1xuICAgIG1hcmdpbi10b3A6IDQuOTZ2aDtcbiAgfVxuICAjbWFpbC1ub3RpZmljYXRpb24tbW9kYWwgZm9ybSAjbWFpbC1hZGRyZXNzLWlucHV0LWxhYmVsLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNGRjc0ODI7XG4gIH1cbiAgI21haWwtbm90aWZpY2F0aW9uLW1vZGFsIGZvcm0gI21haWwtYWRkcmVzcy1pbnB1dCB7XG4gICAgaGVpZ2h0OiA1LjYzdmg7XG4gICAgd2lkdGg6IDkydnc7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBmb250LXNpemU6IDQuMjdyZW07XG4gICAgbGluZS1oZWlnaHQ6IDUuNjN2aDtcbiAgICBtYXJnaW4tdG9wOiAxLjkxdmg7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICB9XG4gICNtYWlsLW5vdGlmaWNhdGlvbi1tb2RhbCBmb3JtIHAge1xuICAgIHdpZHRoOiA5MC41dnc7XG4gICAgZm9udC1zaXplOiAzLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNTtcbiAgICBtYXJnaW4tdG9wOiAyLjQ0dmg7XG4gIH1cbiAgI21haWwtbm90aWZpY2F0aW9uLW1vZGFsIGZvcm0gI2FncmVlZC1pbnB1dCArIGxhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMy43M3Z3O1xuICAgIG1hcmdpbnQtdG9wOiAyLjM5dmg7XG4gIH1cbiAgI21haWwtbm90aWZpY2F0aW9uLW1vZGFsIGZvcm0gI2FncmVlZC1pbnB1dCArIGxhYmVsOjpiZWZvcmUge1xuICAgIGhlaWdodDogMThweDtcbiAgICB3aWR0aDogMThweDtcbiAgICB0b3A6IC0xcHg7XG4gICAgbGVmdDogLTQwcHg7XG4gIH1cbiAgI21haWwtbm90aWZpY2F0aW9uLW1vZGFsIGZvcm0gI2FncmVlZC1pbnB1dDpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgICBoZWlnaHQ6IDE5cHg7XG4gICAgd2lkdGg6IDZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNnB4O1xuICAgIGxlZnQ6IC0zMnB4O1xuICB9XG4gICNtYWlsLW5vdGlmaWNhdGlvbi1tb2RhbCBmb3JtICNtYWlsLW5vdGlmaWNhdGlvbi1mb3JtLWFsZXJ0ZXIge1xuICAgIGhlaWdodDogMy4ycmVtO1xuICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzLjJyZW07XG4gICAgbWFyZ2luLXRvcDogMS4yNHZoO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAjbWFpbC1ub3RpZmljYXRpb24tbW9kYWwgZm9ybSBidXR0b24ge1xuICAgIGhlaWdodDogNTVweDtcbiAgICB3aWR0aDogMTEycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwQ0NBMztcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiA0LjI3cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgIG1hcmdpbi10b3A6IDIuMjl2aDtcbiAgfVxufVxuXG4jaGVhZGVyIHtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG59XG5cbiNoZWFkZXIgKiB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbiNoZWFkZXIgLmdyaWQge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICBncmlkLWF1dG8tcm93czogYXV0byBhdXRvO1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcIi4uLiBsYW5nXCIgXCJsb2dvIG1lbnVcIjtcbn1cblxuI2hlYWRlciAubGFuZyB7XG4gIGdyaWQtYXJlYTogbGFuZztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbiNoZWFkZXIgLmxhbmcgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbiNoZWFkZXIgLmxhbmcgbGkgc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuI2hlYWRlciAubGFuZyBsaSAuc2VsZWN0ZWQge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuI2hlYWRlciAubG9nbyB7XG4gIGdyaWQtYXJlYTogbG9nbztcbiAgd2lkdGg6IDE1NXB4O1xufVxuXG4jaGVhZGVyIC5sb2dvIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jaGVhZGVyIC5tZW51IHtcbiAgZ3JpZC1hcmVhOiBtZW51O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuI2hlYWRlciAubWVudSBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICAgIE1lZGlhIFF1ZXJ5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgI2hlYWRlciB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAxM3B4O1xuICB9XG4gICNoZWFkZXIgKiB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZm9udC1zaXplOiAzLjczdnc7XG4gIH1cbiAgI2hlYWRlciAubG9nbyB7XG4gICAgd2lkdGg6IDM2LjM5dnc7XG4gIH1cbiAgI2hlYWRlciAubWVudSB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICB9XG59XG5cbiNmb290ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmctdG9wOiA5NnB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jZm9vdGVyICoge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuI2Zvb3RlciBoMSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMjA0cHg7XG59XG5cbiNmb290ZXIgaDEgYSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jZm9vdGVyIHVsIHtcbiAgbWFyZ2luLXRvcDogNTVweDtcbn1cblxuI2Zvb3RlciB1bCBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDExcHg7XG59XG5cbiNmb290ZXIgaDMge1xuICBtYXJnaW4tdG9wOiAyMXB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgICBNZWRpYSBRdWVyeVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNmb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICB9XG4gICNmb290ZXIgaDEge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgfVxuICAjZm9vdGVyIHVsIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICB9XG4gICNmb290ZXIgdWwgbGkge1xuICAgIG1hcmdpbjogMCA5cHg7XG4gIH1cbiAgI2Zvb3RlciB1bCBzcGFuIHtcbiAgICBmb250LXNpemU6IDIuNjdyZW07XG4gIH1cbiAgI2Zvb3RlciBoMyB7XG4gICAgZm9udC1zaXplOiAyLjY3cmVtO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICBQcm9tcHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNwcm9tcHQge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAzMHB4IC0gNzBweCAtIDIwcHggLSA1MHB4KTtcbiAgLypcbiAgICAxMDB2aCAtIG1hcmdpbi10b3BAaGVhZGVyIC0gaGVpZ2h0QGhlYWRlciAtIG1hcmdpbi10b3BAcHJvbXB0IC0gcGFkZGluZy0obGVmdCwgcmlnaHQpQGNvbnRhaW5lclxuICAqL1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGJvcmRlci1yYWRpdXM6IDEzcHg7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbiNwcm9tcHQgLmJhY2sge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbn1cblxuI3Byb21wdCAuZnJvbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuI3Byb21wdCAuZ3JpZCB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG8gMTAwcHggYXV0byA0JSAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCIuLi4gaW1nIC4uLiB0eHQgLi4uIC4uLlwiO1xufVxuXG4jcHJvbXB0IC5ncmlkIC5pbWctY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAzODBweDtcbiAgd2lkdGg6IDM4MHB4O1xuICBncmlkLWFyZWE6IGltZztcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4jcHJvbXB0IC5ncmlkIC5pbWctY29udGFpbmVyIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jcHJvbXB0IC5ncmlkIC50eHQtY29udGFpbmVyIHtcbiAgZ3JpZC1hcmVhOiB0eHQ7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuI3Byb21wdCAuc2Nyb2xsLW5hdi1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3Byb21wdCAuc2Nyb2xsLW5hdi1jb250YWluZXIgI3Njcm9sbC1uYXYge1xuICB3aWR0aDogMTAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogNTBweDtcbiAgY29sb3I6ICMwMENDQTM7XG4gIGZvbnQtc2l6ZTogMS4yNnJlbTtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4jcHJvbXB0IC5zY3JvbGwtbmF2LWNvbnRhaW5lciAjc2Nyb2xsLW5hdiBzcGFuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IC0zMHB4O1xuICBtYXJnaW46IGF1dG87XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMwMENDQTM7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDBDQ0EzO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICBBYm91dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI2Fib3V0IHtcbiAgcGFkZGluZy10b3A6IDcwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI2Fib3V0ICoge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuI2Fib3V0ID4gaDEge1xuICBmb250LXNpemU6IDIuNTdyZW07XG59XG5cbiNhYm91dCBoMyB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbiNhYm91dCAuZ3JpZCB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDUuNSUgYXV0byA2LjUlIGF1dG8gMWZyO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiLi4uIC4uLiB0eHQgLi4uIGltZyAuLi5cIjtcbiAgbWFyZ2luLXRvcDogMzlweDtcbn1cblxuI2Fib3V0IC5ncmlkID4gZGl2IHtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4jYWJvdXQgLmdyaWQgLnR4dC1jb250YWluZXIge1xuICBncmlkLWFyZWE6IHR4dDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuI2Fib3V0IC5ncmlkIC50eHQtY29udGFpbmVyIGgyIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbiNhYm91dCAuZ3JpZCAudHh0LWNvbnRhaW5lciBwIHtcbiAgZm9udC1zaXplOiAxLjE0MnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgbWFyZ2luLXRvcDogMzhweDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuI2Fib3V0IC5ncmlkIC5pbWctY29udGFpbmVyIHtcbiAgZ3JpZC1hcmVhOiBpbWc7XG4gIHdpZHRoOiA1MTJweDtcbn1cblxuI2Fib3V0IC5ncmlkIC5pbWctY29udGFpbmVyIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgQW55XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jYW55IHtcbiAgcGFkZGluZy10b3A6IDcwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI2FueSAqIHtcbiAgY29sb3I6ICMzQjNCM0I7XG59XG5cbiNhbnkgaDMge1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4jYW55IC5ncmlkIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0byA1NHB4IGF1dG8gMSUgIDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcIi4uLiBpbWcxIC4uLiBpbWcyIC4uLiAuLi5cIjtcbiAgbWFyZ2luLXRvcDogNzBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xufVxuXG4jYW55IC5ncmlkIC5pbWctY29udGFpbmVyOmZpcnN0LW9mLXR5cGUge1xuICBncmlkLWFyZWE6IGltZzE7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICB3aWR0aDogNjAwcHg7XG59XG5cbiNhbnkgLmdyaWQgLmltZy1jb250YWluZXI6Zmlyc3Qtb2YtdHlwZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuI2FueSAuZ3JpZCAuaW1nLWNvbnRhaW5lcjpsYXN0LW9mLXR5cGUge1xuICBncmlkLWFyZWE6IGltZzI7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICB3aWR0aDogMzExcHg7XG59XG5cbiNhbnkgLmdyaWQgLmltZy1jb250YWluZXI6bGFzdC1vZi10eXBlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgU3RlcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI3N0ZXAge1xuICBwYWRkaW5nLXRvcDogMTYwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3N0ZXAgPiBoMyB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbiNzdGVwID4gaDQge1xuICBjb2xvcjogI0ZGNzQ4MjtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuI3N0ZXAgLmdyaWQge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvIDIwcHggYXV0byAyMHB4IGF1dG8gMjBweCBhdXRvIDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcIi4uLiBpbWcxIC4uLiBpbWcyIC4uLiBpbWczIC4uLiBpbWc0IC4uLlwiO1xuICBtYXJnaW4tdG9wOiA0M3B4O1xuICBwYWRkaW5nLWJvdHRvbTogMjRweDtcbn1cblxuI3N0ZXAgLmdyaWQgLmltZy1jb250YWluZXI6Zmlyc3Qtb2YtdHlwZSB7XG4gIGdyaWQtYXJlYTogaW1nMTtcbiAgd2lkdGg6IDI4NnB4O1xufVxuXG4jc3RlcCAuZ3JpZCAuaW1nLWNvbnRhaW5lcjpudGgtb2YtdHlwZSgyKSB7XG4gIGdyaWQtYXJlYTogaW1nMjtcbiAgd2lkdGg6IDI4NnB4O1xufVxuXG4jc3RlcCAuZ3JpZCAuaW1nLWNvbnRhaW5lcjpudGgtb2YtdHlwZSgzKSB7XG4gIGdyaWQtYXJlYTogaW1nMztcbiAgd2lkdGg6IDI4NnB4O1xufVxuXG4jc3RlcCAuZ3JpZCAuaW1nLWNvbnRhaW5lcjpsYXN0LW9mLXR5cGUge1xuICBncmlkLWFyZWE6IGltZzQ7XG4gIHdpZHRoOiAyNDlweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgIEV4cGVyaWVuY2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNleHBlcmllbmNlIHtcbiAgcGFkZGluZy10b3A6IDc2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI2V4cGVyaWVuY2UgaDEge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4jZXhwZXJpZW5jZSA+IGgzIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuI2V4cGVyaWVuY2UgLmdyaWQgLmltZy1jb250YWluZXIge1xuICB3aWR0aDogNDAwcHg7XG4gIGdyaWQtYXJlYTogaW1nO1xuICBtYXJnaW46IGF1dG87XG59XG5cbiNleHBlcmllbmNlIC5ncmlkIC5pbWctY29udGFpbmVyIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jZXhwZXJpZW5jZSAuZ3JpZCAudHh0LWNvbnRhaW5lciB7XG4gIHdpZHRoOiA0ODBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuI2V4cGVyaWVuY2UgLmdyaWQgLnR4dC1jb250YWluZXIgaDIge1xuICBjb2xvcjogIzAwQ0NBMztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbiNleHBlcmllbmNlIC5ncmlkIC50eHQtY29udGFpbmVyID4gZGl2IHtcbiAgcGFkZGluZy1sZWZ0OiA3cHg7XG59XG5cbiNleHBlcmllbmNlIC5ncmlkIC50eHQtY29udGFpbmVyID4gZGl2IGgzIHtcbiAgY29sb3I6ICMzQjNCM0I7XG4gIGxpbmUtaGVpZ2h0OiAxLjg1O1xuICBtYXJnaW4tdG9wOiA0M3B4O1xufVxuXG4jZXhwZXJpZW5jZSAuZ3JpZCAudHh0LWNvbnRhaW5lciA+IGRpdiBoNCB7XG4gIGNvbG9yOiAjRkY3NDgyO1xufVxuXG4jZXhwZXJpZW5jZSAuZ3JpZCAudHh0LWNvbnRhaW5lciA+IGRpdiBkaXYge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbiNleHBlcmllbmNlIC5ncmlkOmZpcnN0LW9mLXR5cGUge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzMHB4IGF1dG8gMTQwcHggYXV0byAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogNTIwcHg7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiLi4uIC4uLiBpbWcgLi4uIHR4dCAuLi5cIjtcbiAgbWFyZ2luLXRvcDogOTVweDtcbn1cblxuI2V4cGVyaWVuY2UgLmdyaWQ6Zmlyc3Qtb2YtdHlwZSAudHh0LWNvbnRhaW5lciB7XG4gIGdyaWQtYXJlYTogdHh0O1xuICBtYXJnaW4tdG9wOiA3N3B4O1xufVxuXG4jZXhwZXJpZW5jZSAuZ3JpZDpmaXJzdC1vZi10eXBlIC50eHQtY29udGFpbmVyIGg0IHtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG59XG5cbiNleHBlcmllbmNlIC5ncmlkOmZpcnN0LW9mLXR5cGUgLnR4dC1jb250YWluZXIgaDQgPiBzcGFuIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbn1cblxuI2V4cGVyaWVuY2UgLmdyaWQ6bnRoLW9mLXR5cGUoMikge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvIDE0MHB4IGF1dG8gMWZyO1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcIi4uLiB0eHQgLi4uIGltZyAuLi5cIjtcbn1cblxuI2V4cGVyaWVuY2UgLmdyaWQ6bnRoLW9mLXR5cGUoMikgLnR4dC1jb250YWluZXIge1xuICBncmlkLWFyZWE6IHR4dDtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4jZXhwZXJpZW5jZSAuZ3JpZDpudGgtb2YtdHlwZSgyKSAuaW1nLWNvbnRhaW5lciB7XG4gIGdyaWQtYXJlYTogaW1nO1xufVxuXG4jZXhwZXJpZW5jZSAuZ3JpZDpudGgtb2YtdHlwZSgzKSB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG8gMTQwcHggYXV0byAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogNjE1cHg7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiLi4uIGltZyAuLi4gdHh0IC4uLlwiO1xufVxuXG4jZXhwZXJpZW5jZSAuZ3JpZDpudGgtb2YtdHlwZSgzKSAuaW1nLWNvbnRhaW5lciB7XG4gIGdyaWQtYXJlYTogaW1nO1xufVxuXG4jZXhwZXJpZW5jZSAuZ3JpZDpudGgtb2YtdHlwZSgzKSAudHh0LWNvbnRhaW5lciB7XG4gIGdyaWQtYXJlYTogdHh0O1xuICBtYXJnaW4tdG9wOiA3N3B4O1xufVxuXG4jZXhwZXJpZW5jZSAuZ3JpZDpudGgtb2YtdHlwZSgzKSAudHh0LWNvbnRhaW5lciBoNCB7XG4gIG1hcmdpbi10b3A6IDU1cHg7XG59XG5cbiNleHBlcmllbmNlIC5ncmlkOm50aC1vZi10eXBlKDMpIC50eHQtY29udGFpbmVyIGRpdiB7XG4gIG1hcmdpbi10b3A6IDI2cHg7XG4gIHBhZGRpbmctbGVmdDogN3B4O1xuICB3aWR0aDogMzUycHg7XG59XG5cbiNleHBlcmllbmNlIC5ncmlkOm50aC1vZi10eXBlKDMpIC50eHQtY29udGFpbmVyIGRpdiBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuI2V4cGVyaWVuY2UgLmdyaWQ6bGFzdC1vZi10eXBlIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0byAxNDBweCBhdXRvIDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCIuLi4gdHh0IC4uLiBpbWcgLi4uXCI7XG59XG5cbiNleHBlcmllbmNlIC5ncmlkOmxhc3Qtb2YtdHlwZSAudHh0LWNvbnRhaW5lciB7XG4gIGdyaWQtYXJlYTogdHh0O1xuICBtYXJnaW46IGF1dG87XG59XG5cbiNleHBlcmllbmNlIC5ncmlkOmxhc3Qtb2YtdHlwZSAuaW1nLWNvbnRhaW5lciB7XG4gIGdyaWQtYXJlYTogaW1nO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgUHJvbXB0LWFnYWluXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jcHJvbXB0LWFnYWluIHtcbiAgcGFkZGluZy10b3A6IDU1cHg7XG4gIHBhZGRpbmctYm90dG9tOiA1OHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICAgIE1lZGlhIFF1ZXJ5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgIFNwLWFuaW1hdGluZy1jb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgI3NwLWFuaW1hdGluZy1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogNTA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjFzO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDFzO1xuICB9XG4gICNzcC1hbmltYXRpbmctY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgbGVmdDogLTUwJTtcbiAgICByaWdodDogNTAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xcztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxcztcbiAgfVxuICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgUHJvbXB0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICNwcm9tcHQge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEzcHggLSA1N3B4IC0gMTFweCAtIDE1cHgpO1xuICAgIG1hcmdpbi10b3A6IDExcHg7XG4gIH1cbiAgI3Byb21wdCAuZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0byAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiA5LjM2dmggYXV0byA1LjA1dmggYXV0byA5Ljk2dmg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCIuLi4gLi4uIC4uLlwiIFwiLi4uIGltZyAuLi5cIiBcIi4uLiAuLi4gLi4uXCIgXCIuLi4gdHh0IC4uLlwiIFwiLi4uIC4uLiAuLi5cIjtcbiAgfVxuICAjcHJvbXB0IC5ncmlkIC5pbWctY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDY0dnc7XG4gICAgZ3JpZC1hcmVhOiBpbWc7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gICNwcm9tcHQgLmdyaWQgLmltZy1jb250YWluZXIgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAjcHJvbXB0IC5ncmlkIC50eHQtY29udGFpbmVyIHtcbiAgICBncmlkLWFyZWE6IHR4dDtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgI3Byb21wdCAuc2Nyb2xsLW5hdi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgI3Byb21wdCAuc2Nyb2xsLW5hdi1jb250YWluZXIgI3Njcm9sbC1uYXYge1xuICAgIGJvdHRvbTogMy42OXZoO1xuICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICB9XG4gICNwcm9tcHQgLnNjcm9sbC1uYXYtY29udGFpbmVyICNzY3JvbGwtbmF2IHNwYW4ge1xuICAgIGJvdHRvbTogLTI1cHg7XG4gICAgd2lkdGg6IDVweDtcbiAgICBoZWlnaHQ6IDVweDtcbiAgfVxuICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgQWJvdXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgI2Fib3V0IHtcbiAgICBwYWRkaW5nLXRvcDogNS41NHZoO1xuICB9XG4gICNhYm91dCA+IGgxIHtcbiAgICBmb250LXNpemU6IDUuODd2dztcbiAgfVxuICAjYWJvdXQgaDMge1xuICAgIGZvbnQtc2l6ZTogMi40dnc7XG4gICAgbWFyZ2luLXRvcDogN3B4O1xuICB9XG4gICNhYm91dCA+IGRpdiBoMiB7XG4gICAgZm9udC1zaXplOiA0Ljh2dztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICB9XG4gICNhYm91dCA+IGRpdiAuaW1nLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDkydnc7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWFyZ2luLXRvcDogMzZweDtcbiAgfVxuICAjYWJvdXQgPiBkaXYgLmltZy1jb250YWluZXIgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAjYWJvdXQgPiBkaXYgLnR4dC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDI4cHg7XG4gIH1cbiAgI2Fib3V0ID4gZGl2IC50eHQtY29udGFpbmVyIHAge1xuICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIH1cbiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgIEFueVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAjYW55IHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuICAjYW55IGgzIHtcbiAgICB3aWR0aDogMjM0cHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgfVxuICAjYW55IC5ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvIDE4cHggYXV0byAxJSAgMWZyO1xuICAgIG1hcmdpbi10b3A6IDQ2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDM3cHg7XG4gIH1cbiAgI2FueSAuZ3JpZCAuaW1nLWNvbnRhaW5lcjpmaXJzdC1vZi10eXBlIHtcbiAgICB3aWR0aDogNTQuOTN2dztcbiAgfVxuICAjYW55IC5ncmlkIC5pbWctY29udGFpbmVyOmxhc3Qtb2YtdHlwZSB7XG4gICAgd2lkdGg6IDI3LjJ2dztcbiAgfVxuICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgU3RlcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAjc3RlcCB7XG4gICAgcGFkZGluZy10b3A6IDFweDtcbiAgfVxuICAjc3RlcCA+IGgzIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICB9XG4gICNzdGVwID4gaDQge1xuICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gIH1cbiAgI3N0ZXAgLmdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG8gMjBweCBhdXRvIDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMTlweCBhdXRvO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiLi4uIGltZzEgLi4uIGltZzIgLi4uXCIgXCIuLi4gLi4uIC4uLiAuLi4gLi4uXCIgXCIuLi4gaW1nMyAuLi4gaW1nNCAuLi5cIjtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICB9XG4gICNzdGVwIC5ncmlkIC5pbWctY29udGFpbmVyOmZpcnN0LW9mLXR5cGUge1xuICAgIHdpZHRoOiAzOC40dnc7XG4gIH1cbiAgI3N0ZXAgLmdyaWQgLmltZy1jb250YWluZXI6bnRoLW9mLXR5cGUoMikge1xuICAgIHdpZHRoOiAzMy4zM3Z3O1xuICB9XG4gICNzdGVwIC5ncmlkIC5pbWctY29udGFpbmVyOm50aC1vZi10eXBlKDMpIHtcbiAgICB3aWR0aDogMzguNHZ3O1xuICB9XG4gICNzdGVwIC5ncmlkIC5pbWctY29udGFpbmVyOmxhc3Qtb2YtdHlwZSB7XG4gICAgd2lkdGg6IDEyNXB4O1xuICAgIHdpZHRoOiAzMy4zM3Z3O1xuICB9XG4gIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICBFeHBlcmllbmNlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICNleHBlcmllbmNlIHtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgfVxuICAjZXhwZXJpZW5jZSA+IGgzIHtcbiAgICB3aWR0aDogODB2dztcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cbiAgI2V4cGVyaWVuY2UgLmdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG8gMWZyICFpbXBvcnRhbnQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gIWltcG9ydGFudDtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcIi4uLiBpbWcgLi4uXCIgXCIuLi4gdHh0IC4uLlwiICFpbXBvcnRhbnQ7XG4gIH1cbiAgI2V4cGVyaWVuY2UgLmdyaWQgLmltZy1jb250YWluZXIge1xuICAgIHdpZHRoOiAzNi4yN3Z3O1xuICB9XG4gICNleHBlcmllbmNlIC5ncmlkIC50eHQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtNHZoO1xuICAgIHdpZHRoOiA4NS42dnc7XG4gIH1cbiAgI2V4cGVyaWVuY2UgLmdyaWQgLnR4dC1jb250YWluZXIgaDIge1xuICAgIHdpZHRoOiA2OXZ3O1xuICAgIGNvbG9yOiAjMDBDQ0EzO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICNleHBlcmllbmNlIC5ncmlkIC50eHQtY29udGFpbmVyID4gZGl2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgI2V4cGVyaWVuY2UgLmdyaWQgLnR4dC1jb250YWluZXIgPiBkaXYgaDMge1xuICAgIG1hcmdpbi10b3A6IDI5cHg7XG4gIH1cbiAgI2V4cGVyaWVuY2UgLmdyaWQgLnR4dC1jb250YWluZXIgPiBkaXYgZGl2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgI2V4cGVyaWVuY2UgLmdyaWQ6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogNjFweDtcbiAgfVxuICAjZXhwZXJpZW5jZSAuZ3JpZDpmaXJzdC1vZi10eXBlIC5pbWctY29udGFpbmVyIHtcbiAgICBncmlkLWFyZWE6IGltZztcbiAgfVxuICAjZXhwZXJpZW5jZSAuZ3JpZDpmaXJzdC1vZi10eXBlIC50eHQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAwcHg7XG4gIH1cbiAgI2V4cGVyaWVuY2UgLmdyaWQ6Zmlyc3Qtb2YtdHlwZSAudHh0LWNvbnRhaW5lciBoNCB7XG4gICAgbWFyZ2luLXRvcDogMThweDtcbiAgfVxuICAjZXhwZXJpZW5jZSAuZ3JpZDpudGgtb2YtdHlwZSgyKSB7XG4gICAgbWFyZ2luLXRvcDogNzFweDtcbiAgfVxuICAjZXhwZXJpZW5jZSAuZ3JpZDpudGgtb2YtdHlwZSgzKSB7XG4gICAgbWFyZ2luLXRvcDogNTRweDtcbiAgfVxuICAjZXhwZXJpZW5jZSAuZ3JpZDpudGgtb2YtdHlwZSgzKSAudHh0LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICB9XG4gICNleHBlcmllbmNlIC5ncmlkOm50aC1vZi10eXBlKDMpIC50eHQtY29udGFpbmVyID4gZGl2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICNleHBlcmllbmNlIC5ncmlkOm50aC1vZi10eXBlKDMpIC50eHQtY29udGFpbmVyID4gZGl2IGRpdiB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWFyZ2luLXRvcDogMTdweDtcbiAgICB3aWR0aDogNzEuNDd2dztcbiAgfVxuICAjZXhwZXJpZW5jZSAuZ3JpZDpudGgtb2YtdHlwZSgzKSAudHh0LWNvbnRhaW5lciA+IGRpdiBkaXYgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAjZXhwZXJpZW5jZSAuZ3JpZDpudGgtb2YtdHlwZSgzKSAudHh0LWNvbnRhaW5lciBoNCB7XG4gICAgZm9udC1zaXplOiA0LjI3cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi10b3A6IDM3cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICNleHBlcmllbmNlIC5ncmlkOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogNTFweDtcbiAgfVxuICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgUHJvbXB0LWFnYWluXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICNwcm9tcHQtYWdhaW4ge1xuICAgIHBhZGRpbmctdG9wOiA2M3B4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2N3B4O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICBDb21wbGV0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI2NvbXBsZXRlIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzBweCAtIDcwcHggLSAyMHB4IC0gNTBweCk7XG4gIC8qXG4gICAgMTAwdmggLSBtYXJnaW4tdG9wQGhlYWRlciAtIGhlaWdodEBoZWFkZXIgLSBtYXJnaW4tdG9wQHByb21wdCAtIHBhZGRpbmctKGxlZnQsIHJpZ2h0KUBjb250YWluZXJcbiAgKi9cbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICBib3JkZXItcmFkaXVzOiAxM3B4O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiA2NXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4jY29tcGxldGUgLmJhY2sge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbn1cblxuI2NvbXBsZXRlIC5mcm9udCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jY29tcGxldGUgLmZyb250IC50eHQtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMjAlIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI2NvbXBsZXRlIC5mcm9udCAudHh0LWNvbnRhaW5lciBwIHtcbiAgY29sb3I6ICMzQjNCM0I7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuI2NvbXBsZXRlIC5mcm9udCAudHh0LWNvbnRhaW5lciBhIHtcbiAgY29sb3I6ICMwMENDQTM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3R5bGUuc2NzcyIsIi8qXG5odG1sNWRvY3Rvci5jb20gUmVzZXQgU3R5bGVzaGVldFxudjEuNFxuMjAwOS0wNy0yN1xuQXV0aG9yOiBSaWNoYXJkIENsYXJrIC0gaHR0cDovL3JpY2hjbGFya2Rlc2lnbi5jb21cbiovXG5cbmh0bWwsIGJvZHksIGRpdiwgc3Bhbiwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hYmJyLCBhZGRyZXNzLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzYW1wLFxuc21hbGwsIHN0cm9uZywgc3ViLCBzdXAsIHZhcixcbmIsIGksXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbmFydGljbGUsIGFzaWRlLCBkaWFsb2csIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsXG5oZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbixcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gIG1hcmdpbjowO1xuICBwYWRkaW5nOjA7XG4gIGJvcmRlcjowO1xuICBvdXRsaW5lOjA7XG4gIGZvbnQtc2l6ZToxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTtcbiAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbn1cbmJvZHkge1xuICBsaW5lLWhlaWdodDoxO1xufVxuXG5hcnRpY2xlLCBhc2lkZSwgZGlhbG9nLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLFxuaGdyb3VwLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OmJsb2NrO1xufVxuXG5uYXYgdWwge1xuICBsaXN0LXN0eWxlOm5vbmU7XG59XG5cbmJsb2NrcXVvdGUsIHEge1xuICBxdW90ZXM6bm9uZTtcbn1cblxuYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSwgcTphZnRlciB7XG4gIGNvbnRlbnQ6Jyc7XG4gIGNvbnRlbnQ6bm9uZTtcbn1cblxuYSB7XG4gIG1hcmdpbjowO1xuICBwYWRkaW5nOjA7XG4gIGJvcmRlcjowO1xuICBmb250LXNpemU6MTAwJTtcbiAgdmVydGljYWwtYWxpZ246YmFzZWxpbmU7XG4gIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG59XG5cbmlucyB7XG4gIGJhY2tncm91bmQtY29sb3I6I2ZmOTtcbiAgY29sb3I6IzAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG59XG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiNmZjk7XG4gIGNvbG9yOiMwMDA7XG4gIGZvbnQtc3R5bGU6aXRhbGljO1xuICBmb250LXdlaWdodDpib2xkO1xufVxuXG5kZWwge1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuYWJiclt0aXRsZV0sIGRmblt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOjFweCBkb3R0ZWQgIzAwMDtcbiAgY3Vyc29yOmhlbHA7XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzowO1xufVxuXG5ociB7XG4gIGRpc3BsYXk6YmxvY2s7XG4gIGhlaWdodDoxcHg7XG4gIGJvcmRlcjowO1xuICBib3JkZXItdG9wOjFweCBzb2xpZCAjY2NjY2NjO1xuICBtYXJnaW46MWVtIDA7XG4gIHBhZGRpbmc6MDtcbn1cblxuaW5wdXQsIHNlbGVjdCB7XG4gIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbn1cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9wdWJsaWMvYXNzZXRzL3NyYy9zYXNzL19yZXNldC5zY3NzIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjcuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbiB7IC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny0gYW5kIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMsIC8qIDEgKi9cbm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBTY3JpcHRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSGlkZGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9zcmMvc2Fzcy9fbm9ybWFsaXplLnNjc3MiLCJodG1sLCBib2R5LCBkaXYsIHNwYW4sIG9iamVjdCwgaWZyYW1lLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuYWJiciwgYWRkcmVzcywgY2l0ZSwgY29kZSxcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgc2FtcCxcbnNtYWxsLCBzdHJvbmcsIHN1Yiwgc3VwLCB2YXIsXG5iLCBpLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgZGlhbG9nLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLFxuaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24sXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW97XG4gIGZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbi5jZXphbm5lLXByb24ge1xuICBmb250LWZhbWlseTogXCJmb3QtY2V6YW5uZS1wcm9uXCIsICRzYW5zLXNlcmlmO1xufVxuLmRhZ255LXBybyB7XG4gIGZvbnQtZmFtaWx5OiBcImZmLWRhZ255LXdlYi1wcm9cIiwgJHNhbnMtc2VyaWY7XG59XG4uZnV0by1nbyB7XG4gIGZvbnQtZmFtaWx5OiBcImEtb3RmLWZ1dG8tZ28tYjEwMS1wcjVuXCIsICRzYW5zLXNlcmlmO1xufVxuLmZ1dHVyYS1wdCB7XG4gIGZvbnQtZmFtaWx5OiBcImZ1dHVyYSBQVFwiLCBcImZ1dHVyYVwiLCAkc2Fucy1zZXJpZiFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbi5mdXR1cmEtcHQgc3BhbiB7XG4gIGZvbnQtZmFtaWx5OiBcImZ1dHVyYSBQVFwiLCBcImZ1dHVyYVwiLCAkc2Fucy1zZXJpZiFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbi5taWRhc2hpLWdvIHtcbiAgZm9udC1mYW1pbHk6IFwiYS1vdGYtbWlkYXNoaS1nby1tYjMxLXByNW5cIiwgJHNhbnMtc2VyaWY7XG59XG5cbip7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuaHRtbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5X2NvbG9yO1xuICBmb250LXNpemU6IDg3LjUlO1xufVxuYm9keXtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuYm9keS5hY3RpdmUge1xuICAvL2hlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5oMSB7XG4gIGZvbnQtc2l6ZTogJGYtNjA7XG4gIG1hcmdpbjogMDtcbn1cbmgyIHtcbiAgZm9udC1zaXplOiAkZi0zMDtcbiAgbWFyZ2luOiAwO1xufVxuaDMgIHtcbiAgZm9udC1zaXplOiAkZi0xNjtcbiAgbWFyZ2luOiAwO1xufVxuaDQge1xuICBmb250LXNpemU6ICRmLTE0O1xuICBtYXJnaW46IDA7XG59XG5he1xuICBjb2xvcjogJHdoaXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbmxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5maXhlciB7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4uY29udGFpbmVyIHtcbiAgcGFkZGluZzogMCA1MHB4O1xufVxuLnR4dC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuXG4uZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG59XG5cbi5ncmFkaWVudCB7XG4gIGltZyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgfVxufVxuXG4uby1ncmVlbiB7XG4gIGNvbG9yOiAkcHJpbWFyeV9jb2xvciFpbXBvcnRhbnQ7XG59XG5cbi5wYy1ub25lIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgICBNZWRpYSBRdWVyeVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogJG1heC13aWR0aCAtIDFweCkge1xuICAuZml4ZXIge1xuICAgIHdpZHRoOiAxMzMwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogMXZ3O1xuICB9XG4gIGh0bWwuYWN0aXZlIHtcbiAgICAvL2hlaWdodDogMTAwJTtcbiAgICAvL292ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogJHNwLWYtMzA7XG4gIH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogJHNwLWYtMTY7XG4gIH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogJHNwLWYtMTI7XG4gIH1cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogJHNwLWYtMTA7XG4gIH1cbiAgLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICB9XG4gIC5wYy1ub25lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5zcC1ub25le1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4vL0BtZWRpYSAobWluLXdpZHRoOiAkc3Atd2lkdGgpIGFuZCAobWF4LXdpZHRoOiAkbWF4LXdpZHRoIC0gMSkge1xuLy8gIGh0bWwge1xuLy8gICAgZm9udC1zaXplOiAxdnc7XG4vLyAgfVxuLy8gIGgxIHtcbi8vICAgIGZvbnQtc2l6ZTogNC41MTRyZW07XG4vLyAgfVxuLy8gIGgyIHtcbi8vICAgIGZvbnQtc2l6ZTogMi4yNTdyZW07XG4vLyAgfVxuLy8gIGgzICB7XG4vLyAgICBmb250LXNpemU6ICRmLTE2O1xuLy8gICAgZm9udC1zaXplOiAxLjIwM3JlbTtcbi8vICB9XG4vLyAgaDQge1xuLy8gICAgZm9udC1zaXplOiAxLjA1M3JlbTtcbi8vICB9XG4vL31cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9wdWJsaWMvYXNzZXRzL3NyYy9zYXNzL19jb21tb24uc2NzcyIsIi8vIEZvbnQgZmFtaWx5XG4kc2Fucy1zZXJpZjogXCJsZnQtZXRpY2FcIixcImRucC1zaHVlaS1nb3RoaWMta2luLXN0ZFwiLFwi44OS44Op44Ku44OO6KeS44K0IFByb1wiLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIuODoeOCpOODquOCqlwiLCBcIk1laXJ5b1wiLCBzYW5zLXNlcmlmO1xuXG4vLyBGb250XG4vLyBGb3IgU1BcbiRzcC1mLTEwOiAyLjY3cmVtO1xuJHNwLWYtMTI6IDMuMnJlbTtcbiRzcC1mLTE2OiA0LjI3cmVtO1xuJHNwLWYtMzA6IDhyZW07XG5cbi8vIEZvciBQQ1xuJGYtMTQ6IDFyZW07XG4kZi0xNjogMS4xNDJyZW07XG4kZi0zMDogMi4xNDJyZW07XG4kZi02MDogNC4yODVyZW07XG5cbi8vIGJyZWFrIHBvaW50XG4kc3Bfd2lkdGg6IDc2OHB4O1xuJG1heC13aWR0aDogMTMzMHB4O1xuXG4vLyBUaGVtZVxuJHByaW1hcnlfY29sb3I6ICMwMENDQTNcbjtcbiR3aGl0ZTogI0ZGRkZGRjtcbiRibGFjazogIzNCM0IzQjtcbiRyZWQ6ICNGRjc0ODI7XG5cbi8vIEJHIEFuaW1hdGlvblxuJHBhcnRXaWR0aDogMTM0cHg7XG5cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3B1YmxpYy9hc3NldHMvc3JjL3Nhc3MvX3ZhcmlhYmxlcy5zY3NzIiwiLnByb21wdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtN3B4O1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogYXV0bztcblxuICBwOmZpcnN0LW9mLXR5cGUge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgZm9udC1zaXplOiAycmVtOyAvLyAyOHB4XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuXG4gIHA6bnRoLW9mLXR5cGUoMikge1xuICAgIHdpZHRoOiAzOTlweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgIGJvcmRlci1yYWRpdXM6IDEzcHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6ICRmLTE2O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZzogOXB4IDA7XG4gIH1cblxuICBwOm50aC1vZi10eXBlKDMpIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMS43MXJlbTsgLy8gMjRweFxuICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gIH1cblxuICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgd2lkdGg6IDQwNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeV9jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAyMXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRmLTE2O1xuICAgIGNvbG9yOiAkcHJpbWFyeV9jb2xvcjtcbiAgICBwYWRkaW5nOiAyMXB4IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgcDpsYXN0LW9mLXR5cGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5X2NvbG9yO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgICBNZWRpYSBRdWVyeVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRzcC13aWR0aCAtIDFweCkge1xuICAucHJvbXB0IHtcbiAgICBwIHtcbiAgICAgIC8vbWFyZ2luLWJvdHRvbTogOXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4xdmg7XG4gICAgfVxuICAgIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBmb250LXNpemU6ICRzcC1mLTE2O1xuICAgIH1cblxuICAgIHA6bnRoLW9mLXR5cGUoMikge1xuICAgICAgLy93aWR0aDogMjY5cHg7XG4gICAgICB3aWR0aDogNzEuNzN2dztcbiAgICAgIC8vYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIuNzN2dztcbiAgICAgIGZvbnQtc2l6ZTogJHNwLWYtMTA7XG4gICAgICBwYWRkaW5nOiA2cHggMDtcbiAgICB9XG5cbiAgICBwOm50aC1vZi10eXBlKDMpIHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICBmb250LXNpemU6ICRzcC1mLTE2O1xuICAgICAgLy9tYXJnaW4tYm90dG9tOiAzOXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNC44dmg7XG4gICAgfVxuXG4gICAgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgLy93aWR0aDogMjY5cHg7XG4gICAgICB3aWR0aDogNzEuNzN2dztcbiAgICAgIC8vYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDMuNzN2dztcbiAgICAgIGZvbnQtc2l6ZTogJHNwLWYtMTA7XG4gICAgICBwYWRkaW5nOiAxLjcydmggMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9wdWJsaWMvYXNzZXRzL3NyYy9zYXNzL2NvbXBvbmVudHMvX3Byb21wdC5zY3NzIiwiLmJnLWdyZWVuLXdoaXRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDMwMHB4O1xufVxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xufVxuLmJnLXNucyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2JnX3Nuc0AyeC5wbmcnKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuLmJnLXdoaXRlLWdyZWVuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDMyN3B4O1xuICBpbWcge1xuICAgIGhlaWdodDogMTEwJTtcbiAgfVxufVxuI2JnLWFuaW1hdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAjYW5pbWF0aW9uLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJGMkYyO1xuICAgIGNhbnZhcyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgICBNZWRpYSBRdWVyeVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRzcC13aWR0aCkge1xuICAuYmctZ3JlZW4td2hpdGUge1xuICAgIC8vaGVpZ2h0OiAxNTBweDtcbiAgICBoZWlnaHQ6IDE4LjQ3dmg7XG4gIH1cbiAgLmJnLXdoaXRlLWdyZWVuIHtcbiAgICBoZWlnaHQ6IDE3M3B4O1xuICB9XG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9zcmMvc2Fzcy9jb21wb25lbnRzL19iZy5zY3NzIiwiQG1lZGlhIChtYXgtd2lkdGg6ICRzcC13aWR0aCAtIDFweCkge1xuICAjc3AtaGVhZGVyLW1lbnUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIGkge1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDVweDtcblxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2xvZ28uc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuM3M7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMGRlZyk7XG4gICAgfVxuICB9XG5cbiAgI3NwLWhlYWRlci1tZW51LmFjdGl2ZSB7XG4gICAgaSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWigtOTBkZWcpO1xuICAgIH1cbiAgfVxuXG4gICNzcC1tZW51IHtcbiAgICBoZWlnaHQ6IDMzcHg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMTMgKyAxMnB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5X2NvbG9yO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDMuNzN2dztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzLjczdnc7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMjguMTVweDtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcblxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgaSB7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogNXB4O1xuXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvbG9nby5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG5cbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4zcztcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWigwZGVnKTtcbiAgICB9XG4gIH1cbiAgI3NwLW1lbnUuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYW5pbWF0aW9uOiBzaG93U3BNZW51IC4xcyBsaW5lYXIgMXM7XG4gICAgaSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWigtOTBkZWcpO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgc2hvd1NwTWVudSB7XG4gICAgMCUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3B1YmxpYy9hc3NldHMvc3JjL3Nhc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiI21haWwtbm90aWZpY2F0aW9uLW1vZGFsIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuNik7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgcGFkZGluZy10b3A6IDIwNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgKiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuICAgIGgyIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeV9jb2xvcjtcbiAgICB9XG4gICAgPiBoMyB7XG4gICAgICBsaW5lLWhlaWdodDogMS42MztcbiAgICAgIG1hcmdpbi10b3A6IDI5cHg7XG4gICAgfVxuICAgIGZvcm0ge1xuICAgICAgaDMge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MnB4O1xuICAgICAgfVxuICAgICAgI21haWwtYWRkcmVzcy1pbnB1dC1sYWJlbC5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgIH1cbiAgICAgICNtYWlsLWFkZHJlc3MtaW5wdXQge1xuICAgICAgICBoZWlnaHQ6IDU5cHg7XG4gICAgICAgIHdpZHRoOiA1NDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeV9jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjFweDtcbiAgICAgICAgY29sb3I6ICNCRUMwQzI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDU5cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMjdweDtcbiAgICAgIH1cbiAgICAgICNtYWlsLWFkZHJlc3MtaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogI0JFQzBDMjtcbiAgICAgIH1cbiAgICAgICNtYWlsLWFkZHJlc3MtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogI0JFQzBDMjtcbiAgICAgIH1cbiAgICAgICNtYWlsLWFkZHJlc3MtaW5wdXQ6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAjQkVDMEMyO1xuICAgICAgfVxuICAgICAgI21haWwtYWRkcmVzcy1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogI0JFQzBDMjtcbiAgICAgIH1cbiAgICAgICNtYWlsLWFkZHJlc3MtaW5wdXQ6cGxhY2Vob2xkZXItc2hvd24ge1xuICAgICAgICBjb2xvcjogI0JFQzBDMjtcbiAgICAgIH1cbiAgICAgIC8vI21haWwtYWRkcmVzcy1pbnB1dDpmb2N1cyB7XG4gICAgICAvLyAgb3V0bGluZTogbm9uZTtcbiAgICAgIC8vfVxuICAgICAgcCB7XG4gICAgICAgIHdpZHRoOiA1MzJweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMi41O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRwcmltYXJ5X2NvbG9yO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICNzdG9wcGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgICAgI2FncmVlZC1pbnB1dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAjYWdyZWVkLWlucHV0ICsgbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAkZi0xNjtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgIH1cbiAgICAgICNhZ3JlZWQtaW5wdXQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgbGVmdDogLTQwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnlfY29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgZGlwc2xheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAjYWdyZWVkLWlucHV0OmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IDIxcHg7XG4gICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtN3B4O1xuICAgICAgICBsZWZ0OiAtMzJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvbG9nbzIuc3ZnJyk7XG4gICAgICAgIC8vYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAvL2JhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJHByaW1hcnlfY29sb3I7XG4gICAgICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkICRwcmltYXJ5X2NvbG9yO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQwZGVnKTtcbiAgICAgIH1cbiAgICAgICNtYWlsLW5vdGlmaWNhdGlvbi1mb3JtLWFsZXJ0ZXIge1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICBmb250LXNpemU6ICRmLTE0O1xuICAgICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTNweDtcbiAgICAgIH1cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGhlaWdodDogNTlweDtcbiAgICAgICAgd2lkdGg6IDExNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeV9jb2xvcjtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDU5cHg7XG4gICAgICAgIC8vbWFyZ2luLXRvcDogNTFweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgIH1cbiAgfVxufVxuI21haWwtbm90aWZpY2F0aW9uLW1vZGFsLmFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICAgIE1lZGlhIFF1ZXJ5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkc3Atd2lkdGggLSAxKSB7XG4gIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgU3AtYW5pbWF0aW5nLW1lbnUtbW9kYWxcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICNzcC1hbmltYXRpbmctbWVudS1tb2RhbCB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGMkYyRjI7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xcztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxcztcblxuICAgICoge1xuICAgICAgY29sb3I6ICRwcmltYXJ5X2NvbG9yO1xuICAgICAgLy9mb250LXNpemU6IDEuMXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMi45M3Z3O1xuICAgIH1cbiAgICB1bCB7XG4gICAgICAvL3BhZGRpbmctdG9wOiAyOXB4O1xuICAgICAgcGFkZGluZy10b3A6IDMuNTd2aDtcbiAgICAgIC8vcGFkZGluZy1sZWZ0OiAyMnB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA1Ljg3dnc7XG4gICAgICBsaSB7XG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNnB4O1xuICAgICAgICB9XG4gICAgICAgIGE6OmJlZm9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2xvZ28yLnN2ZycpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgI3NwLWFuaW1hdGluZy1tZW51LW1vZGFsLmFjdGl2ZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMXM7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMXM7XG4gIH1cblxuICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIE1haWwtbm90aWZpY2F0aW9uLW1vZGFsXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAjbWFpbC1ub3RpZmljYXRpb24tbW9kYWwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICAvL3BhZGRpbmctdG9wOiAyMDZweDtcbiAgICAvL3BhZGRpbmctdG9wOiAxOS42NnZoO1xuICAgIHBhZGRpbmc6IDEyLjY2dmggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAqIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnlfY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgPiBoMyB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjM7XG4gICAgICAgICAgLy9tYXJnaW4tdG9wOiAyOXB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDIuNzd2aDtcbiAgICAgICAgfVxuICAgICAgICBmb3JtIHtcbiAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAvL21hcmdpbi10b3A6IDUycHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0Ljk2dmg7XG4gICAgICAgICAgfVxuICAgICAgICAgICNtYWlsLWFkZHJlc3MtaW5wdXQtbGFiZWwuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgICAjbWFpbC1hZGRyZXNzLWlucHV0IHtcbiAgICAgICAgICAgIC8vaGVpZ2h0OiA1OXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1LjYzdmg7XG4gICAgICAgICAgICAvL3dpZHRoOiA1NDJweDtcbiAgICAgICAgICAgIHdpZHRoOiA5MnZ3O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICAgICAgICAgIC8vZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkc3AtZi0xNjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1LjYzdmg7XG4gICAgICAgICAgICAvL21hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjkxdmg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgd2lkdGg6IDkwLjV2dztcbiAgICAgICAgICAgIC8vZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkc3AtZi0xMjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjU7XG4gICAgICAgICAgICAvL21hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyLjQ0dmg7XG4gICAgICAgICAgfVxuICAgICAgICAgICNhZ3JlZWQtaW5wdXQgKyBsYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDMuNzN2dztcbiAgICAgICAgICAgIC8vbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICAgIG1hcmdpbnQtdG9wOiAyLjM5dmg7XG4gICAgICAgICAgfVxuICAgICAgICAgICNhZ3JlZWQtaW5wdXQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICAgICAgbGVmdDogLTQwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgICNhZ3JlZWQtaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtNnB4O1xuICAgICAgICAgICAgbGVmdDogLTMycHg7XG4gICAgICAgICAgfVxuICAgICAgICAgICNtYWlsLW5vdGlmaWNhdGlvbi1mb3JtLWFsZXJ0ZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAkc3AtZi0xMjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNwLWYtMTI7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJHNwLWYtMTI7XG4gICAgICAgICAgICAvL21hcmdpbi10b3A6IDEzcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjI0dmg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTEycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeV9jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6ICRzcC1mLTE2O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDU1cHg7XG4gICAgICAgICAgICAvL21hcmdpbi10b3A6IDI0cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyLjI5dmg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgfVxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3B1YmxpYy9hc3NldHMvc3JjL3Nhc3MvY29tcG9uZW50cy9fbW9kYWwuc2NzcyIsIiNoZWFkZXIge1xuICAvL2hlaWdodDogNzBweDtcbiAgLy9tYXJnaW4tdG9wOiAzMHB4O1xuICBwYWRkaW5nLXRvcDogMzBweDtcblxuICAqIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxuXG4gIC5ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgIGdyaWQtYXV0by1yb3dzOiBhdXRvIGF1dG87XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgIFwiLi4uIGxhbmdcIlxuICAgICAgXCJsb2dvIG1lbnVcIlxuICAgIDtcbiAgfVxuICAubGFuZyB7XG4gICAgZ3JpZC1hcmVhOiBsYW5nO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgICAgLnNlbGVjdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmxvZ28ge1xuICAgIGdyaWQtYXJlYTogbG9nbztcbiAgICB3aWR0aDogMTU1cHg7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51IHtcbiAgICBncmlkLWFyZWE6IG1lbnU7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICAgIE1lZGlhIFF1ZXJ5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogJHNwLXdpZHRoIC0gMXB4KSB7XG4gICNoZWFkZXIge1xuICAgICoge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMy43M3Z3O1xuICAgIH1cblxuICAgIC8vaGVpZ2h0OiA1N3B4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICAvL21hcmdpbi10b3A6IDEzcHg7XG4gICAgcGFkZGluZy10b3A6IDEzcHg7XG5cbiAgICAubG9nbyB7XG4gICAgICAvL3dpZHRoOiAxMTlweDtcbiAgICAgIHdpZHRoOiAzNi4zOXZ3O1xuICAgIH1cblxuICAgIC5tZW51IHtcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9wdWJsaWMvYXNzZXRzL3NyYy9zYXNzL2xheW91dHMvX2hlYWRlci5zY3NzIiwiI2Zvb3RlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZy10b3A6IDk2cHg7XG4gIHBhZGRpbmctYm90dG9tOiA0OHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICoge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbiAgaDEge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAyMDRweDtcbiAgICBhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICB1bCB7XG4gICAgbWFyZ2luLXRvcDogNTVweDtcbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMTFweDtcbiAgICB9XG4gIH1cbiAgaDMge1xuICAgIG1hcmdpbi10b3A6IDIxcHg7XG4gIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgICBNZWRpYSBRdWVyeVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRzcC13aWR0aCkge1xuICAjZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzJweDtcblxuICAgIGgxIHtcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICB9XG4gICAgdWwge1xuICAgICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDlweDtcbiAgICAgIH1cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6ICRzcC1mLTEwO1xuICAgICAgfVxuICAgIH1cbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6ICRzcC1mLTEwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3B1YmxpYy9hc3NldHMvc3JjL3Nhc3MvbGF5b3V0cy9fZm9vdGVyLnNjc3MiLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgUHJvbXB0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jcHJvbXB0IHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzBweCAtIDcwcHggLSAyMHB4IC0gNTBweCk7XG4gIC8qXG4gICAgMTAwdmggLSBtYXJnaW4tdG9wQGhlYWRlciAtIGhlaWdodEBoZWFkZXIgLSBtYXJnaW4tdG9wQHByb21wdCAtIHBhZGRpbmctKGxlZnQsIHJpZ2h0KUBjb250YWluZXJcbiAgKi9cbiAgd2lkdGg6IDEwMCU7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjcpO1xuICBib3JkZXItcmFkaXVzOiAxM3B4O1xuXG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG5cbiAgLmJhY2sge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuICAuZnJvbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5ncmlkIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvIDEwMHB4IGF1dG8gNCUgMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcIi4uLiBpbWcgLi4uIHR4dCAuLi4gLi4uXCI7XG5cbiAgICAuaW1nLWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDM4MHB4O1xuICAgICAgd2lkdGg6IDM4MHB4O1xuICAgICAgZ3JpZC1hcmVhOiBpbWc7XG4gICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgICAudHh0LWNvbnRhaW5lciB7XG4gICAgICBncmlkLWFyZWE6IHR4dDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAuc2Nyb2xsLW5hdi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAjc2Nyb2xsLW5hdiB7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDUwcHg7XG4gICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICBmb250LXNpemU6IDEuMjZyZW07IC8vIDE4cHhcbiAgICAgIG1hcmdpbjogYXV0bztcblxuICAgICAgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAtMzBweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgQWJvdXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNhYm91dCB7XG4gIHBhZGRpbmctdG9wOiA3MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgKiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gID4gaDEge1xuICAgIGZvbnQtc2l6ZTogMi41N3JlbTsgLy8gMzZweFxuICB9XG4gIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG5cbiAgLmdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDUuNSUgYXV0byA2LjUlIGF1dG8gMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgIFwiLi4uIC4uLiB0eHQgLi4uIGltZyAuLi5cIlxuICAgIDtcbiAgICBtYXJnaW4tdG9wOiAzOXB4O1xuXG4gICAgPiBkaXYge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cblxuICAgIC50eHQtY29udGFpbmVyIHtcbiAgICAgIGdyaWQtYXJlYTogdHh0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgaDIge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtMTY7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgICAgIG1hcmdpbi10b3A6IDM4cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmltZy1jb250YWluZXIge1xuICAgICAgZ3JpZC1hcmVhOiBpbWc7XG4gICAgICB3aWR0aDogNTEycHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgQW55XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jYW55IHtcbiAgcGFkZGluZy10b3A6IDcwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAqIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICB9XG5cbiAgaDMge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgfVxuXG4gIC5ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvIDU0cHggYXV0byAxJSAgMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgXCIuLi4gaW1nMSAuLi4gaW1nMiAuLi4gLi4uXCJcbiAgICA7XG4gICAgbWFyZ2luLXRvcDogNzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG5cbiAgICAuaW1nLWNvbnRhaW5lcjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGdyaWQtYXJlYTogaW1nMTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgIHdpZHRoOiA2MDBweDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmltZy1jb250YWluZXI6bGFzdC1vZi10eXBlIHtcbiAgICAgIGdyaWQtYXJlYTogaW1nMjtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgIHdpZHRoOiAzMTFweDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICBTdGVwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jc3RlcCB7XG4gIHBhZGRpbmctdG9wOiAxNjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gID4gaDMge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuICA+IGg0IHtcbiAgICBjb2xvcjogJHJlZDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG5cbiAgLmdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG8gMjBweCBhdXRvIDIwcHggYXV0byAyMHB4IGF1dG8gMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgXCIuLi4gaW1nMSAuLi4gaW1nMiAuLi4gaW1nMyAuLi4gaW1nNCAuLi5cIlxuICAgIDtcbiAgICBtYXJnaW4tdG9wOiA0M3B4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuXG4gICAgLmltZy1jb250YWluZXI6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBncmlkLWFyZWE6IGltZzE7XG4gICAgICB3aWR0aDogMjg2cHg7XG4gICAgfVxuICAgIC5pbWctY29udGFpbmVyOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIGdyaWQtYXJlYTogaW1nMjtcbiAgICAgIHdpZHRoOiAyODZweDtcbiAgICB9XG4gICAgLmltZy1jb250YWluZXI6bnRoLW9mLXR5cGUoMykge1xuICAgICAgZ3JpZC1hcmVhOiBpbWczO1xuICAgICAgd2lkdGg6IDI4NnB4O1xuICAgIH1cbiAgICAuaW1nLWNvbnRhaW5lcjpsYXN0LW9mLXR5cGUge1xuICAgICAgZ3JpZC1hcmVhOiBpbWc0O1xuICAgICAgd2lkdGg6IDI0OXB4O1xuICAgIH1cbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgRXhwZXJpZW5jZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI2V4cGVyaWVuY2Uge1xuICBwYWRkaW5nLXRvcDogNzZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGgxIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG4gID4gaDMge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuXG4gIC5ncmlkIHtcbiAgICAuaW1nLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICBncmlkLWFyZWE6IGltZztcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgICAudHh0LWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogNDgwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICBoMiB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeV9jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgICA+ZGl2IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA3cHg7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg1O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDQzcHg7XG4gICAgICAgIH1cbiAgICAgICAgaDQge1xuICAgICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICB9XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdyaWQ6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMzBweCBhdXRvIDE0MHB4IGF1dG8gMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogNTIwcHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgIFwiLi4uIC4uLiBpbWcgLi4uIHR4dCAuLi5cIlxuICAgIDtcbiAgICBtYXJnaW4tdG9wOiA5NXB4O1xuICAgIC50eHQtY29udGFpbmVyIHtcbiAgICAgIGdyaWQtYXJlYTogdHh0O1xuICAgICAgbWFyZ2luLXRvcDogNzdweDtcblxuICAgICAgaDQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ncmlkOm50aC1vZi10eXBlKDIpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvIDE0MHB4IGF1dG8gMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICBcIi4uLiB0eHQgLi4uIGltZyAuLi5cIlxuICAgIDtcbiAgICAudHh0LWNvbnRhaW5lciB7XG4gICAgICBncmlkLWFyZWE6IHR4dDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gICAgLmltZy1jb250YWluZXIge1xuICAgICAgZ3JpZC1hcmVhOiBpbWc7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQ6bnRoLW9mLXR5cGUoMykge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG8gMTQwcHggYXV0byAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiA2MTVweDtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgXCIuLi4gaW1nIC4uLiB0eHQgLi4uXCJcbiAgICA7XG4gICAgLmltZy1jb250YWluZXIge1xuICAgICAgZ3JpZC1hcmVhOiBpbWc7XG4gICAgfVxuICAgIC50eHQtY29udGFpbmVyIHtcbiAgICAgIGdyaWQtYXJlYTogdHh0O1xuICAgICAgbWFyZ2luLXRvcDogNzdweDtcblxuICAgICAgaDQge1xuICAgICAgICBtYXJnaW4tdG9wOiA1NXB4O1xuICAgICAgfVxuICAgICAgZGl2IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjZweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA3cHg7XG4gICAgICAgIHdpZHRoOiAzNTJweDtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ncmlkOmxhc3Qtb2YtdHlwZSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0byAxNDBweCBhdXRvIDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgXCIuLi4gdHh0IC4uLiBpbWcgLi4uXCJcbiAgICA7XG4gICAgLnR4dC1jb250YWluZXIge1xuICAgICAgZ3JpZC1hcmVhOiB0eHQ7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICAgIC5pbWctY29udGFpbmVyIHtcbiAgICAgIGdyaWQtYXJlYTogaW1nO1xuICAgIH1cbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgUHJvbXB0LWFnYWluXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jcHJvbXB0LWFnYWluIHtcbiAgcGFkZGluZy10b3A6IDU1cHg7XG4gIHBhZGRpbmctYm90dG9tOiA1OHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgICAgTWVkaWEgUXVlcnlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRzcC13aWR0aCAtIDEpIHtcbiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgIFNwLWFuaW1hdGluZy1jb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgI3NwLWFuaW1hdGluZy1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogNTA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjFzO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDFzO1xuICB9XG4gICNzcC1hbmltYXRpbmctY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgbGVmdDogLTUwJTtcbiAgICByaWdodDogNTAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xcztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxcztcbiAgfVxuICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgUHJvbXB0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICNwcm9tcHQge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEzcHggLSA1N3B4IC0gMTFweCAtIDE1cHgpO1xuICAgIG1hcmdpbi10b3A6IDExcHg7XG5cbiAgICAuZ3JpZCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvIDFmcjtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogOS4zNnZoIGF1dG8gNS4wNXZoIGF1dG8gOS45NnZoO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgXCIuLi4gLi4uIC4uLlwiXG4gICAgICAgIFwiLi4uIGltZyAuLi5cIlxuICAgICAgICBcIi4uLiAuLi4gLi4uXCJcbiAgICAgICAgXCIuLi4gdHh0IC4uLlwiXG4gICAgICAgIFwiLi4uIC4uLiAuLi5cIlxuICAgICAgO1xuXG4gICAgICAuaW1nLWNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDY0dnc7XG4gICAgICAgIGdyaWQtYXJlYTogaW1nO1xuICAgICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnR4dC1jb250YWluZXIge1xuICAgICAgICBncmlkLWFyZWE6IHR4dDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAuc2Nyb2xsLW5hdi1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAjc2Nyb2xsLW5hdiB7XG4gICAgICAgIC8vd2lkdGg6IDEwMHB4O1xuICAgICAgICBib3R0b206IDMuNjl2aDtcbiAgICAgICAgZm9udC1zaXplOiAkc3AtZi0xMjtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgYm90dG9tOiAtMjVweDtcbiAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgIEFib3V0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICNhYm91dCB7XG4gICAgLy9wYWRkaW5nLXRvcDogNDVweDtcbiAgICBwYWRkaW5nLXRvcDogNS41NHZoO1xuXG4gICAgPiBoMSB7XG4gICAgICAvL2ZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgZm9udC1zaXplOiA1Ljg3dnc7XG4gICAgfVxuICAgIGgzIHtcbiAgICAgIC8vZm9udC1zaXplOiAwLjlyZW07XG4gICAgICBmb250LXNpemU6IDIuNHZ3O1xuICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgIH1cblxuICAgID4gZGl2IHtcbiAgICAgIGgyIHtcbiAgICAgICAgLy9mb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgZm9udC1zaXplOiA0Ljh2dztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICB9XG4gICAgICAuaW1nLWNvbnRhaW5lciB7XG4gICAgICAgIC8vd2lkdGg6IDM0NXB4O1xuICAgICAgICB3aWR0aDogOTJ2dztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC50eHQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjhweDtcbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAkc3AtZi0xMjtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS44O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgIEFueVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAjYW55IHtcbiAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgIGgzIHtcbiAgICAgIHdpZHRoOiAyMzRweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG5cbiAgICAuZ3JpZCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvIDE4cHggYXV0byAxJSAgMWZyO1xuICAgICAgbWFyZ2luLXRvcDogNDZweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzN3B4O1xuXG4gICAgICAuaW1nLWNvbnRhaW5lcjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgLy93aWR0aDogMjA2cHg7XG4gICAgICAgIHdpZHRoOiA1NC45M3Z3O1xuICAgICAgfVxuXG4gICAgICAuaW1nLWNvbnRhaW5lcjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAvL3dpZHRoOiAxMDJweDtcbiAgICAgICAgd2lkdGg6IDI3LjJ2dztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgU3RlcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAjc3RlcCB7XG4gICAgcGFkZGluZy10b3A6IDFweDtcblxuICAgID4gaDMge1xuICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICB9XG4gICAgPiBoNCB7XG4gICAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgIH1cblxuICAgIC5ncmlkIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG8gMjBweCBhdXRvIDFmcjtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxOXB4IGF1dG87XG4gICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgICBcIi4uLiBpbWcxIC4uLiBpbWcyIC4uLlwiXG4gICAgICAgIFwiLi4uIC4uLiAuLi4gLi4uIC4uLlwiXG4gICAgICAgIFwiLi4uIGltZzMgLi4uIGltZzQgLi4uXCJcbiAgICAgIDtcbiAgICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcblxuICAgICAgLmltZy1jb250YWluZXI6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIC8vd2lkdGg6IDE0NHB4O1xuICAgICAgICB3aWR0aDogMzguNHZ3O1xuICAgICAgfVxuICAgICAgLmltZy1jb250YWluZXI6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICAvL3dpZHRoOiAxMjVweDtcbiAgICAgICAgd2lkdGg6IDMzLjMzdnc7XG4gICAgICB9XG4gICAgICAuaW1nLWNvbnRhaW5lcjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAgIC8vd2lkdGg6IDE0NHB4O1xuICAgICAgICB3aWR0aDogMzguNHZ3O1xuICAgICAgfVxuICAgICAgLmltZy1jb250YWluZXI6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgd2lkdGg6IDEyNXB4O1xuICAgICAgICB3aWR0aDogMzMuMzN2dztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgRXhwZXJpZW5jZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAjZXhwZXJpZW5jZSB7XG4gICAgcGFkZGluZy10b3A6IDEycHg7XG5cbiAgICA+IGgzIHtcbiAgICAgIC8vd2lkdGg6IDMwMHB4O1xuICAgICAgd2lkdGg6IDgwdnc7XG4gICAgICBsaW5lLWhlaWdodDogMS44O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cblxuICAgIC5ncmlkIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG8gMWZyIWltcG9ydGFudDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIWltcG9ydGFudDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICBcIi4uLiBpbWcgLi4uXCJcbiAgICAgICAgIFwiLi4uIHR4dCAuLi5cIlxuICAgICAgIWltcG9ydGFudDtcblxuICAgICAgLmltZy1jb250YWluZXIge1xuICAgICAgICAvL3dpZHRoOiAxMzZweDtcbiAgICAgICAgd2lkdGg6IDM2LjI3dnc7XG4gICAgICB9XG4gICAgICAudHh0LWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLy90b3A6IC0gNC45MnZoO1xuICAgICAgICB0b3A6IC00dmg7XG4gICAgICAgIC8vd2lkdGg6MzIxcHg7XG4gICAgICAgIHdpZHRoOiA4NS42dnc7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgIC8vd2lkdGg6IDI1NnB4O1xuICAgICAgICAgIC8vd2lkdGg6IDY4LjI3dnc7XG4gICAgICAgICAgd2lkdGg6IDY5dnc7XG4gICAgICAgICAgY29sb3I6ICRwcmltYXJ5X2NvbG9yO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgaDMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjlweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3JpZDpmaXJzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi10b3A6IDYxcHg7XG4gICAgICAuaW1nLWNvbnRhaW5lciB7XG4gICAgICAgIGdyaWQtYXJlYTogaW1nO1xuICAgICAgfVxuICAgICAgLnR4dC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmdyaWQ6bnRoLW9mLXR5cGUoMikge1xuICAgICAgbWFyZ2luLXRvcDogNzFweDtcbiAgICB9XG4gICAgLmdyaWQ6bnRoLW9mLXR5cGUoMykge1xuICAgICAgbWFyZ2luLXRvcDogNTRweDtcbiAgICAgIC50eHQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxN3B4O1xuICAgICAgICAgICAgLy93aWR0aDogMjY4cHg7XG4gICAgICAgICAgICB3aWR0aDogNzEuNDd2dztcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBoNCB7XG4gICAgICAgICAgZm9udC1zaXplOiAkc3AtZi0xNjtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzN3B4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZ3JpZDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXRvcDogNTFweDtcbiAgICB9XG4gIH1cblxuICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgUHJvbXB0LWFnYWluXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICNwcm9tcHQtYWdhaW4ge1xuICAgIHBhZGRpbmctdG9wOiA2M3B4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2N3B4O1xuICB9XG5cbn1cblxuXG4vL0BtZWRpYSAobWluLXdpZHRoOiAkc3Atd2lkdGgpIGFuZCAobWF4LXdpZHRoOiAkbWF4LXdpZHRoIC0gMXB4IHtcbi8vICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAgICAgICAgQWJvdXRcbi8vICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vICAjYWJvdXQge1xuLy8gICAgPiBoMSB7XG4vLyAgICAgIC8vZm9udC1zaXplOiAyLjU3cmVtOyAvLyAzNnB4XG4vLyAgICAgIGZvbnQtc2l6ZTogMi43MDhyZW07XG4vLyAgICB9XG4vL1xuLy8gICAgLmdyaWQge1xuLy8gICAgICAudHh0LWNvbnRhaW5lciB7XG4vLyAgICAgICAgcCB7XG4vLyAgICAgICAgICBmb250LXNpemU6IDEuMjAzcmVtO1xuLy8gICAgICAgIH1cbi8vICAgICAgfVxuLy9cbi8vICAgICAgLmltZy1jb250YWluZXIge1xuLy8gICAgICAgIC8vd2lkdGg6IDkwJTtcbi8vICAgICAgICB3aWR0aDogMzguNTR2dztcbi8vICAgICAgfVxuLy8gICAgfVxuLy8gIH1cbi8vXG4vLyAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgICAgICAgU3RlcFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vLyAgI3N0ZXAge1xuLy8gICAgLmdyaWQge1xuLy8gICAgICAuaW1nLWNvbnRhaW5lcjpmaXJzdC1vZi10eXBlIHtcbi8vICAgICAgICBncmlkLWFyZWE6IGltZzE7XG4vLyAgICAgICAgd2lkdGg6IDIxLjUxdnc7XG4vLyAgICAgIH1cbi8vICAgICAgLmltZy1jb250YWluZXI6bnRoLW9mLXR5cGUoMikge1xuLy8gICAgICAgIGdyaWQtYXJlYTogaW1nMjtcbi8vICAgICAgICB3aWR0aDogMjEuNTF2dztcbi8vICAgICAgfVxuLy8gICAgICAuaW1nLWNvbnRhaW5lcjpudGgtb2YtdHlwZSgzKSB7XG4vLyAgICAgICAgZ3JpZC1hcmVhOiBpbWczO1xuLy8gICAgICAgIHdpZHRoOiAyMS41MXZ3O1xuLy8gICAgICB9XG4vLyAgICAgIC5pbWctY29udGFpbmVyOmxhc3Qtb2YtdHlwZSB7XG4vLyAgICAgICAgZ3JpZC1hcmVhOiBpbWc0O1xuLy8gICAgICAgIHdpZHRoOiAxOC43M3Z3O1xuLy8gICAgICB9XG4vLyAgICB9XG4vLyAgfVxuLy9cbi8vICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAgICAgICBFeHBlcmllbmNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vICAjZXhwZXJpZW5jZSB7XG4vL1xuLy8gICAgLmdyaWQge1xuLy8gICAgICAuaW1nLWNvbnRhaW5lciB7XG4vLyAgICAgICAgd2lkdGg6IDMwLjF2dztcbi8vICAgICAgfVxuLy8gICAgICAudHh0LWNvbnRhaW5lciB7XG4vLyAgICAgICAgd2lkdGg6IDM2LjEydnc7XG4vLyAgICAgIH1cbi8vICAgIH1cbi8vICAgIC5ncmlkOmZpcnN0LW9mLXR5cGUge1xuLy8gICAgICAvL2dyaWQtdGVtcGxhdGUtcm93czogNTIwcHg7XG4vLyAgICB9XG4vLyAgICAuZ3JpZDpudGgtb2YtdHlwZSgzKSB7XG4vLyAgICAgIC8vZ3JpZC10ZW1wbGF0ZS1yb3dzOiA2MTVweDtcbi8vICAgICAgZGl2IHtcbi8vICAgICAgICAvL3dpZHRoOiAyNi40OXZ3O1xuLy8gICAgICAgIGltZyB7XG4vLyAgICAgICAgICB3aWR0aDogMTAwJTtcbi8vICAgICAgICB9XG4vLyAgICAgIH1cbi8vICAgIH1cbi8vICB9XG4vL1xuLy99XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcHVibGljL2Fzc2V0cy9zcmMvc2Fzcy9faW5kZXguc2NzcyIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICBDb21wbGV0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI2NvbXBsZXRlIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzBweCAtIDcwcHggLSAyMHB4IC0gNTBweCk7XG4gIC8qXG4gICAgMTAwdmggLSBtYXJnaW4tdG9wQGhlYWRlciAtIGhlaWdodEBoZWFkZXIgLSBtYXJnaW4tdG9wQHByb21wdCAtIHBhZGRpbmctKGxlZnQsIHJpZ2h0KUBjb250YWluZXJcbiAgKi9cbiAgd2lkdGg6IDEwMCU7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjcpO1xuICBib3JkZXItcmFkaXVzOiAxM3B4O1xuXG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDY1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG5cbiAgLmJhY2sge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuICAuZnJvbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC50eHQtY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMjAlIDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAycmVtOyAvLyAyOHB4XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnlfY29sb3I7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTsgLy8gMjhweFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3B1YmxpYy9hc3NldHMvc3JjL3Nhc3MvX2NvbXBsZXRlLnNjc3MiXSwic291cmNlUm9vdCI6IiJ9*/