/* ------------------------------------------------------------------------ *\
 * Print
\* ------------------------------------------------------------------------ */
/* stylelint-disable selector-no-qualifying-type, selector-max-type */
/* These styles are intended to be global */
/*
Gutenberg: Web Typography Starter Kit
Website ....... http://matejlatin.github.io/Gutenberg/
Version ....... 1.1
Github ........ https://github.com/matejlatin/Gutenberg
Authors ....... Matej Latin (@matejlatin)
License ....... Creative Commmons Attribution 3.0
License URL ... https://raw.githubusercontent.com/matejlatin/Gutenberg/master/license.txt
*/
/* Configuration
   ========================================================================== */
/* Calculations
   ========================================================================== */
/* Font themes
   ========================================================================== */
@media screen and (min-width: 40em) {
  .floatLeft {
    float: left; } }

@media screen and (min-width: 40em) {
  .floatCenter {
    margin-left: auto;
    margin-right: auto; } }

@media screen and (min-width: 40em) {
  .floatRight {
    float: right; } }

/* Grid
   ========================================================================== */
.grid, .grid-double {
  background-image: linear-gradient(to bottom, rgba(0, 170, 255, 0.3) 1px, transparent 1px);
  background-position: left top;
  background-repeat: repeat;
  background-size: 100% 26px;
  background-size: 100% 1.625rem; }
  @media screen and (min-width: 40em) {
    .grid, .grid-double {
      background-size: 100% 31px;
      background-size: 100% 1.72222rem; } }

.grid-double {
  background-image: linear-gradient(to bottom, rgba(0, 170, 255, 0.3) 1px, transparent 1px, transparent 13px, rgba(0, 170, 255, 0.2) 13px, transparent 14px, transparent 26px); }
  @media screen and (min-width: 40em) {
    .grid-double {
      background-image: linear-gradient(to bottom, rgba(0, 170, 255, 0.3) 1px, transparent 1px, transparent 15.5px, rgba(0, 170, 255, 0.2) 15.5px, transparent 16.5px, transparent 31px); } }

.toggleWrapper {
  display: block;
  position: fixed;
  top: 26px;
  right: 26px;
  background-color: #231F20;
  border-radius: 25px;
  padding: 0 10px 0 20px;
  height: 32px; }
  @media screen and (min-width: 40em) {
    .toggleWrapper {
      right: 31px;
      top: 31px; } }

.btnToggleGrid {
  background: url("../../assets/images/grid-icons.png") top right no-repeat;
  background-size: 32px;
  display: block;
  font-size: 14px;
  text-decoration: none;
  padding-right: 35px;
  height: 32px;
  line-height: 34px;
  font-family: Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  color: #fff; }
  @media screen and (min-width: 40em) {
    .btnToggleGrid {
      top: 31px;
      right: 31px; } }
  .btnToggleGrid:hover {
    color: #fff; }
  .btnToggleGrid:active {
    color: #f00; }

.double-grid {
  background-position-y: -32px; }

.grid-off {
  background-position-y: -64px; }

aside {
  display: block; }

/* Defaults
   ========================================================================== */
@media screen and (min-width: 40em) {
  body,
  html {
    margin: 0;
    width: 100%;
    max-width: none; } }

html {
  box-sizing: border-box;
  font-size: 16px;
  font-size: 100%;
  color: #222;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }
  @media screen and (min-width: 40em) {
    html {
      font-size: 18px;
      font-size: 1.125rem; } }

* {
  line-height: 26px;
  line-height: 26px;
  line-height: 1.625rem;
  margin: 0px 0px 26px;
  margin: 0px 0px 26px;
  margin: 0rem 0rem 1.625rem; }
  @media screen and (min-width: 40em) {
    * {
      line-height: 31px;
      line-height: 1.72222rem;
      margin-bottom: 31px;
      margin-bottom: 1.72222rem;
      max-width: 630px;
      max-width: 35rem;
      margin-left: auto;
      margin-right: auto; } }

*,
*::before,
*::after {
  box-sizing: inherit; }

body {
  margin: 0; }

footer {
  display: block; }
  body > footer {
    margin: 0 auto;
    width: 80%; }

header {
  display: block; }

main {
  display: block; }

section {
  display: block; }

/* Links
   ========================================================================== */
a {
  background: transparent;
  color: #222;
  transition: all .3s; }
  a:active, a:hover {
    outline: 0; }
  a:hover {
    color: #222; }
  a:visited {
    color: #888; }
    a:visited:hover {
      color: #222; }
  a:active {
    color: #f00; }

article {
  display: block;
  margin: 0 auto;
  width: 80%; }
  @media screen and (min-width: 40em) {
    article {
      max-width: 945px;
      max-width: 52.5rem; } }

audio {
  display: inline-block;
  vertical-align: baseline; }
  audio:not([controls]) {
    display: none;
    height: 0; }

canvas {
  display: inline-block;
  vertical-align: baseline; }

pre {
  overflow: auto; }

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

code {
  padding: 26px;
  padding: 26px;
  padding: 1.625rem;
  display: block; }
  @media screen and (min-width: 40em) {
    code {
      padding: 31px;
      padding: 1.72222rem; } }

details {
  display: block; }

summary {
  display: block; }

figcaption {
  line-height: 26px;
  line-height: 26px;
  line-height: 1.625rem;
  color: #222;
  display: block;
  font-size: 13px;
  font-size: .8125rem;
  font-style: italic;
  margin-bottom: 0;
  text-align: center; }
  @media screen and (min-width: 40em) {
    figcaption {
      line-height: 31px;
      line-height: 1.72222rem;
      margin-bottom: 0; } }

figure {
  display: block; }

@media screen and (min-width: 40em) {
  figure.floatLeft,
  figure.floatRight {
    max-width: 315px;
    max-width: 17.5rem;
    padding: 0px 31px;
    padding: 0rem 1.72222rem; } }

@media screen and (min-width: 40em) {
  figure.floatLeft blockquote,
  figure.floatRight blockquote {
    padding: 0px;
    padding: 0rem;
    text-align: left; } }

@media screen and (min-width: 40em) {
  figure.floatLeft blockquote p,
  figure.floatRight blockquote p {
    font-size: 19.2px;
    font-size: 1.2rem;
    line-height: 31px;
    line-height: 1.72222rem; } }

/* Headings
   ========================================================================== */
h1 {
  font-size: 40px;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 52px;
  line-height: 52px;
  line-height: 3.25rem;
  margin-top: 104px;
  margin-top: 104px;
  margin-top: 6.5rem;
  margin-bottom: 26px;
  margin-bottom: 26px;
  margin-bottom: 1.625rem; }

h2 {
  font-size: 27px;
  font-size: 27px;
  font-size: 1.6875rem;
  line-height: 39px;
  line-height: 39px;
  line-height: 2.4375rem;
  margin-top: 65px;
  margin-top: 65px;
  margin-top: 4.0625rem;
  margin-bottom: 13px;
  margin-bottom: 13px;
  margin-bottom: 0.8125rem; }

h3 {
  font-size: 22px;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 26px;
  line-height: 26px;
  line-height: 1.625rem;
  margin-top: 52px;
  margin-top: 52px;
  margin-top: 3.25rem;
  margin-bottom: 13px;
  margin-bottom: 13px;
  margin-bottom: 0.8125rem; }

h4 {
  font-size: 19.2px;
  font-size: 19.2px;
  font-size: 1.2rem;
  line-height: 26px;
  line-height: 26px;
  line-height: 1.625rem;
  margin-top: 39px;
  margin-top: 39px;
  margin-top: 2.4375rem;
  margin-bottom: 13px;
  margin-bottom: 13px;
  margin-bottom: 0.8125rem; }

h5 {
  font-size: 16px;
  font-size: 16px;
  font-size: 1rem;
  line-height: 26px;
  line-height: 26px;
  line-height: 1.625rem;
  margin-top: 65px;
  margin-top: 65px;
  margin-top: 4.0625rem;
  margin-bottom: 13px;
  margin-bottom: 13px;
  margin-bottom: 0.8125rem; }

h6 {
  font-size: 16px;
  font-size: 16px;
  font-size: 1rem;
  line-height: 26px;
  line-height: 26px;
  line-height: 1.625rem;
  margin-top: 65px;
  margin-top: 65px;
  margin-top: 4.0625rem;
  margin-bottom: 13px;
  margin-bottom: 13px;
  margin-bottom: 0.8125rem; }

@media screen and (min-width: 40em) {
  h1 {
    font-size: 40px;
    font-size: 2.5rem;
    line-height: 62px;
    line-height: 3.44444rem;
    margin-top: 124px;
    margin-top: 6.88889rem;
    margin-bottom: 31px;
    margin-bottom: 1.72222rem; }
  h2 {
    font-size: 27px;
    font-size: 1.6875rem;
    line-height: 46.5px;
    line-height: 2.58333rem;
    margin-top: 77.5px;
    margin-top: 4.30556rem;
    margin-bottom: 15.5px;
    margin-bottom: 0.86111rem; }
  h3 {
    font-size: 22px;
    font-size: 1.375rem;
    line-height: 31px;
    line-height: 1.72222rem;
    margin-top: 62px;
    margin-top: 3.44444rem;
    margin-bottom: 15.5px;
    margin-bottom: 0.86111rem; }
  h4 {
    font-size: 19.2px;
    font-size: 1.2rem;
    line-height: 31px;
    line-height: 1.72222rem;
    margin-top: 46.5px;
    margin-top: 2.58333rem;
    margin-bottom: 15.5px;
    margin-bottom: 0.86111rem; }
  h5 {
    font-size: 16px;
    font-size: 1rem;
    line-height: 31px;
    line-height: 1.72222rem;
    margin-top: 77.5px;
    margin-top: 4.30556rem;
    margin-bottom: 15.5px;
    margin-bottom: 0.86111rem; }
  h6 {
    font-size: 16px;
    font-size: 1rem;
    line-height: 31px;
    line-height: 1.72222rem;
    margin-top: 77.5px;
    margin-top: 4.30556rem;
    margin-bottom: 15.5px;
    margin-bottom: 0.86111rem; } }

h1 + h2 {
  margin-top: 26px;
  margin-top: 26px;
  margin-top: 1.625rem; }
  @media screen and (min-width: 40em) {
    h1 + h2 {
      margin-top: 31px;
      margin-top: 1.72222rem; } }

h2 + h3,
h3 + h4,
h4 + h5 {
  margin-top: 13px;
  margin-top: 13px;
  margin-top: 0.8125rem; }
  @media screen and (min-width: 40em) {
    h2 + h3,
    h3 + h4,
    h4 + h5 {
      margin-top: 15.5px;
      margin-top: 0.86111rem; } }

h5 + h6 {
  margin-top: -13px;
  margin-top: -13px;
  margin-top: -0.8125rem; }
  @media screen and (min-width: 40em) {
    h5 + h6 {
      margin-top: -15.5px;
      margin-top: -0.86111rem; } }

h6 {
  font-style: italic;
  font-weight: normal; }

hgroup {
  display: block; }

hr {
  margin-top: 52px;
  margin-top: 52px;
  margin-top: 3.25rem;
  margin-bottom: 52px;
  margin-bottom: 52px;
  margin-bottom: 3.25rem;
  box-sizing: content-box;
  border: 0;
  color: #222;
  display: block;
  height: 26px;
  height: 26px;
  height: 1.625rem;
  margin-right: auto;
  margin-left: auto;
  background-size: 100% 26px;
  background-size: 100% 1.625rem;
  background-image: linear-gradient(to bottom, transparent 1px, transparent 11px, #222 11px, #222 15px, transparent 15px, transparent 26px);
  width: 100px; }
  @media screen and (min-width: 40em) {
    hr {
      margin-top: 62px;
      margin-top: 3.44444rem;
      margin-bottom: 62px;
      margin-bottom: 3.44444rem;
      height: 31px;
      height: 1.72222rem; } }
  @media screen and (min-width: 40em) {
    hr {
      background-size: 100% 31px;
      background-size: 100% 1.72222rem;
      background-image: linear-gradient(to bottom, transparent 1px, transparent 13.5px, #222 13.5px, #222 17.5px, transparent 17.5px, transparent 31px); } }

img {
  border: 0;
  max-width: 100%;
  display: block;
  margin: inherit auto; }

svg:not(:root) {
  overflow: hidden; }

ul li,
ol li {
  margin-bottom: 0; }

nav {
  display: block; }

progress {
  display: inline-block;
  vertical-align: baseline; }

blockquote {
  font-style: italic;
  padding-left: 23px;
  padding-left: 1.4375rem; }
  @media screen and (min-width: 40em) {
    blockquote {
      padding-left: 2rem; } }

cite {
  display: block;
  font-style: normal; }

figure blockquote {
  padding: 26px 0px;
  padding: 26px 0px;
  padding: 1.625rem 0rem; }
  @media screen and (min-width: 40em) {
    figure blockquote {
      padding: 62px 0px 31px;
      padding: 3.44444rem 0rem 1.72222rem;
      text-align: center; } }
  figure blockquote p {
    font-size: 27px;
    font-size: 27px;
    font-size: 1.6875rem;
    line-height: 39px;
    line-height: 39px;
    line-height: 2.4375rem; }
    @media screen and (min-width: 40em) {
      figure blockquote p {
        font-size: 27px;
        font-size: 1.6875rem;
        line-height: 46.5px;
        line-height: 2.58333rem; } }

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

td,
th {
  padding: 0; }

[hidden],
template {
  display: none; }

br {
  margin-bottom: 0; }

abbr {
  letter-spacing: 0.1em; }

abbr[title] {
  border-bottom: 1px dotted; }

b,
strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

em,
i {
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

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

small {
  line-height: 13px;
  line-height: 13px;
  line-height: 0.8125rem;
  font-size: 70%; }
  @media screen and (min-width: 40em) {
    small {
      line-height: 15.5px;
      line-height: 0.86111rem; } }

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Paragraph
========================================================================== */
.attention-grabber {
  font-size: 19.2px;
  font-size: 19.2px;
  font-size: 1.2rem; }

.alignLeft {
  text-align: left; }

.alignCenter {
  text-align: center; }

.alignRight {
  text-align: right; }

.uppercase {
  letter-spacing: .1em;
  text-transform: uppercase; }

video {
  display: inline-block;
  vertical-align: baseline; }

/* TODOs:
 - some line heights produce margins with .5 results, seemingly breaking the gird (?),
 - table + side comments elements,
 - translate to Less and Stylus.
 */
a[href^="//"]::after {
  content: " (" attr(href) ")";
  font-size: 80%; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2UvcHJpbnQvX3ByaW50LnNjc3MiLCJwcmludC5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ3V0ZW5iZXJnLXdlYi10eXBlL3NyYy9zdHlsZS9ndXRlbmJlcmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ndXRlbmJlcmctd2ViLXR5cGUvc3JjL3N0eWxlL19ndXRlbmJlcmctY29uZmlnLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ3V0ZW5iZXJnLXdlYi10eXBlL3NyYy9zdHlsZS9oZWxwZXJzL19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ndXRlbmJlcmctd2ViLXR5cGUvc3JjL3N0eWxlL2hlbHBlcnMvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ndXRlbmJlcmctd2ViLXR5cGUvc3JjL3N0eWxlL2xheW91dC9fYXNpZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ndXRlbmJlcmctd2ViLXR5cGUvc3JjL3N0eWxlL2xheW91dC9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2d1dGVuYmVyZy13ZWItdHlwZS9zcmMvc3R5bGUvbWl4aW5zL19saW5lLWhlaWdodC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2d1dGVuYmVyZy13ZWItdHlwZS9zcmMvc3R5bGUvbWl4aW5zL19tYXJnaW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ndXRlbmJlcmctd2ViLXR5cGUvc3JjL3N0eWxlL2xheW91dC9fZm9vdGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ3V0ZW5iZXJnLXdlYi10eXBlL3NyYy9zdHlsZS9sYXlvdXQvX2hlYWRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2d1dGVuYmVyZy13ZWItdHlwZS9zcmMvc3R5bGUvbGF5b3V0L19tYWluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ3V0ZW5iZXJnLXdlYi10eXBlL3NyYy9zdHlsZS9sYXlvdXQvX3NlY3Rpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ndXRlbmJlcmctd2ViLXR5cGUvc3JjL3N0eWxlL21vZHVsZXMvX2FuY2hvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2d1dGVuYmVyZy13ZWItdHlwZS9zcmMvc3R5bGUvbW9kdWxlcy9fYXJ0aWNsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2d1dGVuYmVyZy13ZWItdHlwZS9zcmMvc3R5bGUvbW9kdWxlcy9fYXVkaW8uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ndXRlbmJlcmctd2ViLXR5cGUvc3JjL3N0eWxlL21vZHVsZXMvX2NhbnZhcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2d1dGVuYmVyZy13ZWItdHlwZS9zcmMvc3R5bGUvbW9kdWxlcy9fY29kZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2d1dGVuYmVyZy13ZWItdHlwZS9zcmMvc3R5bGUvbWl4aW5zL19wYWRkaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ3V0ZW5iZXJnLXdlYi10eXBlL3NyYy9zdHlsZS9tb2R1bGVzL19kZXRhaWxzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ3V0ZW5iZXJnLXdlYi10eXBlL3NyYy9zdHlsZS9tb2R1bGVzL19maWd1cmUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ndXRlbmJlcmctd2ViLXR5cGUvc3JjL3N0eWxlL21peGlucy9fZm9udC1zaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ3V0ZW5iZXJnLXdlYi10eXBlL3NyYy9zdHlsZS9tb2R1bGVzL19oZWFkaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ3V0ZW5iZXJnLXdlYi10eXBlL3NyYy9zdHlsZS9tb2R1bGVzL19ob3Jpem9udGFsLXJ1bGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ndXRlbmJlcmctd2ViLXR5cGUvc3JjL3N0eWxlL21vZHVsZXMvX2ltYWdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ3V0ZW5iZXJnLXdlYi10eXBlL3NyYy9zdHlsZS9tb2R1bGVzL19saXN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ3V0ZW5iZXJnLXdlYi10eXBlL3NyYy9zdHlsZS9tb2R1bGVzL19uYXZpZ2F0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ3V0ZW5iZXJnLXdlYi10eXBlL3NyYy9zdHlsZS9tb2R1bGVzL19wcm9ncmVzcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2d1dGVuYmVyZy13ZWItdHlwZS9zcmMvc3R5bGUvbW9kdWxlcy9fcXVvdGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ndXRlbmJlcmctd2ViLXR5cGUvc3JjL3N0eWxlL21vZHVsZXMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ3V0ZW5iZXJnLXdlYi10eXBlL3NyYy9zdHlsZS9tb2R1bGVzL190ZW1wbGF0ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2d1dGVuYmVyZy13ZWItdHlwZS9zcmMvc3R5bGUvbW9kdWxlcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2d1dGVuYmVyZy13ZWItdHlwZS9zcmMvc3R5bGUvbW9kdWxlcy9fdmlkZW8uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7NkVDQTZFO0FESTdFLHFFQUFBO0FBRUEsMkNBQUE7QUVSQTs7Ozs7Ozs7Q0RhQztBRWJEOytFRmUrRTtBRXlCL0U7K0VGdkIrRTtBRW9DL0U7K0VGbEMrRTtBR2hCN0U7RUFGRjtJQUdJLFdBQVcsRUFBQSxFQUdkOztBQUlDO0VBRkY7SUFHSSxpQkFBaUI7SUFDakIsa0JBQWtCLEVBQUEsRUFHckI7O0FBSUM7RUFGRjtJQUdJLFlBQVksRUFBQSxFQUdmOztBQ3hCRDsrRUprQytFO0FJOUIvRTtFQUNFLHlGQUEyRjtFQUMzRiw2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QUNFLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLGtCQUFrQixFQUFBOztBQUdwQjtFQUNFLGlCQUFpQixFQUFBOztBQUluQjtFQUNFLG9CQUFvQjtFQUNwQix5QkFBeUIsRUFBQTs7QUM5STNCO0VBQ0UscUJBQXFCO0VBQ3JCLHdCQUF3QixFQUFBOztBL0I2QzFCOzs7O0VEc2hCRTtBRGxqQkY7RUFDSSw0QkFBNEI7RUFDNUIsY0FBYyxFQUFBIiwiZmlsZSI6InByaW50LmM3NDE5MjZlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogUHJpbnRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBzZWxlY3Rvci1tYXgtdHlwZSAqL1xuXG4vKiBUaGVzZSBzdHlsZXMgYXJlIGludGVuZGVkIHRvIGJlIGdsb2JhbCAqL1xuXG4vLyBWZW5kb3JcblxuJHRoZW1lOiBjdXN0b207XG4kZm9udC1ib2R5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuXG5AaW1wb3J0IFwiZ3V0ZW5iZXJnLXdlYi10eXBlL3NyYy9zdHlsZS9ndXRlbmJlcmcuc2Nzc1wiO1xuXG4vLyBDdXN0b21cblxuYVtocmVmXj1cIi8vXCJdOjphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgZm9udC1zaXplOiA4MCU7XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBQcmludFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBzZWxlY3Rvci1tYXgtdHlwZSAqL1xuLyogVGhlc2Ugc3R5bGVzIGFyZSBpbnRlbmRlZCB0byBiZSBnbG9iYWwgKi9cbi8qXG5HdXRlbmJlcmc6IFdlYiBUeXBvZ3JhcGh5IFN0YXJ0ZXIgS2l0XG5XZWJzaXRlIC4uLi4uLi4gaHR0cDovL21hdGVqbGF0aW4uZ2l0aHViLmlvL0d1dGVuYmVyZy9cblZlcnNpb24gLi4uLi4uLiAxLjFcbkdpdGh1YiAuLi4uLi4uLiBodHRwczovL2dpdGh1Yi5jb20vbWF0ZWpsYXRpbi9HdXRlbmJlcmdcbkF1dGhvcnMgLi4uLi4uLiBNYXRlaiBMYXRpbiAoQG1hdGVqbGF0aW4pXG5MaWNlbnNlIC4uLi4uLi4gQ3JlYXRpdmUgQ29tbW1vbnMgQXR0cmlidXRpb24gMy4wXG5MaWNlbnNlIFVSTCAuLi4gaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21hdGVqbGF0aW4vR3V0ZW5iZXJnL21hc3Rlci9saWNlbnNlLnR4dFxuKi9cbi8qIENvbmZpZ3VyYXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBDYWxjdWxhdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBGb250IHRoZW1lc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmZsb2F0TGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5mbG9hdENlbnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZmxvYXRSaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLyogR3JpZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5ncmlkLCAuZ3JpZC1kb3VibGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDE3MCwgMjU1LCAwLjMpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAyNnB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMS42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLCAuZ3JpZC1kb3VibGUge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDMxcHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMS43MjIyMnJlbTsgfSB9XG5cbi5ncmlkLWRvdWJsZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMTcwLCAyNTUsIDAuMykgMXB4LCB0cmFuc3BhcmVudCAxcHgsIHRyYW5zcGFyZW50IDEzcHgsIHJnYmEoMCwgMTcwLCAyNTUsIDAuMikgMTNweCwgdHJhbnNwYXJlbnQgMTRweCwgdHJhbnNwYXJlbnQgMjZweCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWRvdWJsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDE3MCwgMjU1LCAwLjMpIDFweCwgdHJhbnNwYXJlbnQgMXB4LCB0cmFuc3BhcmVudCAxNS41cHgsIHJnYmEoMCwgMTcwLCAyNTUsIDAuMikgMTUuNXB4LCB0cmFuc3BhcmVudCAxNi41cHgsIHRyYW5zcGFyZW50IDMxcHgpOyB9IH1cblxuLnRvZ2dsZVdyYXBwZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDI2cHg7XG4gIHJpZ2h0OiAyNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMxRjIwO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBwYWRkaW5nOiAwIDEwcHggMCAyMHB4O1xuICBoZWlnaHQ6IDMycHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50b2dnbGVXcmFwcGVyIHtcbiAgICAgIHJpZ2h0OiAzMXB4O1xuICAgICAgdG9wOiAzMXB4OyB9IH1cblxuLmJ0blRvZ2dsZUdyaWQge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9hc3NldHMvaW1hZ2VzL2dyaWQtaWNvbnMucG5nXCIpIHRvcCByaWdodCBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMzJweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwYWRkaW5nLXJpZ2h0OiAzNXB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idG5Ub2dnbGVHcmlkIHtcbiAgICAgIHRvcDogMzFweDtcbiAgICAgIHJpZ2h0OiAzMXB4OyB9IH1cbiAgLmJ0blRvZ2dsZUdyaWQ6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idG5Ub2dnbGVHcmlkOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmMDA7IH1cblxuLmRvdWJsZS1ncmlkIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtMzJweDsgfVxuXG4uZ3JpZC1vZmYge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IC02NHB4OyB9XG5cbmFzaWRlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogRGVmYXVsdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGJvZHksXG4gIGh0bWwge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGNvbG9yOiAjMjIyO1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBodG1sIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuXG4qIHtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcbiAgbWFyZ2luOiAwcHggMHB4IDI2cHg7XG4gIG1hcmdpbjogMHJlbSAwcmVtIDEuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAqIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzIyMjJyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS43MjIyMnJlbTtcbiAgICAgIG1heC13aWR0aDogNjMwcHg7XG4gICAgICBtYXgtd2lkdGg6IDM1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgYm9keSA+IGZvb3RlciB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDgwJTsgfVxuXG5oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzIyMjtcbiAgdHJhbnNpdGlvbjogYWxsIC4zczsgfVxuICBhOmFjdGl2ZSwgYTpob3ZlciB7XG4gICAgb3V0bGluZTogMDsgfVxuICBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzIyMjsgfVxuICBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjODg4OyB9XG4gICAgYTp2aXNpdGVkOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMjIyOyB9XG4gIGE6YWN0aXZlIHtcbiAgICBjb2xvcjogI2YwMDsgfVxuXG5hcnRpY2xlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogODAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBhcnRpY2xlIHtcbiAgICAgIG1heC13aWR0aDogOTQ1cHg7XG4gICAgICBtYXgtd2lkdGg6IDUyLjVyZW07IH0gfVxuXG5hdWRpbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG4gIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDA7IH1cblxuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IH1cblxuY29kZSB7XG4gIHBhZGRpbmc6IDI2cHg7XG4gIHBhZGRpbmc6IDEuNjI1cmVtO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgY29kZSB7XG4gICAgICBwYWRkaW5nOiAzMXB4O1xuICAgICAgcGFkZGluZzogMS43MjIyMnJlbTsgfSB9XG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuZmlnY2FwdGlvbiB7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gIGNvbG9yOiAjMjIyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgbGluZS1oZWlnaHQ6IDMxcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS43MjIyMnJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGZpZ3VyZS5mbG9hdExlZnQsXG4gIGZpZ3VyZS5mbG9hdFJpZ2h0IHtcbiAgICBtYXgtd2lkdGg6IDMxNXB4O1xuICAgIG1heC13aWR0aDogMTcuNXJlbTtcbiAgICBwYWRkaW5nOiAwcHggMzFweDtcbiAgICBwYWRkaW5nOiAwcmVtIDEuNzIyMjJyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGZpZ3VyZS5mbG9hdExlZnQgYmxvY2txdW90ZSxcbiAgZmlndXJlLmZsb2F0UmlnaHQgYmxvY2txdW90ZSB7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIHBhZGRpbmc6IDByZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgZmlndXJlLmZsb2F0TGVmdCBibG9ja3F1b3RlIHAsXG4gIGZpZ3VyZS5mbG9hdFJpZ2h0IGJsb2NrcXVvdGUgcCB7XG4gICAgZm9udC1zaXplOiAxOS4ycHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMxcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzIyMjJyZW07IH0gfVxuXG4vKiBIZWFkaW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmgxIHtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDUycHg7XG4gIGxpbmUtaGVpZ2h0OiAzLjI1cmVtO1xuICBtYXJnaW4tdG9wOiAxMDRweDtcbiAgbWFyZ2luLXRvcDogNi41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjYyNXJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMjdweDtcbiAgZm9udC1zaXplOiAxLjY4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAzOXB4O1xuICBsaW5lLWhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW4tdG9wOiA2NXB4O1xuICBtYXJnaW4tdG9wOiA0LjA2MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gIG1hcmdpbi1ib3R0b206IDAuODEyNXJlbTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcbiAgbWFyZ2luLXRvcDogNTJweDtcbiAgbWFyZ2luLXRvcDogMy4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgbWFyZ2luLWJvdHRvbTogMC44MTI1cmVtOyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxOS4ycHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuICBtYXJnaW4tdG9wOiAzOXB4O1xuICBtYXJnaW4tdG9wOiAyLjQzNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gIG1hcmdpbi1ib3R0b206IDAuODEyNXJlbTsgfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuICBtYXJnaW4tdG9wOiA2NXB4O1xuICBtYXJnaW4tdG9wOiA0LjA2MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gIG1hcmdpbi1ib3R0b206IDAuODEyNXJlbTsgfVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuICBtYXJnaW4tdG9wOiA2NXB4O1xuICBtYXJnaW4tdG9wOiA0LjA2MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gIG1hcmdpbi1ib3R0b206IDAuODEyNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDYycHg7XG4gICAgbGluZS1oZWlnaHQ6IDMuNDQ0NDRyZW07XG4gICAgbWFyZ2luLXRvcDogMTI0cHg7XG4gICAgbWFyZ2luLXRvcDogNi44ODg4OXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNzIyMjJyZW07IH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMjdweDtcbiAgICBmb250LXNpemU6IDEuNjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogNDYuNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyLjU4MzMzcmVtO1xuICAgIG1hcmdpbi10b3A6IDc3LjVweDtcbiAgICBtYXJnaW4tdG9wOiA0LjMwNTU2cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE1LjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjg2MTExcmVtOyB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMzFweDtcbiAgICBsaW5lLWhlaWdodDogMS43MjIyMnJlbTtcbiAgICBtYXJnaW4tdG9wOiA2MnB4O1xuICAgIG1hcmdpbi10b3A6IDMuNDQ0NDRyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTUuNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuODYxMTFyZW07IH1cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMTkuMnB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjcyMjIycmVtO1xuICAgIG1hcmdpbi10b3A6IDQ2LjVweDtcbiAgICBtYXJnaW4tdG9wOiAyLjU4MzMzcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE1LjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjg2MTExcmVtOyB9XG4gIGg1IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjcyMjIycmVtO1xuICAgIG1hcmdpbi10b3A6IDc3LjVweDtcbiAgICBtYXJnaW4tdG9wOiA0LjMwNTU2cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE1LjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjg2MTExcmVtOyB9XG4gIGg2IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjcyMjIycmVtO1xuICAgIG1hcmdpbi10b3A6IDc3LjVweDtcbiAgICBtYXJnaW4tdG9wOiA0LjMwNTU2cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE1LjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjg2MTExcmVtOyB9IH1cblxuaDEgKyBoMiB7XG4gIG1hcmdpbi10b3A6IDI2cHg7XG4gIG1hcmdpbi10b3A6IDEuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBoMSArIGgyIHtcbiAgICAgIG1hcmdpbi10b3A6IDMxcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxLjcyMjIycmVtOyB9IH1cblxuaDIgKyBoMyxcbmgzICsgaDQsXG5oNCArIGg1IHtcbiAgbWFyZ2luLXRvcDogMTNweDtcbiAgbWFyZ2luLXRvcDogMC44MTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBoMiArIGgzLFxuICAgIGgzICsgaDQsXG4gICAgaDQgKyBoNSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNS41cHg7XG4gICAgICBtYXJnaW4tdG9wOiAwLjg2MTExcmVtOyB9IH1cblxuaDUgKyBoNiB7XG4gIG1hcmdpbi10b3A6IC0xM3B4O1xuICBtYXJnaW4tdG9wOiAtMC44MTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBoNSArIGg2IHtcbiAgICAgIG1hcmdpbi10b3A6IC0xNS41cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMC44NjExMXJlbTsgfSB9XG5cbmg2IHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbmhncm91cCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogNTJweDtcbiAgbWFyZ2luLXRvcDogMy4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogNTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMy4yNXJlbTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICMyMjI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDI2cHg7XG4gIGhlaWdodDogMS42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAyNnB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMS42MjVyZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDFweCwgdHJhbnNwYXJlbnQgMTFweCwgIzIyMiAxMXB4LCAjMjIyIDE1cHgsIHRyYW5zcGFyZW50IDE1cHgsIHRyYW5zcGFyZW50IDI2cHgpO1xuICB3aWR0aDogMTAwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGhyIHtcbiAgICAgIG1hcmdpbi10b3A6IDYycHg7XG4gICAgICBtYXJnaW4tdG9wOiAzLjQ0NDQ0cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMuNDQ0NDRyZW07XG4gICAgICBoZWlnaHQ6IDMxcHg7XG4gICAgICBoZWlnaHQ6IDEuNzIyMjJyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgaHIge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDMxcHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMS43MjIyMnJlbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDFweCwgdHJhbnNwYXJlbnQgMTMuNXB4LCAjMjIyIDEzLjVweCwgIzIyMiAxNy41cHgsIHRyYW5zcGFyZW50IDE3LjVweCwgdHJhbnNwYXJlbnQgMzFweCk7IH0gfVxuXG5pbWcge1xuICBib3JkZXI6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogaW5oZXJpdCBhdXRvOyB9XG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG51bCBsaSxcbm9sIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5uYXYge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbmJsb2NrcXVvdGUge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIHBhZGRpbmctbGVmdDogMS40Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTsgfSB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbmZpZ3VyZSBibG9ja3F1b3RlIHtcbiAgcGFkZGluZzogMjZweCAwcHg7XG4gIHBhZGRpbmc6IDEuNjI1cmVtIDByZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGZpZ3VyZSBibG9ja3F1b3RlIHtcbiAgICAgIHBhZGRpbmc6IDYycHggMHB4IDMxcHg7XG4gICAgICBwYWRkaW5nOiAzLjQ0NDQ0cmVtIDByZW0gMS43MjIyMnJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIGZpZ3VyZSBibG9ja3F1b3RlIHAge1xuICAgIGZvbnQtc2l6ZTogMjdweDtcbiAgICBmb250LXNpemU6IDEuNjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMzlweDtcbiAgICBsaW5lLWhlaWdodDogMi40Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgZmlndXJlIGJsb2NrcXVvdGUgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjdweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjY4NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0Ni41cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjU4MzMzcmVtOyB9IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDsgfVxuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5iciB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuYWJiciB7XG4gIGxldHRlci1zcGFjaW5nOiAwLjFlbTsgfVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7IH1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG5lbSxcbmkge1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbnNtYWxsIHtcbiAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAwLjgxMjVyZW07XG4gIGZvbnQtc2l6ZTogNzAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMTUuNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDAuODYxMTFyZW07IH0gfVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBQYXJhZ3JhcGhcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYXR0ZW50aW9uLWdyYWJiZXIge1xuICBmb250LXNpemU6IDE5LjJweDtcbiAgZm9udC1zaXplOiAxLjJyZW07IH1cblxuLmFsaWduTGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmFsaWduQ2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5hbGlnblJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnVwcGVyY2FzZSB7XG4gIGxldHRlci1zcGFjaW5nOiAuMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLyogVE9ET3M6XG4gLSBzb21lIGxpbmUgaGVpZ2h0cyBwcm9kdWNlIG1hcmdpbnMgd2l0aCAuNSByZXN1bHRzLCBzZWVtaW5nbHkgYnJlYWtpbmcgdGhlIGdpcmQgKD8pLFxuIC0gdGFibGUgKyBzaWRlIGNvbW1lbnRzIGVsZW1lbnRzLFxuIC0gdHJhbnNsYXRlIHRvIExlc3MgYW5kIFN0eWx1cy5cbiAqL1xuYVtocmVmXj1cIi8vXCJdOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICBmb250LXNpemU6IDgwJTsgfVxuIiwiLypcbkd1dGVuYmVyZzogV2ViIFR5cG9ncmFwaHkgU3RhcnRlciBLaXRcbldlYnNpdGUgLi4uLi4uLiBodHRwOi8vbWF0ZWpsYXRpbi5naXRodWIuaW8vR3V0ZW5iZXJnL1xuVmVyc2lvbiAuLi4uLi4uIDEuMVxuR2l0aHViIC4uLi4uLi4uIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXRlamxhdGluL0d1dGVuYmVyZ1xuQXV0aG9ycyAuLi4uLi4uIE1hdGVqIExhdGluIChAbWF0ZWpsYXRpbilcbkxpY2Vuc2UgLi4uLi4uLiBDcmVhdGl2ZSBDb21tbW9ucyBBdHRyaWJ1dGlvbiAzLjBcbkxpY2Vuc2UgVVJMIC4uLiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbWF0ZWpsYXRpbi9HdXRlbmJlcmcvbWFzdGVyL2xpY2Vuc2UudHh0XG4qL1xuXG5AaW1wb3J0ICdndXRlbmJlcmctY29uZmlnJztcblxuQGltcG9ydCAnbWl4aW5zL2ZvbnQtc2l6ZSc7XG5AaW1wb3J0ICdtaXhpbnMvbGluZS1oZWlnaHQnO1xuQGltcG9ydCAnbWl4aW5zL21hcmdpbic7XG5AaW1wb3J0ICdtaXhpbnMvcGFkZGluZyc7XG5cbkBpbXBvcnQgJ2hlbHBlcnMvYWxpZ25tZW50JztcbkBpbXBvcnQgJ2hlbHBlcnMvZ3JpZCc7XG5cbkBpbXBvcnQgJ2xheW91dC9hc2lkZSc7XG5AaW1wb3J0ICdsYXlvdXQvYmFzZSc7XG5AaW1wb3J0ICdsYXlvdXQvZm9vdGVyJztcbkBpbXBvcnQgJ2xheW91dC9oZWFkZXInO1xuQGltcG9ydCAnbGF5b3V0L21haW4nO1xuQGltcG9ydCAnbGF5b3V0L3NlY3Rpb24nO1xuXG5AaW1wb3J0ICdtb2R1bGVzL2FuY2hvcic7XG5AaW1wb3J0ICdtb2R1bGVzL2FydGljbGUnO1xuQGltcG9ydCAnbW9kdWxlcy9hdWRpbyc7XG5AaW1wb3J0ICdtb2R1bGVzL2NhbnZhcyc7XG5AaW1wb3J0ICdtb2R1bGVzL2NvZGUnO1xuQGltcG9ydCAnbW9kdWxlcy9kZXRhaWxzJztcbkBpbXBvcnQgJ21vZHVsZXMvZmlndXJlJztcbkBpbXBvcnQgJ21vZHVsZXMvZm9ybSc7XG5AaW1wb3J0ICdtb2R1bGVzL2hlYWRpbmcnO1xuQGltcG9ydCAnbW9kdWxlcy9ob3Jpem9udGFsLXJ1bGUnO1xuQGltcG9ydCAnbW9kdWxlcy9pbWFnZSc7XG5AaW1wb3J0ICdtb2R1bGVzL2xpc3QnO1xuQGltcG9ydCAnbW9kdWxlcy9uYXZpZ2F0aW9uJztcbkBpbXBvcnQgJ21vZHVsZXMvcHJvZ3Jlc3MnO1xuQGltcG9ydCAnbW9kdWxlcy9xdW90ZSc7XG5AaW1wb3J0ICdtb2R1bGVzL3RhYmxlJztcbkBpbXBvcnQgJ21vZHVsZXMvdGVtcGxhdGUnO1xuQGltcG9ydCAnbW9kdWxlcy90ZXh0JztcbkBpbXBvcnQgJ21vZHVsZXMvdmlkZW8nO1xuXG4vKiBUT0RPczpcbiAtIHNvbWUgbGluZSBoZWlnaHRzIHByb2R1Y2UgbWFyZ2lucyB3aXRoIC41IHJlc3VsdHMsIHNlZW1pbmdseSBicmVha2luZyB0aGUgZ2lyZCAoPyksXG4gLSB0YWJsZSArIHNpZGUgY29tbWVudHMgZWxlbWVudHMsXG4gLSB0cmFuc2xhdGUgdG8gTGVzcyBhbmQgU3R5bHVzLlxuICovXG4iLCIvKiBDb25maWd1cmF0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kZWRpdC1tb2RlOiB0cnVlICFkZWZhdWx0OyAvLyBbIHRydWUgLyBmYWxzZSBdIC0gRW5hYmxlcy9kaXNhYmxlcyB0aGUgZ3JpZCB0b2dnbGUgYnV0dG9uLlxuXG4vLyBUaGVtZSAvIEZvbnRzXG4kdGhlbWU6IE1lcnJpd2VhdGhlciAhZGVmYXVsdDsgLy8gWyBNZXJyaXdlYXRoZXIgLyBPcGVuU2FucyAvIGN1c3RvbSBdXG4kY3VzdG9tLWZvbnQtYm9keTogbnVsbCAhZGVmYXVsdDsgLy8gWyBcIkxpYnJlIEJhc2tlcnZpbGxlXCIsIEdlb3JnaWEsIHNlcmlmIF1cbiRjdXN0b20tZm9udC1oZWFkaW5nczogbnVsbCAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoIGluZGVudGluZ1xuJHBhcmFncmFwaC1pbmRlbnQ6IGZhbHNlOyAvLyBbIHRydWUgLyBmYWxzZSBdXG5cbi8vIEJhc2Ugc2l6ZXNcbiRiYXNlLWZvbnQtc2l6ZTogMTAwICFkZWZhdWx0OyAvLyBJbiAlLiBBbHNvIHVzZWQgZm9yIG1vYmlsZS4gTnVtYmVyIG9ubHksIG5vIHVuaXRzLlxuJGJhc2UtZm9udC1zaXplLWRlc2t0b3A6IDExMi41ICFkZWZhdWx0OyAvLyBJbiAlLiBVc2VkIHRvIGNhbGN1bGF0ZSB0aGUgZGVza3RvcCBmb250IHNpemUuIE51bWJlciBvbmx5LCBubyB1bml0cy5cbiRsaW5lLWhlaWdodDogMS42MjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtZGVza3RvcDogMS43ICFkZWZhdWx0O1xuJG1heC13aWR0aDogMzUgIWRlZmF1bHQ7IC8vIE51bWJlciBvbmx5LCBubyB1bml0cy4gR2V0cyBjb252ZXJ0ZWQgdG8gUkVNcyBhbmQgcGl4ZWxzLlxuXG4vLyBNb2R1bGFyIFNjYWxlXG4kbW9kdWxhci1zY2FsZTogKFxuICB4eHhsOiA0LjMsXG4gIHh4bDogMy41LFxuICB4bDogMyxcbiAgbDogMi41LFxuICBtOiAyLFxuICBzOiAxLjY4NzUsXG4gIHhzOiAxLjQzNzUsXG4gIHh4czogMS4yLFxuICB4eHhzOiAxLFxuICB4eHh4czogLjgxMjVcbikgIWRlZmF1bHQ7XG5cbi8vIENvbG9yc1xuJGNvbG9yLWZvbnQtYm9keTogIzIyMiAhZGVmYXVsdDtcbiRjb2xvci1mb250LWhlYWRpbmdzOiAkY29sb3ItZm9udC1ib2R5ICFkZWZhdWx0O1xuJGNvbG9yLWZvbnQtbGlnaHQ6ICM4ODggIWRlZmF1bHQ7XG4kY29sb3ItZm9udC1maWdjYXB0aW9uOiAkY29sb3ItZm9udC1ib2R5ICFkZWZhdWx0O1xuXG4vKiBDYWxjdWxhdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIE1vYmlsZSBiYXNlICYgbGVhZGluZ1xuJGJhc2U6IDE2ICogKCRiYXNlLWZvbnQtc2l6ZSAvIDEwMCk7XG4kbGVhZGluZzogcm91bmQoJGJhc2UgKiAkbGluZS1oZWlnaHQpO1xuJGxlYWRpbmctcmVtOiAkbGVhZGluZyAvICRiYXNlO1xuXG4vLyBEZXNrdG9wIGJhc2UgJiBsZWFkaW5nXG4kYmFzZS1kZXNrdG9wOiAxNiAqICgkYmFzZS1mb250LXNpemUtZGVza3RvcCAvIDEwMCk7XG4kbGVhZGluZy1kZXNrdG9wOiByb3VuZCgkYmFzZS1kZXNrdG9wICogJGxpbmUtaGVpZ2h0LWRlc2t0b3ApO1xuJGxlYWRpbmctcmVtLWRlc2t0b3A6ICRsZWFkaW5nLWRlc2t0b3AgLyAkYmFzZS1kZXNrdG9wO1xuXG4vKiBGb250IHRoZW1lc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJGZvbnQtYm9keTogbnVsbDtcbiRmb250LWhlYWRpbmdzOiBudWxsO1xuXG5AaWYgJHRoZW1lID09IE1lcnJpd2VhdGhlciB7XG5cbiAgLy8gSW1wb3J0IE1lcnJpd2VhdGhlclxuICBAaW1wb3J0IHVybChodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TWVycml3ZWF0aGVyOjQwMCw3MDAsNDAwaXRhbGljKTtcblxuICAvLyBTZXQgYm9keSBmb250XG4gICRmb250LWJvZHk6IE1lcnJpd2VhdGhlciwgR2VvcmdpYSwgc2VyaWY7XG5cbn0gQGVsc2UgaWYgJHRoZW1lID09IE9wZW5TYW5zIHtcblxuICAvLyBJbXBvcnQgT3BlbiBTYW5zXG4gIEBpbXBvcnQgdXJsKGh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6NDAwLDcwMCw0MDBpdGFsaWMpO1xuXG4gIC8vIFNldCBib2R5IGZvbnRcbiAgJGZvbnQtYm9keTogT3BlbiBTYW5zLCBBcmlhbCwgSGVsdmV0aWNhLCBTYW5zLXNlcmlmO1xuXG59IEBlbHNlIGlmICR0aGVtZSA9PSBjdXN0b20ge1xuXG4gIC8vIFNldCBjdXN0b20gYm9keSBmb250XG4gICRmb250LWJvZHk6ICRjdXN0b20tZm9udC1ib2R5O1xuXG4gIC8vIFNldCBjdXN0b20gaGVhZGluZ3MgZm9udFxuICBAaWYgJGN1c3RvbS1mb250LWhlYWRpbmdzICE9ICRjdXN0b20tZm9udC1ib2R5IHtcbiAgICAkZm9udC1oZWFkaW5nczogJGN1c3RvbS1mb250LWhlYWRpbmdzO1xuICB9XG59XG4iLCIvLyBGbG9hdCBkZWZhdWx0c1xuLmZsb2F0TGVmdCB7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3sgJG1heC13aWR0aCArIDUgKyAnZW0nfSkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbn1cblxuLmZsb2F0Q2VudGVyIHtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyAkbWF4LXdpZHRoICsgNSArICdlbSd9KSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbn1cblxuLmZsb2F0UmlnaHQge1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7ICRtYXgtd2lkdGggKyA1ICsgJ2VtJ30pIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cblxufVxuIiwiLyogR3JpZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gR3JpZCBiYWNrZ3JvdW5kXG4uZ3JpZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIGhzbGEoMjAwLCAxMDAlLCA1MCUsIC4zKSAxcHgsIHRyYW5zcGFyZW50IDFweCk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgI3skbGVhZGluZyArICdweCd9O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgI3skbGVhZGluZy1yZW0gKyAncmVtJ307XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3sgJG1heC13aWR0aCArIDUgKyAnZW0nfSkge1xuICAgICRsZWFkaW5nOiAkbGVhZGluZy1kZXNrdG9wO1xuICAgICRsZWFkaW5nLXJlbTogJGxlYWRpbmctcmVtLWRlc2t0b3A7XG5cbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgI3skbGVhZGluZyArICdweCd9O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAjeyRsZWFkaW5nLXJlbSArICdyZW0nfTtcbiAgfVxuXG59XG5cbi8vIERvdWJsZSBncmlkIGJhY2tncm91bmRcbi5ncmlkLWRvdWJsZSB7XG4gIEBleHRlbmQgLmdyaWQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIGhzbGEoMjAwLCAxMDAlLCA1MCUsIC4zKSAxcHgsIHRyYW5zcGFyZW50IDFweCwgdHJhbnNwYXJlbnQgI3sgLjUgKiAkbGVhZGluZyArICdweCd9LCBoc2xhKDIwMCwgMTAwJSwgNTAlLCAuMikgI3sgLjUgKiAkbGVhZGluZyArICdweCd9LCB0cmFuc3BhcmVudCAjeyAuNSAqICRsZWFkaW5nICsgMSArICdweCd9LCB0cmFuc3BhcmVudCAjeyRsZWFkaW5nICsgJ3B4J30pO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7ICRtYXgtd2lkdGggKyA1ICsgJ2VtJ30pIHtcbiAgICAkbGVhZGluZzogJGxlYWRpbmctZGVza3RvcDtcbiAgICAkbGVhZGluZy1yZW06ICRsZWFkaW5nLXJlbS1kZXNrdG9wO1xuXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgaHNsYSgyMDAsIDEwMCUsIDUwJSwgLjMpIDFweCwgdHJhbnNwYXJlbnQgMXB4LCB0cmFuc3BhcmVudCAjeyAuNSAqICRsZWFkaW5nICsgJ3B4J30sICBoc2xhKDIwMCwgMTAwJSwgNTAlLCAuMikgI3sgLjUgKiAkbGVhZGluZyArICdweCd9LCB0cmFuc3BhcmVudCAjeyAwLjUgKiAkbGVhZGluZyArIDEgKyAncHgnfSwgdHJhbnNwYXJlbnQgI3skbGVhZGluZyArICdweCd9KTtcbiAgfVxuXG59XG5cbi8vIEdyaWQgYnV0dG9uXG4udG9nZ2xlV3JhcHBlciB7XG4gIEBpZiAkZWRpdC1tb2RlID09IHRydWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9IEBlbHNlIGlmICRlZGl0LW1vZGUgPT0gZmFsc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6ICN7JGxlYWRpbmcgKyAncHgnfTtcbiAgcmlnaHQ6ICN7JGxlYWRpbmcgKyAncHgnfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIzMUYyMDtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgcGFkZGluZzogMCAxMHB4IDAgMjBweDtcbiAgaGVpZ2h0OiAzMnB4O1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7ICRtYXgtd2lkdGggKyA1ICsgJ2VtJ30pIHtcbiAgICByaWdodDogI3skbGVhZGluZy1kZXNrdG9wICsgJ3B4J307XG4gICAgdG9wOiAjeyRsZWFkaW5nLWRlc2t0b3AgKyAncHgnfTtcbiAgfVxuXG59XG5cbi5idG5Ub2dnbGVHcmlkIHtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9hc3NldHMvaW1hZ2VzL2dyaWQtaWNvbnMucG5nJykgdG9wIHJpZ2h0IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAzMnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gIGhlaWdodDogMzJweDtcbiAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gIGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2ZmZjtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyAkbWF4LXdpZHRoICsgNSArICdlbSd9KSB7XG4gICAgJGxlYWRpbmc6ICRsZWFkaW5nLWRlc2t0b3A7XG4gICAgJGxlYWRpbmctcmVtOiAkbGVhZGluZy1yZW0tZGVza3RvcDtcblxuICAgIHRvcDogI3skbGVhZGluZyArICdweCd9O1xuICAgIHJpZ2h0OiAjeyRsZWFkaW5nICsgJ3B4J307XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogI2YwMDtcbiAgfVxufVxuXG4uZG91YmxlLWdyaWQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IC0zMnB4O1xufVxuXG4uZ3JpZC1vZmYge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IC02NHB4O1xufVxuIiwiYXNpZGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIi8qIERlZmF1bHRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ib2R5LFxuaHRtbCB7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3sgJG1heC13aWR0aCArIDUgKyAnZW0nfSkge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxufVxuXG4vLyBGb250IGRlZmF1bHRzXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAjeyRiYXNlICsgJ3B4J307XG4gIGZvbnQtc2l6ZTogI3skYmFzZS1mb250LXNpemUgKyAnJSd9O1xuICBmb250LWZhbWlseTogJGZvbnQtYm9keTtcbiAgY29sb3I6ICRjb2xvci1mb250LWJvZHk7XG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3sgJG1heC13aWR0aCArIDUgKyAnZW0nfSkge1xuICAgIGZvbnQtc2l6ZTogI3skYmFzZS1kZXNrdG9wICsgJ3B4J307XG4gICAgZm9udC1zaXplOiAjeyRiYXNlLWZvbnQtc2l6ZS1kZXNrdG9wIC8gMTAwICsgJ3JlbSd9O1xuICB9XG5cbn1cblxuLy8gTGluZS1oZWlnaHQgJiBtYXJnaW4gcmVzZXRcbioge1xuICBAaW5jbHVkZSBsaW5lLWhlaWdodCgxKTtcbiAgQGluY2x1ZGUgbWFyZ2luKDAsIDAsIDEpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7ICRtYXgtd2lkdGggKyA1ICsgJ2VtJ30pIHtcbiAgICAkbGVhZGluZzogJGxlYWRpbmctZGVza3RvcDtcbiAgICAkbGVhZGluZy1yZW06ICRsZWFkaW5nLXJlbS1kZXNrdG9wO1xuXG4gICAgQGltcG9ydCAnLi4vbWl4aW5zL2xpbmUtaGVpZ2h0JztcbiAgICBAaW1wb3J0ICcuLi9taXhpbnMvbWFyZ2luJztcblxuICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDEpO1xuICAgIEBpbmNsdWRlIG1hcmdpbi1ib3R0b20oMSk7XG4gICAgbWF4LXdpZHRoOiAjeyRtYXgtd2lkdGggKiAkYmFzZS1kZXNrdG9wICsgJ3B4J307XG4gICAgbWF4LXdpZHRoOiAjeyRtYXgtd2lkdGggKyAncmVtJ307XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cbiIsIi8vIExpbmUtaGVpZ2h0XG5AbWl4aW4gbGluZS1oZWlnaHQoJG51bWJlcikge1xuICBsaW5lLWhlaWdodDogI3sgJG51bWJlciAqICRsZWFkaW5nICsgJ3B4J307XG4gIGxpbmUtaGVpZ2h0OiAjeyAkbnVtYmVyICogJGxlYWRpbmctcmVtICsgJ3JlbSd9O1xufVxuIiwiLy8gTWFyZ2luLXRvcFxuQG1peGluIG1hcmdpbi10b3AoJG51bWJlcikge1xuICBtYXJnaW4tdG9wOiAjeyAkbnVtYmVyICogJGxlYWRpbmcgKyAncHgnfTtcbiAgbWFyZ2luLXRvcDogI3sgJG51bWJlciAqICRsZWFkaW5nLXJlbSArICdyZW0nfTtcbn1cblxuLy8gTWFyZ2luLWJvdHRvbVxuQG1peGluIG1hcmdpbi1ib3R0b20oJG51bWJlcikge1xuICBtYXJnaW4tYm90dG9tOiAjeyAkbnVtYmVyICogJGxlYWRpbmcgKyAncHgnfTtcbiAgbWFyZ2luLWJvdHRvbTogI3sgJG51bWJlciAqICRsZWFkaW5nLXJlbSArICdyZW0nfTtcbn1cblxuLy8gTWFyZ2luXG5AbWl4aW4gbWFyZ2luKCR0b3AsICRyaWdodCwgJGJvdHRvbTpudWxsLCAkbGVmdDpudWxsKSB7XG4gIEBpZiAkbGVmdCA9PSBudWxsIGFuZCAkYm90dG9tID09IG51bGwge1xuICAgIG1hcmdpbjogI3sgJHRvcCAqICRsZWFkaW5nICsgJ3B4J30gI3sgJHJpZ2h0ICogJGxlYWRpbmcgKyAncHgnfTtcbiAgICBtYXJnaW46ICN7ICR0b3AgKiAkbGVhZGluZy1yZW0gKyAncmVtJ30gI3sgJHJpZ2h0ICogJGxlYWRpbmctcmVtICsgJ3JlbSd9O1xuICB9IEBlbHNlIGlmICRsZWZ0ID09IG51bGwgb3IgJGxlZnQgPT0gJHJpZ2h0IHtcbiAgICBtYXJnaW46ICN7ICR0b3AgKiAkbGVhZGluZyArICdweCd9ICN7ICRyaWdodCAqICRsZWFkaW5nICsgJ3B4J30gI3sgJGJvdHRvbSAqICRsZWFkaW5nICsgJ3B4J307XG4gICAgbWFyZ2luOiAjeyAkdG9wICogJGxlYWRpbmctcmVtICsgJ3JlbSd9ICN7ICRyaWdodCAqICRsZWFkaW5nLXJlbSArICdyZW0nfSAjeyAkYm90dG9tICogJGxlYWRpbmctcmVtICsgJ3JlbSd9O1xuICB9IEBlbHNlIHtcbiAgICBtYXJnaW46ICN7ICR0b3AgKiAkbGVhZGluZyArICdweCd9ICN7ICRyaWdodCAqICRsZWFkaW5nICsgJ3B4J30gI3sgJGJvdHRvbSAqICRsZWFkaW5nICsgJ3B4J30gI3sgJGxlZnQgKiAkbGVhZGluZyArICdweCd9O1xuICAgIG1hcmdpbjogI3sgJHRvcCAqICRsZWFkaW5nLXJlbSArICdyZW0nfSAjeyAkcmlnaHQgKiAkbGVhZGluZy1yZW0gKyAncmVtJ30gI3sgJGJvdHRvbSAqICRsZWFkaW5nLXJlbSArICdyZW0nfSAjeyAkbGVmdCAqICRsZWFkaW5nLXJlbSArICdyZW0nfTtcbiAgfVxufVxuIiwiZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgYm9keSA+ICYge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cblxufVxuIiwiaGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4iLCJtYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4iLCJzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4iLCIvKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJGNvbG9yLWxpbmstbm9ybWFsOiAkY29sb3ItZm9udC1ib2R5O1xuJGNvbG9yLWxpbmstaG92ZXI6ICRjb2xvci1mb250LWJvZHk7XG4kY29sb3ItbGluay1hY3RpdmU6ICNmMDA7XG4kY29sb3ItbGluay12aXNpdGVkOiAkY29sb3ItZm9udC1saWdodDtcblxuYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJGNvbG9yLWxpbmstbm9ybWFsO1xuICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xuXG4gICY6YWN0aXZlLFxuICAmOmhvdmVyIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvci1saW5rLWhvdmVyO1xuICB9XG5cbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGNvbG9yLWxpbmstdmlzaXRlZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRjb2xvci1saW5rLWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGNvbG9yLWxpbmstYWN0aXZlO1xuICB9XG59XG4iLCJhcnRpY2xlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogODAlO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7ICRtYXgtd2lkdGggKyA1ICsgJ2VtJ30pIHtcbiAgICBtYXgtd2lkdGg6ICN7MS41ICogJG1heC13aWR0aCAqICRiYXNlLWRlc2t0b3AgKyAncHgnfTtcbiAgICBtYXgtd2lkdGg6ICN7MS41ICogJG1heC13aWR0aCArICdyZW0nfTtcbiAgfVxuXG59XG4iLCJhdWRpbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICY6bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG59XG4iLCJjYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbiIsIi8vIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8vIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xufVxuXG5jb2RlIHtcbiAgQGluY2x1ZGUgcGFkZGluZy1lcXVhbCgxKTtcblxuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyAkbWF4LXdpZHRoICsgNSArICdlbSd9KSB7XG4gICAgJGxlYWRpbmc6ICRsZWFkaW5nLWRlc2t0b3A7XG4gICAgJGxlYWRpbmctcmVtOiAkbGVhZGluZy1yZW0tZGVza3RvcDtcblxuICAgIEBpbXBvcnQgJy4uL21peGlucy9wYWRkaW5nJztcblxuICAgIEBpbmNsdWRlIHBhZGRpbmctZXF1YWwoMSk7XG4gIH1cblxufVxuIiwiLy8gcGFkZGluZ1xuQG1peGluIHBhZGRpbmcoJHRvcCwgJHJpZ2h0LCAkYm90dG9tOm51bGwsICRsZWZ0Om51bGwpIHtcbiAgQGlmICRsZWZ0ID09IG51bGwgYW5kICRib3R0b20gPT0gbnVsbCB7XG4gICAgcGFkZGluZzogI3sgJHRvcCAqICRsZWFkaW5nICsgJ3B4J30gI3sgJHJpZ2h0ICogJGxlYWRpbmcgKyAncHgnfTtcbiAgICBwYWRkaW5nOiAjeyAkdG9wICogJGxlYWRpbmctcmVtICsgJ3JlbSd9ICN7ICRyaWdodCAqICRsZWFkaW5nLXJlbSArICdyZW0nfTtcbiAgfSBAZWxzZSBpZiAkbGVmdCA9PSBudWxsIG9yICRsZWZ0ID09ICRyaWdodCB7XG4gICAgcGFkZGluZzogI3sgJHRvcCAqICRsZWFkaW5nICsgJ3B4J30gI3sgJHJpZ2h0ICogJGxlYWRpbmcgKyAncHgnfSAjeyAkYm90dG9tICogJGxlYWRpbmcgKyAncHgnfTtcbiAgICBwYWRkaW5nOiAjeyAkdG9wICogJGxlYWRpbmctcmVtICsgJ3JlbSd9ICN7ICRyaWdodCAqICRsZWFkaW5nLXJlbSArICdyZW0nfSAjeyAkYm90dG9tICogJGxlYWRpbmctcmVtICsgJ3JlbSd9O1xuICB9IEBlbHNlIHtcbiAgICBwYWRkaW5nOiAjeyAkdG9wICogJGxlYWRpbmcgKyAncHgnfSAjeyAkcmlnaHQgKiAkbGVhZGluZyArICdweCd9ICN7ICRib3R0b20gKiAkbGVhZGluZyArICdweCd9ICN7ICRsZWZ0ICogJGxlYWRpbmcgKyAncHgnfTtcbiAgICBwYWRkaW5nOiAjeyAkdG9wICogJGxlYWRpbmctcmVtICsgJ3JlbSd9ICN7ICRyaWdodCAqICRsZWFkaW5nLXJlbSArICdyZW0nfSAjeyAkYm90dG9tICogJGxlYWRpbmctcmVtICsgJ3JlbSd9ICN7ICRsZWZ0ICogJGxlYWRpbmctcmVtICsgJ3JlbSd9O1xuICB9XG5cbiAgLy8gcGFkZGluZy10b3A6ICN7ICR0b3AgKiAkbGVhZGluZyArICdweCd9O1xuIC8vICAgIHBhZGRpbmctdG9wOiAjeyAkdG9wICogJGxlYWRpbmctcmVtICsgJ3JlbSd9O1xuIC8vICAgIHBhZGRpbmctcmlnaHQ6ICN7ICRyaWdodCAqICRsZWFkaW5nICsgJ3B4J307XG4gLy8gICAgcGFkZGluZy1yaWdodDogI3sgJHJpZ2h0ICogJGxlYWRpbmctcmVtICsgJ3JlbSd9O1xuICAvLyBwYWRkaW5nLWJvdHRvbTogI3sgJGJvdHRvbSAqICRsZWFkaW5nICsgJ3B4J307XG4gLy8gICAgcGFkZGluZy1ib3R0b206ICN7ICRib3R0b20gKiAkbGVhZGluZy1yZW0gKyAncmVtJ307XG4gLy8gICAgcGFkZGluZy1sZWZ0OiAjeyAkbGVmdCAqICRsZWFkaW5nICsgJ3B4J307XG4gLy8gICAgcGFkZGluZy1sZWZ0OiAjeyAkbGVmdCAqICRsZWFkaW5nLXJlbSArICdyZW0nfTtcbn1cblxuQG1peGluIHBhZGRpbmctZXF1YWwoJG51bWJlcikge1xuICBwYWRkaW5nOiAjeyAkbnVtYmVyICogJGxlYWRpbmcgKyAncHgnfTtcbiAgcGFkZGluZzogI3sgJG51bWJlciAqICRsZWFkaW5nLXJlbSArICdyZW0nfTtcbn1cbiIsImRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiZmlnY2FwdGlvbiB7XG4gIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDEpO1xuICBjb2xvcjogJGNvbG9yLWZvbnQtZmlnY2FwdGlvbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7ICRtYXgtd2lkdGggKyA1ICsgJ2VtJ30pIHtcbiAgICAkbGVhZGluZzogJGxlYWRpbmctZGVza3RvcDtcbiAgICAkbGVhZGluZy1yZW06ICRsZWFkaW5nLXJlbS1kZXNrdG9wO1xuXG4gICAgQGltcG9ydCAnLi4vbWl4aW5zL2xpbmUtaGVpZ2h0JztcblxuICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDEpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxufVxuXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuZmlndXJlLmZsb2F0TGVmdCxcbmZpZ3VyZS5mbG9hdFJpZ2h0IHtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyAkbWF4LXdpZHRoICsgNSArICdlbSd9KSB7XG4gICAgJGxlYWRpbmc6ICRsZWFkaW5nLWRlc2t0b3A7XG4gICAgJGxlYWRpbmctcmVtOiAkbGVhZGluZy1yZW0tZGVza3RvcDtcblxuICAgIEBpbXBvcnQgJy4uL21peGlucy9tYXJnaW4nO1xuICAgIEBpbXBvcnQgJy4uL21peGlucy9wYWRkaW5nJztcblxuICAgIG1heC13aWR0aDogI3suNSAqICRtYXgtd2lkdGggKiAkYmFzZS1kZXNrdG9wICsgJ3B4J307XG4gICAgbWF4LXdpZHRoOiAjey41ICogJG1heC13aWR0aCArICdyZW0nfTtcblxuICAgIEBpZiAkcGFyYWdyYXBoLWluZGVudCA9PSB0cnVlIHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmctZXF1YWwoMSk7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4tYm90dG9tKDApO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZygwLCAxKTtcbiAgICB9XG5cbiAgfVxuXG4gIGJsb2NrcXVvdGUge1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3sgJG1heC13aWR0aCArIDUgKyAnZW0nfSkge1xuICAgICAgJGxlYWRpbmc6ICRsZWFkaW5nLWRlc2t0b3A7XG4gICAgICAkbGVhZGluZy1yZW06ICRsZWFkaW5nLXJlbS1kZXNrdG9wO1xuXG4gICAgICBAaW1wb3J0ICcuLi9taXhpbnMvbWFyZ2luJztcbiAgICAgIEBpbXBvcnQgJy4uL21peGlucy9wYWRkaW5nJztcblxuICAgICAgQGluY2x1ZGUgcGFkZGluZy1lcXVhbCgwKTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgIEBpZiAkcGFyYWdyYXBoLWluZGVudCA9PSB0cnVlIHtcbiAgICAgICAgQGluY2x1ZGUgbWFyZ2luLXRvcCgxKTtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIHAge1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyAkbWF4LXdpZHRoICsgNSArICdlbSd9KSB7XG4gICAgICAgICRsZWFkaW5nOiAkbGVhZGluZy1kZXNrdG9wO1xuICAgICAgICAkbGVhZGluZy1yZW06ICRsZWFkaW5nLXJlbS1kZXNrdG9wO1xuXG4gICAgICAgIEBpbXBvcnQgJy4uL21peGlucy9mb250LXNpemUnO1xuICAgICAgICBAaW1wb3J0ICcuLi9taXhpbnMvbGluZS1oZWlnaHQnO1xuXG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjIpO1xuICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCgxKTtcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbn1cbiIsIi8vIEZvbnQtc2l6ZVxuQG1peGluIGZvbnQtc2l6ZSgkbnVtYmVyKSB7XG4gIGZvbnQtc2l6ZTogI3sgJG51bWJlciAqICRiYXNlICsgJ3B4J307XG4gIGZvbnQtc2l6ZTogI3sgJG51bWJlciArICdyZW0nfTtcbn1cbiIsIi8qIEhlYWRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBIZWFkaW5ncyBPcHRpb25zXG4vLyBbIGgxOiBzaXplIChpbiByZW0pLCBsaW5lIGhlaWdodCAoKiBsZWFkaW5nKSwgbWFyZ2luIHRvcCAoKiBsZWFkaW5nKSwgbWFyZ2luIGJvdHRvbSAoKiBsZWFkaW5nKSBdXG4kaGVhZGluZ3M6IChcbiAgaDE6ICgyLjUsIDIsIDQsIDEpLFxuICBoMjogKDEuNjg3NSwgMS41LCAyLjUsIC41KSxcbiAgaDM6ICgxLjM3NSwgMSwgMiwgLjUpLFxuICBoNDogKDEuMiwgMSwgMS41LCAuNSksXG4gIGg1OiAoMSwgMSwgMi41LCAuNSksXG4gIGg2OiAoMSwgMSwgMi41LCAuNSlcbikgIWRlZmF1bHQ7XG5cbi8vIFNldCBoZWFkaW5ncyBzaXplcywgbGluZS1oZWlnaHRzIGFuZCBtYXJnaW5zXG5AZWFjaCAkaGVhZGluZywgJHByb3BlcnRpZXMgaW4gJGhlYWRpbmdzIHtcbiAgI3skaGVhZGluZ30ge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShudGgoJHByb3BlcnRpZXMsIDEpKTtcbiAgICBAaW5jbHVkZSBsaW5lLWhlaWdodChudGgoJHByb3BlcnRpZXMsIDIpKTtcbiAgICBAaW5jbHVkZSBtYXJnaW4tdG9wKG50aCgkcHJvcGVydGllcywgMykpO1xuICAgIEBpbmNsdWRlIG1hcmdpbi1ib3R0b20obnRoKCRwcm9wZXJ0aWVzLCA0KSk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3sgJG1heC13aWR0aCArIDUgKyAnZW0nfSkge1xuICAkbGVhZGluZzogJGxlYWRpbmctZGVza3RvcDtcbiAgJGxlYWRpbmctcmVtOiAkbGVhZGluZy1yZW0tZGVza3RvcDtcblxuICBAaW1wb3J0ICcuLi9taXhpbnMvZm9udC1zaXplJztcbiAgQGltcG9ydCAnLi4vbWl4aW5zL2xpbmUtaGVpZ2h0JztcbiAgQGltcG9ydCAnLi4vbWl4aW5zL21hcmdpbic7XG5cbiAgQGVhY2ggJGhlYWRpbmcsICRwcm9wZXJ0aWVzIGluICRoZWFkaW5ncyB7XG4gICAgI3skaGVhZGluZ30ge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKG50aCgkcHJvcGVydGllcywgMSkpO1xuICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQobnRoKCRwcm9wZXJ0aWVzLCAyKSk7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4tdG9wKG50aCgkcHJvcGVydGllcywgMykpO1xuICAgICAgQGluY2x1ZGUgbWFyZ2luLWJvdHRvbShudGgoJHByb3BlcnRpZXMsIDQpKTtcbiAgICB9XG4gIH1cblxufVxuXG4vLyBTZXQgbWFyZ2lucyBiZXR3ZWVuIGhlYWRpbmdzXG5oMSArIGgyIHtcbiAgQGluY2x1ZGUgbWFyZ2luLXRvcCgxKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyAkbWF4LXdpZHRoICsgNSArICdlbSd9KSB7XG4gICAgJGxlYWRpbmc6ICRsZWFkaW5nLWRlc2t0b3A7XG4gICAgJGxlYWRpbmctcmVtOiAkbGVhZGluZy1yZW0tZGVza3RvcDtcblxuICAgIEBpbXBvcnQgJy4uL21peGlucy9tYXJnaW4nO1xuXG4gICAgQGluY2x1ZGUgbWFyZ2luLXRvcCgxKTtcbiAgfVxuXG59XG5cbmgyICsgaDMsXG5oMyArIGg0LFxuaDQgKyBoNSB7XG4gIEBpbmNsdWRlIG1hcmdpbi10b3AoLjUpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7ICRtYXgtd2lkdGggKyA1ICsgJ2VtJ30pIHtcbiAgICAkbGVhZGluZzogJGxlYWRpbmctZGVza3RvcDtcbiAgICAkbGVhZGluZy1yZW06ICRsZWFkaW5nLXJlbS1kZXNrdG9wO1xuXG4gICAgQGltcG9ydCAnLi4vbWl4aW5zL21hcmdpbic7XG5cbiAgICBAaW5jbHVkZSBtYXJnaW4tdG9wKC41KTtcbiAgfVxuXG59XG5cbmg1ICsgaDYge1xuICBAaW5jbHVkZSBtYXJnaW4tdG9wKC0uNSk7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3sgJG1heC13aWR0aCArIDUgKyAnZW0nfSkge1xuICAgICRsZWFkaW5nOiAkbGVhZGluZy1kZXNrdG9wO1xuICAgICRsZWFkaW5nLXJlbTogJGxlYWRpbmctcmVtLWRlc2t0b3A7XG5cbiAgICBAaW1wb3J0ICcuLi9taXhpbnMvbWFyZ2luJztcblxuICAgIEBpbmNsdWRlIG1hcmdpbi10b3AoLS41KTtcbiAgfVxuXG59XG5cbmg2IHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4vLyBDaGFuZ2UgaGVhZGluZ3MgZm9udCBpZiBhIGhlYWRpbmcgZm9udCBpcyBzZXRcbkBpZiAkZm9udC1oZWFkaW5ncyAhPSBudWxsIHtcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWhlYWRpbmdzO1xuICB9XG59XG5cbmhncm91cCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLy8gSG9yaXpvbnRhbCBydWxlXG4kaHItc3R5bGU6IGxpbmU7IC8vIFsgbGluZSAvIHR5cGUgXVxuJGhyLXR5cGUtY29udGVudDogJyoqKic7IC8vIFsgJyoqKicgXVxuJGhyLXR5cGUtY2hhci1zcGFjaW5nOiAuMmVtOyAvLyBbIC4yZW0gXVxuJGhyLW1hcmdpbjogMjtcbiRoci1tYXJnaW4tZGVza3RvcDogJGhyLW1hcmdpbjtcbiRoci1jb2xvcjogJGNvbG9yLWZvbnQtYm9keTtcbiRoci13aWR0aDogMTAwOyAvLyBbIDEwMCBdIOKAlCBJbiBwaXhlbHMsIG9ubHkgZm9yIGxpbmUgc3R5bGVcbiRoci1oZWlnaHQ6IDQ7IC8vIFsgMiBdIOKAlCBJbiBwaXhlbHMsIG9ubHkgZm9yIGxpbmUgc3R5bGVcblxuaHIge1xuICBAaW5jbHVkZSBtYXJnaW4tdG9wKCRoci1tYXJnaW4pO1xuICBAaW5jbHVkZSBtYXJnaW4tYm90dG9tKCRoci1tYXJnaW4pO1xuXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiAkaHItY29sb3I7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6ICN7JGxlYWRpbmcgKyAncHgnfTtcbiAgaGVpZ2h0OiAjeyRsZWFkaW5nLXJlbSArICdyZW0nfTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyAkbWF4LXdpZHRoICsgNSArICdlbSd9KSB7XG4gICAgJGxlYWRpbmc6ICRsZWFkaW5nLWRlc2t0b3A7XG4gICAgJGxlYWRpbmctcmVtOiAkbGVhZGluZy1yZW0tZGVza3RvcDtcblxuICAgIEBpbXBvcnQgJy4uL21peGlucy9tYXJnaW4nO1xuXG4gICAgQGluY2x1ZGUgbWFyZ2luLXRvcCgkaHItbWFyZ2luKTtcbiAgICBAaW5jbHVkZSBtYXJnaW4tYm90dG9tKCRoci1tYXJnaW4pO1xuICAgIGhlaWdodDogI3skbGVhZGluZyArICdweCd9O1xuICAgIGhlaWdodDogI3skbGVhZGluZy1yZW0gKyAncmVtJ307XG4gIH1cblxuICBAaWYgJGhyLXN0eWxlID09ICdsaW5lJyB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlICN7JGxlYWRpbmcgKyAncHgnfTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgI3skbGVhZGluZy1yZW0gKyAncmVtJ307XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgMXB4LCB0cmFuc3BhcmVudCAjeyAwLjUgKiAkbGVhZGluZyAtICgwLjUgKiAkaHItaGVpZ2h0KSArICdweCd9LCAgJGhyLWNvbG9yICN7IDAuNSAqICRsZWFkaW5nIC0gKDAuNSAqICRoci1oZWlnaHQpICsgJ3B4J30sICRoci1jb2xvciAjeyAoMC41ICogJGxlYWRpbmcgIC0gKDAuNSAqICRoci1oZWlnaHQpKSArICRoci1oZWlnaHQgKyAncHgnfSwgdHJhbnNwYXJlbnQgI3sgKDAuNSAqICRsZWFkaW5nICAtICgwLjUgKiAkaHItaGVpZ2h0KSkgKyAkaHItaGVpZ2h0ICsgJ3B4J30sIHRyYW5zcGFyZW50ICN7JGxlYWRpbmcgKyAncHgnfSk7XG5cbiAgICBAaWYgJGhyLXdpZHRoID09IG51bGwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfSBAZWxzZSB7XG4gICAgICB3aWR0aDogI3skaHItd2lkdGggKyAncHgnfTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyAkbWF4LXdpZHRoICsgNSArICdlbSd9KSB7XG4gICAgJGxlYWRpbmc6ICRsZWFkaW5nLWRlc2t0b3A7XG4gICAgJGxlYWRpbmctcmVtOiAkbGVhZGluZy1yZW0tZGVza3RvcDtcbiAgICAkaHItbWFyZ2luOiAkaHItbWFyZ2luLWRlc2t0b3A7XG5cbiAgICBAaWYgJGhyLXN0eWxlID09ICdsaW5lJyB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgI3skbGVhZGluZyArICdweCd9O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlICN7JGxlYWRpbmctcmVtICsgJ3JlbSd9O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgMXB4LCB0cmFuc3BhcmVudCAjeyAuNSAqICRsZWFkaW5nIC0gKC41ICogJGhyLWhlaWdodCkgKyAncHgnfSwgJGhyLWNvbG9yICN7IC41ICogJGxlYWRpbmcgLSAoLjUgKiAkaHItaGVpZ2h0KSArICdweCd9LCAkaHItY29sb3IgI3sgKC41ICogJGxlYWRpbmcgLSAoLjUgKiAkaHItaGVpZ2h0KSkgKyAkaHItaGVpZ2h0ICsgJ3B4J30sIHRyYW5zcGFyZW50ICN7ICguNSAqICRsZWFkaW5nIC0gKC41ICogJGhyLWhlaWdodCkpICsgJGhyLWhlaWdodCArICdweCd9LCB0cmFuc3BhcmVudCAjeyRsZWFkaW5nICsgJ3B4J30pO1xuICAgIH1cblxuICB9XG5cbiAgQGlmICRoci1zdHlsZSA9PSAndHlwZScge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRoci10eXBlLWNvbnRlbnQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogJGhyLXR5cGUtY2hhci1zcGFjaW5nO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG5pbWcge1xuICBib3JkZXI6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogaW5oZXJpdCBhdXRvO1xufVxuXG4vLyBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiIsIi8vIExpc3RzXG51bCxcbm9sIHtcblxuICBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG59XG4iLCJuYXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsInByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4iLCJibG9ja3F1b3RlIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBwYWRkaW5nLWxlZnQ6IDEuNDM3NXJlbTtcbiAgLy8gZm9udC1zaXplOiA5NSU7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3sgJG1heC13aWR0aCArIDUgKyAnZW0nfSkge1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgfVxuXG59XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vLyBRdW90ZXNcbmZpZ3VyZSBibG9ja3F1b3RlIHtcbiAgQGluY2x1ZGUgcGFkZGluZygxLCAwKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyAkbWF4LXdpZHRoICsgNSArICdlbSd9KSB7XG4gICAgJGxlYWRpbmc6ICRsZWFkaW5nLWRlc2t0b3A7XG4gICAgJGxlYWRpbmctcmVtOiAkbGVhZGluZy1yZW0tZGVza3RvcDtcblxuICAgIEBpbXBvcnQgJy4uL21peGlucy9wYWRkaW5nJztcblxuICAgIEBpbmNsdWRlIHBhZGRpbmcoMiwgMCwgMSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgcCB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDEuNjg3NSk7XG4gICAgQGluY2x1ZGUgbGluZS1oZWlnaHQoMS41KTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7ICRtYXgtd2lkdGggKyA1ICsgJ2VtJ30pIHtcbiAgICAgICRsZWFkaW5nOiAkbGVhZGluZy1kZXNrdG9wO1xuICAgICAgJGxlYWRpbmctcmVtOiAkbGVhZGluZy1yZW0tZGVza3RvcDtcblxuICAgICAgQGltcG9ydCAnLi4vbWl4aW5zL2ZvbnQtc2l6ZSc7XG4gICAgICBAaW1wb3J0ICcuLi9taXhpbnMvbGluZS1oZWlnaHQnO1xuXG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMS42ODc1KTtcbiAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KDEuNSk7XG4gICAgfVxuXG4gIH1cblxufVxuIiwiLy8gUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG4iLCJbaGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8vIENsZWFyIG1hcmdpbiBmb3IgbGluZSBicmVha3NcbmJyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8vIEVuYWJsZSBzbWFsbCBjYXBzIGlmIGF2YWlsYWJsZSAmIGZpeCBsZXR0ZXIgc3BhY2luZ1xuYWJiciB7XG4gIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbn1cblxuLy8gQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vLyBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLy8gUHJldmVudCBgZW1gIGFuZCBgaWAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuZW0sXG5pIHtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG5zbWFsbCB7XG4gIEBpbmNsdWRlIGxpbmUtaGVpZ2h0KC41KTtcblxuICBmb250LXNpemU6IDcwJTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyAkbWF4LXdpZHRoICsgNSArICdlbSd9KSB7XG4gICAgJGxlYWRpbmc6ICRsZWFkaW5nLWRlc2t0b3A7XG4gICAgJGxlYWRpbmctcmVtOiAkbGVhZGluZy1yZW0tZGVza3RvcDtcblxuICAgIEBpbXBvcnQgJy4uL21peGlucy9saW5lLWhlaWdodCc7XG5cbiAgICBAaW5jbHVkZSBsaW5lLWhlaWdodCguNSk7XG4gIH1cblxufVxuXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBQYXJhZ3JhcGhcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpZiAkcGFyYWdyYXBoLWluZGVudCA9PSB0cnVlIHtcblxuICBwICsgcCB7XG4gICAgQGluY2x1ZGUgbWFyZ2luLXRvcCgtMSk7XG4gICAgdGV4dC1pbmRlbnQ6ICN7ICRsZWFkaW5nICsgJ3B4J307XG4gICAgdGV4dC1pbmRlbnQ6ICN7ICRsZWFkaW5nLXJlbSArICdyZW0nfTtcblxuICB9XG5cbiAgLmZsb2F0TGVmdCArIHAsXG4gIC5mbG9hdFJpZ2h0ICsgcCB7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyAkbWF4LXdpZHRoICsgNSArICdlbSd9KSB7XG4gICAgICAkbGVhZGluZzogJGxlYWRpbmctZGVza3RvcDtcbiAgICAgICRsZWFkaW5nLXJlbTogJGxlYWRpbmctcmVtLWRlc2t0b3A7XG5cbiAgICAgIHRleHQtaW5kZW50OiAjeyAkbGVhZGluZyArICdweCd9O1xuICAgICAgdGV4dC1pbmRlbnQ6ICN7ICRsZWFkaW5nLXJlbSArICdyZW0nfTtcbiAgICB9XG5cbiAgfVxuXG4gIC5hdHRlbnRpb24tZ3JhYmJlciArIHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdGV4dC1pbmRlbnQ6IDA7XG4gIH1cbn1cblxuLy8gQXR0ZW50aW9uIGdyYWJiZXJcbi5hdHRlbnRpb24tZ3JhYmJlciB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjIpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyAkbWF4LXdpZHRoICsgNSArICdlbSd9KSB7XG4gICRsZWFkaW5nOiAkbGVhZGluZy1kZXNrdG9wO1xuICAkbGVhZGluZy1yZW06ICRsZWFkaW5nLXJlbS1kZXNrdG9wO1xuXG4gIEBpbXBvcnQgJy4uL21peGlucy9tYXJnaW4nO1xuXG4gIEBpZiAkcGFyYWdyYXBoLWluZGVudCA9PSB0cnVlIHtcblxuICAgIHAgKyBwLFxuICAgIC5mbG9hdExlZnQgKyBwLFxuICAgIC5mbG9hdFJpZ2h0ICsgcCB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4tdG9wKC0xKTtcbiAgICB9XG5cbiAgfVxuXG59XG5cbi8vIFRleHQgQWxpZ25tZW50XG4uYWxpZ25MZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmFsaWduQ2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYWxpZ25SaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4vLyBGaXggbGV0dGVyIHNwYWNpbmcgZm9yIHVwcGVyY2FzZVxuLnVwcGVyY2FzZSB7XG4gIGxldHRlci1zcGFjaW5nOiAuMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuIiwidmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbiJdfQ== */
