/*
Theme Name: Cake _s...
Theme URI: http://underscores.me
Author: pixelliquid
Author URI: http://pixelliquid.com/
Description: Hi. I'm a theme called <code>Cake</code>. I'm not a <em>Parent Theme</em>. My sourcecode is from the starter theme <code>_s</code> and uses <code>sassy_s</code> to make it Sass-friendly. Baked to perfection for Patisserie Juliette. So now you know. Piece of Cake, indeed.
Version: 2.01
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cake
Domain Path: /languages/

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

Cake is based on Underscores http://underscores.me/, (C) 2012-2013 Automattic, Inc.

Resetting and rebuilding styles have been helped along thanks to the fine work of
Eric Meyer http://meyerweb.com/eric/tools/css/reset/index.html
along with Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
and Blueprint http://www.blueprintcss.org/
*/
@font-face {
  font-family: 'jehrg';
  src: url("fonts/jellyka_estrya_handwriting.eot");
  src: url("fonts/jellyka_estrya_handwriting.eot") format("embedded-opentype"), url("fonts/jellyka_estrya_handwriting.woff") format("woff"), url("fonts/jellyka_estrya_handwriting.ttf") format("truetype"), url("fonts/jellyka_estrya_handwriting.svg") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'cake';
  src: url("https://pixelliquid.com/curated/patisseriejuliette-static/wp-content/themes/cake/fonts/cake.eot"); }

@font-face {
  font-family: 'cake';
  src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggiBuAAAAC8AAAAYGNtYXAAKgCrAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5ZmFmOY4AAAFwAAACYGhlYWT/wzwCAAAD0AAAADZoaGVhA48B5gAABAgAAAAkaG10eAMAAFIAAAQsAAAAFGxvY2EAKAFEAAAEQAAAAAxtYXhwAAcAywAABEwAAAAgbmFtZXB2kqUAAARsAAABHnBvc3QAAwAAAAAFjAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAABAAAAAKgHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIAAq//3//wAAAAAAIAAq//3//wAB/+P/2gADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQBSADQBrQGPAMgAACUUDgIVBh4CBw4DBwYeAgcOASIGBwYcAQYHBi4CBw4DBwYuAgciDgIjIi4CIyIOAicuAycmDgInJjwBJicuASImJyY+AicuAycmPgInLgM1ND4CNzQuAjc+Azc2LgI3PgE6ATc+ATwBNzYeAjc+Azc2HgI3Mj4CMzIeAjMWPgIXHgMXFj4CFx4BHAEXFjoBFhcWDgIXHgMXFg4CFxQeAhUBrQcIBwEFBgQBAQgJCQECAwMCAgIJCgkCAwEDAgkJCQMDAwMEAwMICAgDAwYGBgMDBgYGAwMICAcEAwMDBAIDCQoIAwMBAgIKCggCAgIDAgECCAoIAQEFBgUBAQcIBgYIBwEFBQUBAQgKCAIBAgMCAgIICgoCAgEDAwgKCQMCBAMDAwMICAgDAwYGBgMDBgYGAwMICAgDAwQDAwMDCQkJAgMBAwIJCgkCAgIDAwIBCQkIAQEEBgUBBwgH4QMGBgYDAwgIBwMEAwMDAwMJCggDAgEBAgIKCggCAgIDAgECCAoIAQEFBgUBCAgGBggIBAYFAQEICggCAQIDAgICCAoKAgIBAQIDCAoJAwMDAwMEAggICAMDBgYGAwQGBQYDBAcICAMDBAMDAwMJCQkCAwEDAgkKCQICAgMDAgEJCQgBAQQGBQEHCAcHCAcBBQYEAQEICQkBAgMDAgICCQoJAgMBAwIJCQkDAwMDBAMDCAgHBAMGBQYEAAABAAAAAQAAfNvpWV8PPPUACwIAAAAAAM97/bsAAAAAz3v9uwAAAAABrQGPAAAACAACAAAAAAAAAAEAAAHg/+AAAAIAAAAAAAGtAAEAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAQAAAAIAAFIAAAAAAAoAFAAeATAAAQAAAAUAyQABAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAgAAAABAAAAAAACAA4AMgABAAAAAAADAAgAHgABAAAAAAAEAAgAQAABAAAAAAAFABYACAABAAAAAAAGAAQAJgABAAAAAAAKACgASAADAAEECQABAAgAAAADAAEECQACAA4AMgADAAEECQADAAgAHgADAAEECQAEAAgAQAADAAEECQAFABYACAADAAEECQAGAAgAKgADAAEECQAKACgASABjAGEAawBlAFYAZQByAHMAaQBvAG4AIAAxAC4AMABjAGEAawBlY2FrZQBjAGEAawBlAFIAZQBnAHUAbABhAHIAYwBhAGsAZQBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format("truetype"), url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAATwAAoAAAAABKgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAY8AAAGPvs+wqE9TLzIAAAKEAAAAYAAAAGAIIgbgY21hcAAAAuQAAABMAAAATAAqAKtnYXNwAAADMAAAAAgAAAAIAAAAEGhlYWQAAAM4AAAANgAAADb/wzwCaGhlYQAAA3AAAAAkAAAAJAOPAeZobXR4AAADlAAAABQAAAAUAwAAUm1heHAAAAOoAAAABgAAAAYABVAAbmFtZQAAA7AAAAEeAAABHnB2kqVwb3N0AAAE0AAAACAAAAAgAAMAAAEABAQAAQEBBWNha2UAAQIAAQA6+BwC+BsD+BgEHgoAGVP/i4seCgAZU/+LiwwHi2v4lPh0BR0AAABrDx0AAABwER0AAAAJHQAAAYYSAAYBAQUJCw0QE2Nha2VjYWtldTB1MXUyMHUyQQAAAgGJAAMABQIAAQAEAAcACgANAQj8lA78lA78lA77lA74Qfd1FYuDdoSKgomDnX6Ig4mCdYuHhIeDmHmGhIaEdpKFhYSFknaEhoSGepiDh4OHi3WDiAiDiX6dgomDioR2gouDi4SggoyDjH56go2DjouhhI+Dj3l+hJCEkJKghZGFkXaEhpIIhpKYnYeTh5J1i4iUiZKcmYqTipR2kouTi5SgkoyTjJR6mI2TjpOhi4+Tj5N+nZCRCJCSoIWRkZGRhKCSkJKQnX6Tj5KPi6GTjZOOmXmTjZSMkqCTi5SLknaTipSJmJ2TiAiTiYt1k4eTh5yYkoaShoV2kYWRhKCSkISQhX55j4OPg6GLjYOOg3l+jYKMg6CEi4IIDviUFPiUFYsMCgAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAABAAAAAKgHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIAAq//3//wAAAAAAIAAq//3//wAB/+P/2gADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAAAOfqLpfDzz1AAsCAAAAAADPe/27AAAAAM97/bsAAAAAAa0BjwAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAABrQABAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAEAAAACAABSAABQAAAFAAAAAAAOAK4AAQAAAAAAAQAIAAAAAQAAAAAAAgAOADIAAQAAAAAAAwAIAB4AAQAAAAAABAAIAEAAAQAAAAAABQAWAAgAAQAAAAAABgAEACYAAQAAAAAACgAoAEgAAwABBAkAAQAIAAAAAwABBAkAAgAOADIAAwABBAkAAwAIAB4AAwABBAkABAAIAEAAAwABBAkABQAWAAgAAwABBAkABgAIACoAAwABBAkACgAoAEgAYwBhAGsAZQBWAGUAcgBzAGkAbwBuACAAMQAuADAAYwBhAGsAZWNha2UAYwBhAGsAZQBSAGUAZwB1AGwAYQByAGMAYQBrAGUARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format("woff");
  font-weight: normal;
  font-style: normal; }

[class^="cake-icon-"], [class*=" cake-icon-"] {
  font-family: 'cake';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.cake-icon-spot:before {
  content: "\2a"; }

/* =Reset
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  border: 0;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline; }

html {
  font-size: 62.5%;
  /* Corrects text resizing oddly in IE6/7 when body font-size is set using em units http://clagnut.com/blog/348/#c790 */
  overflow-y: scroll;
  /* Keeps page centred in all browsers regardless of content height */
  -webkit-text-size-adjust: 100%;
  /* Prevents iOS text size adjust after orientation change, without disabling user zoom */
  -ms-text-size-adjust: 100%;
  /* www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/ */ }

*,
*:before,
*:after {
  /* apply a natural box layout model to all elements; see http://www.paulirish.com/2012/box-sizing-border-box-ftw/ */
  box-sizing: border-box; }

body {
  background: #b4aaa2; }

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

ol, ul {
  list-style: none; }

table {
  /* tables still need 'cellspacing="0"' in the markup */
  border-collapse: separate;
  border-spacing: 0; }

caption, th, td {
  font-weight: normal;
  text-align: left; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: ""; }

blockquote, q {
  quotes: "" ""; }

a:focus {
  outline: thin dotted; }

a:hover,
a:active {
  outline: 0; }

a img {
  border: 0; }

.clear:before,
.entry-content:before,
.comment-content:before,
.site-header:before,
.site-content:before,
.site-footer:before, .clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  content: "";
  display: table; }

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both; }

/* =Placeholders
----------------------------------------------- */
.general.notification:before, .callout.notification:before, .general.notification:after, .callout.notification:after {
  border: none; }

/* =Global
----------------------------------------------- */
/* Alignment */
.alignleft {
  display: inline;
  float: left;
  margin-right: 2.5rem; }

.alignright {
  display: inline;
  float: right;
  margin-left: 2.5rem; }

.aligncenter {
  clear: both;
  display: block;
  margin: 0 auto; }

/* Text meant only for screen readers */
.screen-reader-text {
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important; }

.screen-reader-text:hover,
.screen-reader-text:active,
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar */ }

/* Clearing */
/* Visibility Classes */
@media screen and (min-width: 600px) {
  .mobile-only {
    display: none; }
  .desktop-only {
    display: block; } }

@media screen and (max-width: 600px) {
  .mobile-only {
    display: block; }
  .desktop-only {
    display: none; } }

/* =Typography
----------------------------------------------- */
body,
button,
input,
select,
textarea {
  color: #202020;
  font-family: Georgia, serif;
  font-size: 1.7rem;
  line-height: 2.5rem; }

.site-content {
  color: rgba(255, 255, 255, 0.85); }

.widget-area {
  font-size: 90%; }

h1:not([class='menu-toggle']),
h2, h3, h4, h5, h6 {
  font-family: Georgia, serif;
  font-size: 2.5rem;
  clear: both; }
  @media screen and (max-width: 600px) {
    h1:not([class='menu-toggle']),
    h2, h3, h4, h5, h6 {
      font-size: 2.125rem; } }

.content-area h1, .content-area h2, .content-area h3, .content-area h4, .content-area h5, .content-area h6 {
  margin-bottom: 2.5rem; }

h1.branded, h2.branded, h3.branded, h4.branded, h5.branded, h6.branded {
  font-family: "jehrg";
  font-size: 12rem;
  line-height: 7.5rem; }
  @media screen and (max-width: 600px) {
    h1.branded, h2.branded, h3.branded, h4.branded, h5.branded, h6.branded {
      font-size: 10.2rem; } }

.content-area h1 {
  font-family: "jehrg";
  font-size: 12rem;
  line-height: 7.5rem;
  color: white; }
  @media screen and (max-width: 600px) {
    .content-area h1 {
      font-size: 10.2rem; } }

.page .content-area h1.entry-title,
.blog .content-area h1.entry-title {
  font-size: 24rem; }
  @media screen and (max-width: 600px) {
    .page .content-area h1.entry-title,
    .blog .content-area h1.entry-title {
      font-size: 12rem; } }

.blog .content-area h1.entry-title {
  font-size: 20.4rem; }
  @media screen and (max-width: 600px) {
    .blog .content-area h1.entry-title {
      font-size: 12rem; } }

.archive .content-area h1.page-title {
  font-size: 20.4rem; }
  @media screen and (max-width: 600px) {
    .archive .content-area h1.page-title {
      font-size: 12rem; } }

.page-child .site-content .assortment h1.entry-title {
  font-size: 18rem; }
  @media screen and (max-width: 600px) {
    .page-child .site-content .assortment h1.entry-title {
      font-size: 30vw; } }

@media screen and (max-width: 770px) {
  .page .site-content .assortment h1.entry-title {
    font-size: 15rem; } }

@media screen and (max-width: 600px) {
  .page .site-content .assortment h1.entry-title {
    width: 100%; } }

.page .site-content .assortment .overig-assortiment h1.entry-title {
  font-size: 15rem; }
  @media screen and (max-width: 600px) {
    .page .site-content .assortment .overig-assortiment h1.entry-title {
      width: 100%; } }

hr {
  background-color: #202020;
  border: 0;
  height: 1px;
  margin-bottom: 2.5rem; }

p {
  margin-bottom: 2.5rem; }

ul, ol {
  margin: 0; }

ul {
  list-style: none; }

ol {
  list-style: decimal; }

.content-area ul {
  margin-bottom: 2.5rem; }

.content-area article ul {
  list-style: disc;
  padding-left: 2.5rem; }

.content-area article li {
  margin-bottom: 1.25rem; }
  .content-area article li h3 {
    margin-top: 2.5rem; }

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 2.5rem; }

dt {
  font-weight: bold;
  color: #7b9ee4; }

dd {
  margin: 0 2.5rem 2.5rem; }

b, strong {
  font-weight: bold;
  font-style: italic;
  color: #b4aaa2; }

dfn, cite, em, i {
  font-style: italic; }

blockquote {
  margin: 0 2.5rem; }

address {
  margin: 0 0 2.5rem; }

pre {
  background: #202020;
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: 1.7rem;
  margin-bottom: 2.5rem;
  padding: 2.5rem;
  overflow: auto;
  max-width: 100%; }

code, kbd, tt, var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; }

abbr, acronym {
  border-bottom: 1px dotted #666;
  cursor: help; }

mark, ins {
  color: #b4aaa2;
  text-decoration: none; }

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

sup {
  bottom: 1ex; }

sub {
  top: .5ex; }

small {
  font-size: 90%; }

big {
  font-size: 110%; }

figure {
  margin: 0; }

table {
  margin: 0 0 2.5rem;
  width: 100%; }

th {
  font-weight: bold;
  color: #b4aaa2; }

.required {
  color: #ed7102; }

*[class*='entry-meta'],
*[class*='metadata'] {
  font-size: 90%; }

a {
  color: #2657ba;
  font-style: italic;
  text-decoration: none; }
  a:hover, a:active, a:focus {
    color: #2657ba; }
  .site-content a {
    color: #b4aaa2; }
    .site-content a:hover, .site-content a:active, .site-content a:focus {
      color: white; }
    .site-content a:hover, .site-content a:active, .site-content a:focus {
      background-color: #2657ba; }
  a:hover {
    text-decoration: underline; }
  a .entry-title a {
    font-style: normal; }

a[class*='edit-link'] {
  text-decoration: none; }
  a[class*='edit-link']:hover {
    text-decoration: none; }

/* =Forms
----------------------------------------------- */
button,
input,
select,
textarea {
  font-size: 100%;
  /* Corrects font size not being inherited in all browsers */
  margin: 0;
  /* Addresses margins set differently in IE6/7, F3/4, S5, Chrome */
  vertical-align: baseline;
  /* Improves appearance and consistency in all browsers */
  *vertical-align: middle;
  /* Improves appearance and consistency in all browsers */
  background-color: rgba(180, 170, 162, 0.25); }

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  border: 1px solid #b4aaa2;
  border-color: #b4aaa2 #b4aaa2 #85776b #b4aaa2;
  border-radius: 3px;
  background: #b4aaa2;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), inset 0 15px 17px rgba(255, 255, 255, 0.5), inset 0 -5px 12px rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.8);
  cursor: pointer;
  /* Improves usability and consistency of cursor style between image-type 'input' and others */
  -webkit-appearance: button;
  /* Corrects inability to style clickable 'input' types in iOS */
  line-height: 1;
  padding: .5em 1em;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); }

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  border-color: #b4aaa2 #b4aaa2 #85776b #b4aaa2;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), inset 0 15px 17px rgba(255, 255, 255, 0.8), inset 0 -5px 12px rgba(0, 0, 0, 0.02); }

button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
  border-color: #b4aaa2 #b4aaa2 #85776b #b4aaa2;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.5), inset 0 2px 5px rgba(0, 0, 0, 0.15); }

input[type="checkbox"],
input[type="radio"] {
  padding: 0;
  /* Addresses excess padding in IE8/9 */ }

input[type="search"] {
  -webkit-appearance: textfield;
  /* Addresses appearance set to searchfield in S5, Chrome */
  /* Addresses box sizing set to border-box in S5, Chrome (include -moz to future-proof) */
  box-sizing: content-box; }

input[type="search"]::-webkit-search-decoration {
  /* Corrects inner padding displayed oddly in S5, Chrome on OSX */
  -webkit-appearance: none; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  /* Corrects inner padding and border displayed oddly in FF3/4 www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/ */
  border: 0;
  padding: 0; }

input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="password"],
input[type="search"],
textarea {
  padding: .25em .5em;
  color: #e2deda;
  border: 1px solid rgba(180, 170, 162, 0.5);
  border-radius: 3px;
  box-shadow: inset 0 5px 10px rgba(0, 0, 0, 0.45);
  -webkit-appearance: none; }
  input[type="text"]:focus,
  input[type="email"]:focus,
  input[type="url"]:focus,
  input[type="tel"]:focus,
  input[type="password"]:focus,
  input[type="search"]:focus,
  textarea:focus {
    color: white; }

textarea {
  overflow: auto;
  /* Removes default vertical scrollbar in IE6/7/8/9 */
  vertical-align: top;
  /* Improves readability and alignment in all browsers */
  width: 100%;
  padding: .5em; }

@media screen and (max-width: 600px) {
  input[type="submit"]:not([class*="arrow"]),
  input[type="text"],
  input[type="email"],
  input[type="url"],
  input[type="tel"],
  input[type="password"],
  input[type="search"],
  textarea {
    width: 100% !important; } }

::-webkit-input-placeholder {
  color: #b4aaa2; }

input[type="submit"].arrow,
.search-form input[type="submit"] {
  position: absolute;
  float: left;
  margin-left: -.5em;
  height: 5rem;
  width: 5rem;
  border-radius: 2.5rem;
  padding: 0 0.2em;
  font-family: Georgia, sans-serif;
  font-size: 3.75rem; }

.search-form .wrapper {
  position: relative; }

.search-form input[type="search"] {
  margin: 0.625rem 0;
  color: #dee6f5;
  color: #b4aaa2;
  color: #bbcdf1; }

.assortment .search-form {
  text-align: right;
  margin-right: 2.5rem; }

.no-results .search-form input {
  width: 100%; }

.mailchimp-signup h2 {
  text-align: center; }

.mc4wp-form {
  margin: 1.25rem 0;
  width: auto; }
  @media screen and (min-width: 600px) {
    .home .mc4wp-form {
      width: 50%;
      margin: 0 auto; } }
  .home .mc4wp-form h2 {
    display: none; }
  .mc4wp-form form {
    width: auto; }
  .mc4wp-form label {
    display: block;
    margin-bottom: 0.625rem; }
  .mc4wp-form input[type="date"],
  .mc4wp-form input[type="email"],
  .mc4wp-form input[type="tel"],
  .mc4wp-form input[type="text"],
  .mc4wp-form input[type="url"],
  .mc4wp-form select,
  .mc4wp-form textarea {
    display: block;
    width: 100%;
    vertical-align: baseline;
    margin-bottom: 1.25rem; }
  @media screen and (max-width: 600px) {
    .mc4wp-form input[type="submit"] {
      width: 100% !important; } }

.mc4wp-alert {
  position: relative;
  display: block;
  margin: 2.5rem 0;
  padding: 1.25rem;
  color: #3a87ad;
  background-color: #cee1eb;
  border: 1px solid #3a87ad;
  border-radius: 3px; }

.mc4wp-success {
  color: #688d1c;
  background-color: #d9e3c6;
  border-color: #688d1c; }

.mc4wp-error {
  color: #ae2d22;
  background-color: #ebcbc8;
  border-color: #ae2d22; }

.stb {
  max-width: 540px;
  padding: 2.5rem;
  border: 0.85rem solid rgba(38, 87, 186, 0.15) !important;
  background: url("img/schoolbord.jpg") repeat-y center -1203px !important;
  background: #b4aaa2 url("img/behang.png") repeat-y center center !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.85) !important; }
  @media screen and (max-width: 600px) {
    .stb {
      max-width: 90% !important; } }
  .stb h2 {
    margin-bottom: 1.25rem !important;
    padding: 0.625rem !important;
    border-radius: 3px;
    background-color: #2657ba; }
  .stb img {
    position: absolute;
    width: 30%;
    right: 0;
    margin-top: 120px;
    -webkit-transform: rotate(8deg);
    transform: rotate(8deg); }
    @media screen and (max-width: 600px) {
      .stb img {
        display: none !important; } }
  .stb p {
    margin-bottom: 1.25rem;
    color: #202020 !important; }
    @media screen and (max-width: 600px) {
      .stb p {
        font-size: 90% !important; } }
  .stb ::-webkit-input-placeholder {
    color: #4b3b2c; }
  .stb .mc4wp-form {
    width: 100% !important; }
    @media screen and (max-width: 600px) {
      .stb .mc4wp-form {
        width: 100% !important; } }
    @media screen and (min-width: 600px) {
      .home .stb .mc4wp-form {
        width: 100% !important; } }

.stb-close:hover {
  color: white !important; }

.stb-top-center-container {
  top: 80px !important; }

.wdpu-container {
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important; }
  .wdpu-container .wdpu-msg {
    max-width: 540px !important;
    margin: 1.25rem auto !important;
    font-size: inherit !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.85) !important; }
    @media screen and (max-width: 600px) {
      .wdpu-container .wdpu-msg {
        max-width: 90% !important; } }
    .wdpu-container .wdpu-msg p {
      font-size: inherit !important; }
      @media screen and (max-width: 600px) {
        .wdpu-container .wdpu-msg p {
          font-size: 90% !important; } }
  .wdpu-container, .wdpu-container .wdpu-msg-inner, .wdpu-container .wdpu-image {
    overflow: visible !important; }
  .wdpu-container a.wdpu-close {
    font-style: normal;
    color: #202020 !important;
    background: none !important; }
  .wdpu-container .wdpu-msg-inner {
    padding: 2.5rem !important;
    border: 0.85rem solid rgba(38, 87, 186, 0.15) !important;
    background: url("img/schoolbord.jpg") repeat-y center -1203px !important;
    background: #b4aaa2 url("img/behang.png") repeat-y center center !important; }
    @media screen and (max-width: 600px) {
      .wdpu-container .wdpu-msg-inner {
        padding: 2.5rem 1.25rem !important; } }
  .wdpu-container .wdpu-head, .wdpu-container .wdpu-middle {
    border-bottom: none !important; }
  .wdpu-container .wdpu-head {
    padding: 0.625rem !important; }
  .wdpu-container .wdpu-title {
    width: 100%;
    margin: 0 !important;
    padding: 0.625rem !important;
    line-height: inherit !important;
    font-family: Georgia, serif;
    font-size: 2.5rem !important;
    font-weight: normal !important;
    color: white !important;
    border-radius: 3px;
    background-color: #2657ba; }
  .wdpu-container .wdpu-text {
    margin: 0 !important; }
  .wdpu-container.buttons .wdpu-inner {
    margin-bottom: 5rem !important; }
  .wdpu-container .wdpu-content {
    padding: 0.625rem !important; }
  .wdpu-container ::-webkit-input-placeholder {
    color: #4b3b2c; }
  .wdpu-container .wdpu-msg input[type="text"],
  .wdpu-container .wdpu-msg input[type="email"] {
    color: #202020; }
  .wdpu-container .wdpu-image {
    position: absolute !important;
    width: 40% !important; }
  .wdpu-container.buttons .wdpu-image {
    margin-bottom: 0 !important; }
  .wdpu-container .wdpu-image img {
    max-width: 90%;
    height: auto !important;
    margin-left: 40px !important;
    margin-top: 70px !important;
    -webkit-transform: rotate(8deg);
    transform: rotate(8deg); }
  @media screen and (max-width: 600px) {
    .wdpu-container .wdpu-image, .wdpu-container .wdpu-image img {
      display: none !important; } }
  .wdpu-container .wdpu-buttons {
    height: 5rem !important;
    line-height: 5rem !important;
    padding: 0 2.5rem !important;
    background-color: transparent !important;
    border-top: none !important;
    box-shadow: none !important; }
  .wdpu-container a {
    font-size: 90%;
    color: #202020 !important;
    text-decoration: none !important; }
  .home .wdpu-container .mc4wp-form {
    width: 100% !important; }

.wpcf7 .screen-reader-response {
  display: none; }

div.wpcf7-response-output,
span.wpcf7-not-valid-tip {
  padding: 0.625rem 1.25rem;
  border-radius: 3px;
  border: none; }

div.wpcf7-validation-errors {
  background-color: maroon; }

div.wpcf7-mail-sent-ok {
  background-color: olive; }

span.wpcf7-not-valid-tip {
  display: inline;
  margin-left: 2.5rem;
  color: white;
  background-color: maroon; }
  @media screen and (max-width: 600px) {
    span.wpcf7-not-valid-tip {
      display: block;
      margin-left: 0;
      width: 98%; } }

input:not([type="submit"])[class*="wpcf7"] {
  width: 50% !important; }
  @media screen and (max-width: 600px) {
    input:not([type="submit"])[class*="wpcf7"] {
      width: 98% !important; } }

input[class*="wpcf7-not-valid"] {
  border-color: maroon;
  background-color: rgba(128, 0, 0, 0.25); }
  input[class*="wpcf7-not-valid"] ::-webkit-input-placeholder {
    color: #c08080; }

/* =Tables
----------------------------------------------- */
.tablepress-table-description {
  font-size: 90%;
  margin-bottom: 1.25rem; }

.tablepress thead th {
  border-bottom: 1px solid rgba(180, 170, 162, 0.75) !important;
  background-color: transparent !important; }

.tablepress .odd td {
  border-top: 0 !important;
  border-bottom: 1px dotted rgba(180, 170, 162, 0.75) !important;
  background-color: transparent !important; }

.tablepress .even td {
  border-top: 0 !important;
  border-bottom: 1px dotted rgba(180, 170, 162, 0.75) !important;
  background-color: rgba(180, 170, 162, 0.15) !important; }

.tablepress .odd td, .tablepress .even td, .tablepress tbody tr:first-child td {
  border-top: 0 !important; }

.tablepress .row-hover tr:hover td {
  background-color: rgba(38, 87, 186, 0.5) !important; }

.site {
  margin: 0 auto;
  max-width: 784px;
  width: 100%; }

.site-content {
  margin: 0 0 2.5rem;
  padding: 2.5rem 5rem;
  position: relative; }
  .site-content article {
    width: 100%; }
  .site-content article .entry-header {
    position: relative; }

.site-footer {
  margin: 0;
  padding: 2.5rem;
  position: relative; }
  .site-footer .footer-aside {
    width: 50%;
    float: left;
    margin: 0 0 2.5rem; }
  .site-footer .site-info {
    clear: left; }

@media screen and (max-width: 600px) {
  .site-content {
    padding: 1.25rem; }
  .site-footer {
    padding: 2.5rem; }
    .site-footer .footer-aside {
      width: 100%; } }

@media screen and (min-width: 600px) {
  .blog .content-area {
    float: left;
    margin: 0 -25% 0 0;
    width: 100%; }
  .blog .site-main {
    margin: 0 30% 0 0; }
  .blog .site-content .widget-area {
    /* Sidebar 1 */
    float: right;
    overflow: hidden;
    width: 25%;
    margin-top: 35rem; } }

@media screen and (min-width: 600px) {
  .archive .site-content .widget-area, .single .site-content .widget-area {
    /* Sidebar 1 */ }
    .archive .site-content .widget-area .widget, .single .site-content .widget-area .widget {
      float: left;
      overflow: hidden;
      width: 50%;
      padding: 0 1.25rem; } }

body {
  background: #b4aaa2 url("img/behang.png") no-repeat center top fixed; }

.site-content {
  background: #202020 url("img/schoolbord.jpg") repeat-y center -1203px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.85); }

/* =Content
----------------------------------------------- */
body.page:not([class*="home"]) .entry-header {
  margin: 10rem 0 10rem 5rem; }
  @media screen and (max-width: 600px) {
    body.page:not([class*="home"]) .entry-header {
      margin: 2.5rem; } }

body.home .page .entry-header {
  margin: 5rem 0;
  text-align: center; }

body.page .assortment .entry-header {
  margin: 10rem 0; }
  @media screen and (max-width: 600px) {
    body.page .assortment .entry-header {
      margin: 0; } }

body.single .entry-header {
  margin: 5rem 0 2.5rem; }

body.blog article.page {
  margin-bottom: 5rem; }
  body.blog article.page .entry-header {
    margin: 10rem 0 10rem 5rem; }

body.archive .page-header {
  margin: 10rem 0 10rem 5rem; }

.entry-content {
  min-height: 25rem; }
  .blog .entry-content,
  .blogposts .entry-content {
    min-height: 0;
    padding: 0 0.625rem; }
  @media screen and (min-width: 600px) {
    .mijn-taarten .entry-content,
    .mijn-patisserie .entry-content,
    .mariska-juliette .entry-content,
    .mijn-nieuwsbrieven .entry-content {
      padding-left: 35%; } }

.hentry {
  margin: 0 0 2.5rem; }

.video-embed {
  margin-top: 2.5rem; }

.home .blogposts {
  margin-top: 2.5rem;
  margin-bottom: 10rem; }

.discount.frontpage {
  margin-top: 12.5rem;
  margin-bottom: 2.5rem; }

.entry-meta {
  font-size: 90%;
  /*
    .cat-links a:first-child:before {
        content: "\f301";
    }
    .tag-links a:first-child:before {
        content: "\f302";
    }
*/ }
  .entry-header .entry-meta {
    margin-bottom: 2.5rem; }
  .blog .entry-meta,
  .blogposts .entry-meta {
    padding: 0 0.625rem; }
  .entry-meta .comments-link, .entry-meta .edit-link {
    float: right; }

.byline,
.updated {
  display: none; }

.single .byline, .group-blog .byline {
  display: inline; }

.align-left {
  text-align: left; }

.align-right {
  text-align: right; }

.general.notification {
  margin: 0 -6.25rem;
  padding: 1.25rem 2.5rem;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5); }
  @media screen and (max-width: 820px) {
    .general.notification {
      margin: 0 -5rem; } }
  @media screen and (max-width: 600px) {
    .general.notification {
      margin: 0 -1.25rem;
      padding: 1.25rem; } }
  .general.notification h3, .general.notification h4 {
    margin-bottom: 1.25rem; }
  .general.notification p:last-of-type {
    margin-bottom: 0; }

.notification.rood {
  background-color: #ae2d22; }

.notification.oranje {
  background-color: #ed7102;
  color: #202020;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.5); }

.notification.warmgeel {
  background-color: #f9b000;
  color: #202020;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.5); }

.notification.groen {
  background-color: #688d1c; }

.notification.roze {
  background-color: #da1d5c; }

.notification.paars {
  background-color: #9f2063; }

.notification.blauw {
  background-color: #2657ba; }

.notification:before, .notification:after {
  position: absolute;
  width: 0;
  height: 0;
  content: '';
  border: 2.5rem solid transparent;
  top: 0; }

.notification:before {
  border-left: none;
  border-right-color: blue;
  left: -2.5rem; }

.notification:after {
  border-right: none;
  border-left-color: red;
  right: -2.5rem; }

.notification.left:before {
  border: none; }

.notification.right:after {
  border: none; }

.back-to-top {
  display: none;
  position: fixed;
  z-index: 100;
  bottom: 7.5rem;
  right: 5rem;
  margin: 0; }
  .back-to-top input[type="submit"].arrow {
    border: 1px solid #b4aaa2;
    border-color: #b4aaa2 #b4aaa2 #b4aaa2 #9d9086;
    border-radius: 2.5rem;
    background: #b4aaa2;
    box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.5), inset -15px 0 17px rgba(255, 255, 255, 0.5), inset 0 -5px 12px rgba(0, 0, 0, 0.05);
    color: rgba(0, 0, 0, 0.8);
    cursor: pointer;
    /* Improves usability and consistency of cursor style between image-type 'input' and others */
    -webkit-appearance: button;
    /* Corrects inability to style clickable 'input' types in iOS */
    line-height: 1;
    padding: .5em 1em;
    text-shadow: -1px 0 0 rgba(255, 255, 255, 0.8);
    height: 5rem;
    width: 5rem;
    border-radius: 2.5rem;
    padding: 0 0.2em;
    font-family: Georgia, sans-serif;
    font-size: 3.75rem;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg); }
    .back-to-top input[type="submit"].arrow:hover {
      border-color: #b4aaa2 #b4aaa2 #b4aaa2 #85776b #b4aaa2;
      box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.8), inset -15px 0 17px rgba(255, 255, 255, 0.8), inset 0 -5px 12px rgba(0, 0, 0, 0.02); }

.site-footer .footer-aside h3, .site-footer .footer-aside ul {
  margin-bottom: 2.5rem; }

.site-footer .footer-aside p {
  margin-bottom: 0; }

.site-footer .site-info {
  margin-top: 2.5rem;
  padding-top: 1.875rem;
  border-top: 2px solid #202020; }

.home article.page .entry-content:after {
  content: "Mariska Langeveld";
  font-family: "jehrg";
  font-size: 12rem;
  float: right;
  margin-bottom: 2.5rem; }

img:not([class*="avatar"]) {
  height: auto;
  max-width: 100%;
  border: 0.7rem solid #fbfbfa;
  box-shadow: -1px 3px 8px rgba(0, 0, 0, 0.85); }

img.avatar {
  border: 0.425rem solid #fbfbfa;
  height: 84px;
  border-bottom: 20px solid #fbfbfa;
  -webkit-transform: rotate(-4deg);
  transform: rotate(-4deg); }

.cff-author-img img {
  border: none; }

img.rotate-left-8deg {
  -webkit-transform: rotate(-8deg);
  transform: rotate(-8deg); }

img.rotate-left-5deg {
  -webkit-transform: rotate(-5deg);
  transform: rotate(-5deg); }

img.rotate-right-5deg {
  -webkit-transform: rotate(5deg);
  transform: rotate(5deg); }

img.rotate-right-8deg {
  -webkit-transform: rotate(8deg);
  transform: rotate(8deg); }

.single .post-thumbnail-wrapper {
  text-align: center;
  margin-bottom: 2.5rem; }

.single .entry-content img.attachment-post-thumbnail {
  -webkit-transform: rotate(-4deg);
  transform: rotate(-4deg); }

@media screen and (max-width: 600px) {
  .page .entry-content img.attachment-post-thumbnail {
    position: relative;
    top: 0;
    max-width: 70%;
    margin: 0 0 0 25%;
    -webkit-transform: rotate(8deg);
    transform: rotate(8deg); } }

@media screen and (min-width: 600px) {
  .page .entry-content img.attachment-post-thumbnail {
    position: absolute;
    top: 45rem;
    margin-left: -40%;
    max-width: 35%;
    -webkit-transform: rotate(-8deg);
    transform: rotate(-8deg); }
    .home .page .entry-content img.attachment-post-thumbnail {
      position: relative;
      top: 0;
      float: left;
      margin-left: -10%;
      margin-right: 2.5rem;
      max-width: 30%; } }

@media screen and (min-width: 600px) {
  .page .mijn-nieuwsbrieven .entry-content img.attachment-post-thumbnail {
    top: 25rem;
    max-width: 30%;
    margin-left: -35%; } }

.site-footer .author-info img {
  margin-top: -5rem;
  margin-left: 7.5rem;
  max-width: 70%;
  -webkit-transform: rotate(8deg);
  transform: rotate(8deg); }
  @media screen and (max-width: 600px) {
    .site-footer .author-info img {
      margin-top: 0;
      margin-left: 30%;
      margin-bottom: -2.5rem;
      width: 50%; } }

.blog .hentry,
.blogposts .hentry,
.archive .hentry {
  padding: 1.25rem;
  border-radius: 5px;
  background-color: rgba(180, 170, 162, 0.05);
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.45); }
  .blog .hentry:hover,
  .blogposts .hentry:hover,
  .archive .hentry:hover {
    background-color: rgba(180, 170, 162, 0.15); }

.blog .post .entry-title,
.blogposts .entry-title,
.archive .entry-title {
  margin: 0; }
  .blog .post .entry-title a,
  .blogposts .entry-title a,
  .archive .entry-title a {
    display: block;
    padding: 0.625rem;
    font-size: 2.125rem;
    color: white;
    font-style: italic;
    text-decoration: none;
    border-radius: 3px;
    background-color: transparent; }
    .blog .post .entry-title a:hover,
    .blogposts .entry-title a:hover,
    .archive .entry-title a:hover {
      color: white;
      background-color: #2657ba; }
    .blog .post .entry-title a:active,
    .blogposts .entry-title a:active,
    .archive .entry-title a:active {
      box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.45); }

.blog .entry-image {
  position: absolute;
  max-width: 180px;
  right: -17.5rem;
  top: -7.5rem; }
  .blog .entry-image img {
    position: relative;
    float: left;
    max-width: 100%; }
  .blog .entry-image img:nth-of-type(1) {
    -webkit-transform: rotate(12deg);
    transform: rotate(12deg); }

.blogposts .hentry,
.archive .hentry {
  position: relative; }
  .blogposts .hentry .entry-header .entry-meta, .blogposts .hentry p,
  .archive .hentry .entry-header .entry-meta,
  .archive .hentry p {
    width: 75%; }
    .blog .blogposts .hentry .entry-header .entry-meta, .blog .blogposts .hentry p, .blog
    .archive .hentry .entry-header .entry-meta, .blog
    .archive .hentry p {
      width: 70%; }
    @media screen and (max-width: 480px) {
      .blogposts .hentry .entry-header .entry-meta, .blogposts .hentry p,
      .archive .hentry .entry-header .entry-meta,
      .archive .hentry p {
        width: 100%; } }
  .blogposts .hentry img.wp-post-image,
  .archive .hentry img.wp-post-image {
    position: absolute;
    top: 0;
    right: 1.25rem;
    max-width: 150px;
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg); }
    .blog .blogposts .hentry img.wp-post-image, .blog
    .archive .hentry img.wp-post-image {
      right: -1.25rem; }
    @media screen and (max-width: 480px) {
      .blogposts .hentry img.wp-post-image,
      .archive .hentry img.wp-post-image {
        position: relative; } }
  @media screen and (max-width: 480px) {
    .blogposts .hentry .post_thumbnail,
    .archive .hentry .post_thumbnail {
      text-align: center; } }

*[class*="googlemaps"] {
  margin-bottom: 2.5rem; }

/* =Asides
----------------------------------------------- */
.blog .format-aside .entry-title, .archive .format-aside .entry-title {
  display: none; }

/* =Media
----------------------------------------------- */
.page-content img.wp-smiley,
.entry-content img.wp-smiley,
.comment-content img.wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0; }

.wp-caption {
  border: 1px solid #ccc;
  margin-bottom: 2.5rem;
  max-width: 100%; }
  .wp-caption img[class*="wp-image-"] {
    display: block;
    margin: 1.2% auto 0;
    max-width: 98%; }
  .wp-caption .wp-caption-text {
    text-align: center;
    margin: 0.8075em 0; }

/* Make sure embeds and iframes fit their containers */
embed,
iframe,
object {
  max-width: 100%; }

/* =Navigation
----------------------------------------------- */
.main-navigation,
.sub-navigation {
  clear: both;
  display: block;
  width: 100%;
  position: relative; }
  .main-navigation ul,
  .sub-navigation ul {
    margin: 0; }
    .main-navigation ul li,
    .sub-navigation ul li {
      display: inline-block;
      position: relative;
      padding: 0 0.3125rem;
      margin-bottom: 1.25rem; }
      .main-navigation ul li a,
      .sub-navigation ul li a {
        display: block;
        padding: 0.3125rem 1.25rem;
        text-decoration: none;
        border-radius: 3px; }
        .main-navigation ul li a:active,
        .sub-navigation ul li a:active {
          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.45); }
    .main-navigation ul .current_page_item > a, .main-navigation ul .current-menu-item > a,
    .sub-navigation ul .current_page_item > a,
    .sub-navigation ul .current-menu-item > a {
      cursor: default;
      box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.45); }

.main-navigation ul {
  float: right;
  margin: 1.25rem; }
  @media screen and (max-width: 600px) {
    .main-navigation ul {
      margin: 0; } }
  .main-navigation ul li a {
    color: #4b3b2c;
    background-color: rgba(75, 59, 44, 0.15);
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.5), inset 0 2px 5px rgba(0, 0, 0, 0.15); }
    .main-navigation ul li a:hover {
      color: white;
      background-color: #4b3b2c; }
  .main-navigation ul li.current_page_item a, .main-navigation ul li.current-menu-item a, .main-navigation ul li.current_page_parent a, .main-navigation ul li.current-page-ancestor a {
    color: white;
    background-color: #4b3b2c; }
  .main-navigation ul ul {
    display: none; }

.menu-toggle {
  display: none;
  cursor: pointer; }

@media screen and (max-width: 600px) {
  .menu-toggle,
  .main-navigation.toggled .nav-menu {
    display: block;
    width: 100%; }
  .menu-toggle {
    color: #4b3b2c;
    margin-bottom: 1.25rem; }
    .menu-toggle span {
      display: block;
      margin: 0.3125rem 1.25rem;
      padding: 0.3125rem 1.25rem;
      background-color: rgba(75, 59, 44, 0.15);
      border-radius: 3px; }
      .menu-toggle span:active {
        box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.45); }
  .main-navigation.toggled .nav-menu {
    padding: 0.3125rem 1.25rem; }
    .main-navigation.toggled .nav-menu li {
      width: 100%;
      padding: 0; }
  .main-navigation ul {
    display: none; } }

.sub-navigation > div > ul > li > a {
  display: none; }

.sub-navigation ul.menu > li:not([class*="current-menu"]) {
  display: none; }

.sub-navigation ul.menu > li[class*="current-menu"] {
  width: 100%;
  text-align: center; }
  .sub-navigation ul.menu > li[class*="current-menu"] ul li a {
    color: white;
    background-color: rgba(180, 170, 162, 0.15); }
    .sub-navigation ul.menu > li[class*="current-menu"] ul li a:hover {
      color: white;
      background-color: rgba(180, 170, 162, 0.35); }
    .sub-navigation ul.menu > li[class*="current-menu"] ul li a:active {
      box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.45); }
  .sub-navigation ul.menu > li[class*="current-menu"] ul li.current-menu-item a {
    background-color: rgba(180, 170, 162, 0.35);
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.45); }
    .sub-navigation ul.menu > li[class*="current-menu"] ul li.current-menu-item a:hover {
      background-color: rgba(180, 170, 162, 0.35); }
  @media screen and (max-width: 600px) {
    .sub-navigation ul.menu > li[class*="current-menu"] ul li {
      float: left;
      width: 100%; } }

.site-main [class*="navigation"] {
  overflow: hidden; }
  .site-main [class*="navigation"] .nav-previous {
    float: left;
    width: 50%; }
  .site-main [class*="navigation"] .nav-next {
    float: right;
    text-align: right;
    width: 50%; }
  .site-main [class*="navigation"] .page-links {
    clear: both;
    margin: 0 0 2.5rem; }

.site-main .paging-navigation {
  margin-bottom: 2.5rem; }

.site-main .post-navigation {
  margin-bottom: 5rem; }

.site-main #comment-nav-below {
  margin-bottom: 2.5rem; }

.site-main .nav-link a {
  line-height: 5rem;
  padding: 0.625rem 2.5rem;
  border-radius: 3px; }
  .site-main .nav-link a:hover {
    text-decoration: none;
    background-color: #2657ba; }
    .site-main .nav-link a:hover input[type="submit"] {
      color: #1e4695;
      border-color: #b4aaa2 #b4aaa2 #85776b #b4aaa2;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), inset 0 15px 17px rgba(255, 255, 255, 0.8), inset 0 -5px 12px rgba(0, 0, 0, 0.02); }
  .site-main .nav-link a input#blogsubmit.arrow {
    margin: 0 0 0 1.25rem; }

.site-main .blogposts {
  position: relative; }
  .site-main .blogposts .nav-link {
    position: absolute;
    float: right;
    right: -2.5rem;
    bottom: -5rem; }
    @media screen and (max-width: 820px) {
      .site-main .blogposts .nav-link {
        right: .5rem;
        bottom: -6.25rem; } }
    @media screen and (max-width: 600px) {
      .site-main .blogposts .nav-link {
        right: 3.5rem; } }
    .site-main .blogposts .nav-link a:before {
      content: 'meer berichten uit mijn patisserie ...'; }
      @media screen and (max-width: 600px) {
        .site-main .blogposts .nav-link a:before {
          content: 'meer berichten ...'; } }

/* =Comments
----------------------------------------------- */
.site-content h2.comments-title {
  font-family: Georgia, serif;
  font-size: 2.5rem; }

.comment-body {
  margin: 1.25rem 0; }

.depth-1 {
  border-bottom: 3px dotted #b4aaa2; }

.comments-meta {
  float: right; }

.comments-number {
  font-size: 2.5rem; }

.comment-metadata a:not([class='comment-edit-link']) {
  font-style: normal;
  text-decoration: none; }
  .comment-metadata a:not([class='comment-edit-link']):hover {
    cursor: default;
    background-color: transparent; }
    .comment-metadata a:not([class='comment-edit-link']):hover:hover, .comment-metadata a:not([class='comment-edit-link']):hover:active, .comment-metadata a:not([class='comment-edit-link']):hover:focus {
      color: #b4aaa2; }

.comment-metadata .edit-link {
  float: right; }

.comment-author.vcard .fn {
  font-weight: normal; }

.comment-author.vcard img {
  float: left;
  margin: 0 2.5rem 0 -1.25rem; }
  .bypostauthor .comment-author.vcard img:before {
    width: 35px;
    height: 35px;
    background: url("img/logo.png") no-repeat center center; }

.bypostauthor .comment-author.vcard img:before {
  position: absolute;
  width: 35px;
  height: 35px;
  background: url("img/logo.png") no-repeat center center; }

.comment-content {
  padding-left: 7.5rem;
  font-style: italic; }
  .bypostauthor .comment-content {
    font-style: normal; }

a#cancel-comment-reply-link {
  font-family: Georgia, serif;
  font-size: 1.7rem;
  float: right; }

.comment-respond label {
  display: inline-block;
  width: 8rem; }

.comment-content a {
  word-wrap: break-word; }

.form-allowed-tags {
  display: none; }

.recensies a.comment-reply-link {
  display: none;
  visibility: hidden; }

/* =Widgets
----------------------------------------------- */
.widget {
  margin: 0 0 2.5rem;
  /* Make sure select elements fit in widgets */
  /* Search widget */ }
  .widget select {
    max-width: 100%; }
  .widget .widget-search .search-submit {
    display: none; }

/* =Infinite Scroll
----------------------------------------------- */
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .paging-navigation,
.infinite-scroll.neverending .site-footer {
  /* Theme Footer (when set to scrolling) */
  display: none; }

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before */
.infinity-end.neverending .site-footer {
  display: block; }

/* =Masthead
----------------------------------------------- */
.quick-info {
  margin-bottom: 1.25rem;
  padding: 0.625rem 2.5rem;
  text-align: right;
  color: white;
  background: #202020 url("img/schoolbord.jpg") no-repeat center center;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.85); }
  .quick-info p {
    margin-bottom: 0; }
  .quick-info a {
    color: #b4aaa2;
    font-style: italic; }
    .quick-info a:hover, .quick-info a:active, .quick-info a:focus {
      color: #7b9ee4; }
  @media screen and (max-width: 600px) {
    .quick-info {
      text-align: center; } }

.site-title a {
  display: block;
  height: 100px;
  background: url(img/logotype.png) no-repeat center center; }
  @media screen and (max-width: 784px) {
    .site-title a {
      background-size: contain; } }
  @media screen and (max-width: 600px) {
    .site-title a {
      height: 80px;
      background: url(img/logo.png) no-repeat center center; } }
  .site-title a span {
    display: none; }

.site-description {
  text-align: right;
  margin-top: -1.25rem;
  margin-bottom: 1.25rem;
  padding: 0 1.875rem;
  font-size: 1.7rem;
  font-style: italic; }
  @media screen and (max-width: 740px) {
    .site-description {
      font-size: 1.445rem;
      margin-top: -2.5rem; } }
  @media screen and (max-width: 600px) {
    .site-description {
      display: none; } }

/* =Front
----------------------------------------------- */
h2.slogan {
  margin: 0 auto;
  padding: 2.5rem 12.5% 2.5rem;
  text-align: center;
  line-height: 5rem; }
  @media screen and (max-width: 600px) {
    h2.slogan {
      font-size: 10.2rem;
      padding: 2.5rem 5%; } }

h2[class*="-boven"] {
  padding-top: 30%; }

h2[class*="-onder"] {
  padding-bottom: 30%; }
  @media screen and (max-width: 600px) {
    h2[class*="-onder"] {
      padding-bottom: 10rem; } }

h2[class*="ingredienten-boven"] {
  background: url("img/ingredients.png") center top no-repeat;
  background-size: contain; }

h2[class*="ingredienten-onder"] {
  background: url("img/ingredients.png") center bottom no-repeat;
  background-size: contain; }

h2[class*="assortiment-boven"] {
  padding-top: 0; }

/* =Assortment
----------------------------------------------- */
.content-area ul:not([class*="hartig"]) li.hartig,
.content-area ul:not([class*="zoet"]) li.zoet {
  display: none; }

.assortment,
.discount {
  position: relative; }
  .assortment .item, .assortment .description, .assortment .description .text, .assortment .description .image, .assortment .pricetags,
  .discount .item,
  .discount .description,
  .discount .description .text,
  .discount .description .image,
  .discount .pricetags {
    position: relative; }

.assortment .entry-header .entry-title {
  width: 60%;
  text-align: center; }
  @media screen and (max-width: 768px) {
    .assortment .entry-header .entry-title {
      width: 50%; } }
  @media screen and (max-width: 600px) {
    .assortment .entry-header .entry-title {
      width: 100%; } }

.assortment .product-images {
  width: 100%; }
  .assortment .product-images img {
    position: absolute;
    margin: 0;
    max-width: 160px; }
    .assortment .product-images img:nth-of-type(1) {
      -webkit-transform: rotate(-10deg);
      transform: rotate(-10deg); }
    .assortment .product-images img:nth-of-type(2) {
      -webkit-transform: rotate(2deg);
      transform: rotate(2deg); }
    .assortment .product-images img:nth-of-type(3) {
      -webkit-transform: rotate(8deg);
      transform: rotate(8deg); }
  @media screen and (max-width: 600px) {
    .assortment .product-images {
      position: relative;
      margin: 0 auto;
      top: 0;
      height: 25rem; }
      .assortment .product-images img {
        width: 45%; }
        .assortment .product-images img:nth-of-type(1) {
          left: 5%; }
        .assortment .product-images img:nth-of-type(2) {
          left: 30%;
          top: 1.25rem; }
        .assortment .product-images img:nth-of-type(3) {
          left: 50%; } }
  @media screen and (min-width: 600px) {
    .assortment .product-images {
      position: absolute;
      top: -7.5rem; }
      .assortment .product-images img:nth-of-type(1) {
        right: 12.5rem; }
      .assortment .product-images img:nth-of-type(2) {
        right: 5rem;
        top: 1.25rem; }
      .assortment .product-images img:nth-of-type(3) {
        right: -2.5rem; } }

.front-images {
  width: 100%;
  position: relative;
  margin: 2.5rem auto 1.25rem;
  top: 0;
  height: 25rem; }
  @media screen and (min-width: 600px) {
    .front-images {
      left: 10%; } }
  @media screen and (max-width: 400px) {
    .front-images {
      height: 60vw; } }
  .front-images img {
    position: absolute;
    margin: 0;
    max-width: 160px; }
    .front-images img:nth-of-type(1) {
      -webkit-transform: rotate(-10deg);
      transform: rotate(-10deg); }
    .front-images img:nth-of-type(2) {
      -webkit-transform: rotate(2deg);
      transform: rotate(2deg); }
    .front-images img:nth-of-type(3) {
      -webkit-transform: rotate(8deg);
      transform: rotate(8deg); }
  .front-images img {
    width: 45%; }
    .front-images img:nth-of-type(1) {
      left: 10%; }
    .front-images img:nth-of-type(2) {
      left: 30%;
      top: 1.25rem; }
    .front-images img:nth-of-type(3) {
      left: 50%; }

.assortment {
  margin: 2.5rem 0; }
  .home .assortment {
    margin: 5rem 0 2.5rem; }
  .assortment .description, .assortment .imagery, .assortment .pricetags {
    float: left; }
    @media screen and (max-width: 600px) {
      .assortment .description, .assortment .imagery, .assortment .pricetags {
        width: 100%; } }
  .assortment .pricetags {
    float: right; }
  @media screen and (min-width: 600px) {
    .assortment .description {
      width: 75%;
      padding-left: 1.25rem; } }
  @media screen and (max-width: 600px) {
    .assortment .imagery {
      text-align: center; } }
  @media screen and (min-width: 600px) {
    .assortment .imagery {
      width: 25%; } }
  .assortment .description h3 {
    margin: 0 0 1.25rem; }
  .assortment .pricetags {
    text-align: right; }
    .assortment .pricetags p {
      margin-bottom: 1.25rem; }
    .assortment .pricetags .price {
      text-align: left; }
    .assortment .pricetags .size {
      font-size: 90%;
      text-align: right;
      padding-left: 1.25rem; }
  .assortment img {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.85);
    margin-right: 5%; }
  .assortment li.item:nth-of-type(2n) img {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg); }
  .assortment li.item:nth-of-type(3n) img {
    -webkit-transform: rotate(-2deg);
    transform: rotate(-2deg); }
  .assortment li.item:nth-of-type(5n) img,
  .assortment div.item:nth-of-type(2n) img {
    -webkit-transform: rotate(2deg);
    transform: rotate(2deg); }

.price {
  font-size: 2.125rem; }
  .price .amount {
    font-size: 1.25em; }
  .price .decimals {
    font-size: .75em;
    vertical-align: text-top; }

.notification.discount.rood:before, .notification.discount.rood:after {
  border-right-color: #ae2d22;
  border-left-color: #ae2d22; }

.notification.callout.rood :before {
  color: #ae2d22; }

.notification.discount.oranje:before, .notification.discount.oranje:after {
  border-right-color: #ed7102;
  border-left-color: #ed7102; }

.notification.callout.oranje :before {
  color: #ed7102; }

.notification.discount.warmgeel:before, .notification.discount.warmgeel:after {
  border-right-color: #f9b000;
  border-left-color: #f9b000; }

.notification.callout.warmgeel :before {
  color: #f9b000; }

.notification.discount.groen:before, .notification.discount.groen:after {
  border-right-color: #688d1c;
  border-left-color: #688d1c; }

.notification.callout.groen :before {
  color: #688d1c; }

.notification.discount.roze:before, .notification.discount.roze:after {
  border-right-color: #da1d5c;
  border-left-color: #da1d5c; }

.notification.callout.roze :before {
  color: #da1d5c; }

.notification.discount.paars:before, .notification.discount.paars:after {
  border-right-color: #9f2063;
  border-left-color: #9f2063; }

.notification.callout.paars :before {
  color: #9f2063; }

.notification.discount.blauw:before, .notification.discount.blauw:after {
  border-right-color: #2657ba;
  border-left-color: #2657ba; }

.notification.callout.blauw :before {
  color: #2657ba; }

.in-discount .pricetags {
  color: #ed7102; }

.discount.notification {
  clear: both;
  margin: 0;
  z-index: 15;
  height: 5rem;
  line-height: 5rem;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.75); }
  .discount.notification.mobile-only {
    top: 2.5rem;
    margin-bottom: -5rem; }
  .discount.notification.desktop-only {
    top: -2.5rem;
    margin-top: -5rem; }
  .discount.notification.left {
    float: left;
    left: -5rem;
    padding: 0 1.25rem 0 2.5rem; }
    @media screen and (max-width: 600px) {
      .discount.notification.left {
        left: -2.5rem; } }
  .discount.notification.right {
    float: right;
    right: -5rem;
    padding: 0 2.5rem 0 1.25rem; }
    @media screen and (max-width: 600px) {
      .discount.notification.right {
        right: -1.25rem; } }
  .discount.notification .discount-text {
    font-size: 110%;
    font-style: italic;
    color: white;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5); }

.in-discount.frontpage h2 {
  position: absolute;
  z-index: 15;
  top: -5rem;
  height: 5rem;
  line-height: 5rem;
  font-style: italic;
  color: white;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  background-color: #ed7102;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.75); }
  @media screen and (max-width: 600px) {
    .in-discount.frontpage h2 {
      font-size: 110%; } }
  .in-discount.frontpage h2.left {
    left: -5.5rem;
    padding: 0 1.25rem 0 2.5rem; }
    @media screen and (max-width: 600px) {
      .in-discount.frontpage h2.left {
        left: -1.25rem; } }
    @media screen and (max-width: 400px) {
      .in-discount.frontpage h2.left {
        padding-left: 1.25rem; } }
    .in-discount.frontpage h2.left:after {
      border-left-color: #ed7102; }
  .in-discount.frontpage h2.right {
    right: -5.5rem;
    padding: 0 2.5rem 0 1.25rem; }
    @media screen and (max-width: 600px) {
      .in-discount.frontpage h2.right {
        right: -1.25rem; } }
    @media screen and (max-width: 400px) {
      .in-discount.frontpage h2.right {
        padding-right: 1.25rem; } }
    .in-discount.frontpage h2.right:before {
      border-right-color: #ed7102; }

.callout.notification {
  position: absolute; }
  @media screen and (max-width: 600px) {
    .callout.notification {
      right: 30%;
      -webkit-transform: rotate(15deg);
      transform: rotate(15deg); } }
  @media screen and (min-width: 600px) {
    .callout.notification {
      left: -7.5rem;
      -webkit-transform: rotate(-15deg);
      transform: rotate(-15deg); } }
  @media screen and (min-width: 800px) {
    .callout.notification {
      left: -10rem; } }
  .callout.notification span {
    position: absolute;
    width: 12.5rem;
    height: 12.5rem; }
  .callout.notification .cake-icon-spot {
    z-index: 5; }
    .callout.notification .cake-icon-spot:before {
      position: absolute;
      top: -2.5rem;
      left: -2.5rem;
      font-size: 17.5rem;
      text-shadow: 0 2px 3px rgba(0, 0, 0, 0.75); }
  .callout.notification .callout-text {
    z-index: 10;
    padding: 4rem 1.875rem;
    line-height: 2rem;
    text-align: center;
    font-style: italic;
    color: white;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5); }

.cordonbleu {
  position: absolute;
  top: -1.5rem;
  width: 90px;
  height: 142px;
  background: url("img/medaille-lcb.png") no-repeat top center; }
  .cordonbleu a {
    display: block;
    width: 90px;
    height: 142px; }
    .cordonbleu a:hover {
      background-color: transparent; }

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
  /* Retina-specific stuff here */
  .site-title a {
    background: url(img/logotype@2x.png) no-repeat center center;
    background-size: 800px 100px; } }
  @media only screen and (-webkit-min-device-pixel-ratio: 2) and (max-width: 784px), only screen and (min--moz-device-pixel-ratio: 2) and (max-width: 784px), only screen and (min-device-pixel-ratio: 2) and (max-width: 784px), only screen and (min-resolution: 192dpi) and (max-width: 784px), only screen and (min-resolution: 2dppx) and (max-width: 784px) {
    .site-title a {
      background: url(img/logotype-small@2x.png) no-repeat center center;
      background-size: 600px 100px; } }
  @media only screen and (-webkit-min-device-pixel-ratio: 2) and (max-width: 600px), only screen and (min--moz-device-pixel-ratio: 2) and (max-width: 600px), only screen and (min-device-pixel-ratio: 2) and (max-width: 600px), only screen and (min-resolution: 192dpi) and (max-width: 600px), only screen and (min-resolution: 2dppx) and (max-width: 600px) {
    .site-title a {
      background: url(img/logo@2x.png) no-repeat center center;
      background-size: 80px 80px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJfZm9udGZhY2Uuc2NzcyIsInN0eWxlLmNzcyIsIl9yZXNldC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCJfbWl4aW5zLnNjc3MiLCJfcGxhY2Vob2xkZXJzLnNjc3MiLCJfZ2xvYmFsLnNjc3MiLCJfdHlwb2dyYXBoeS5zY3NzIiwiX2Zvcm1zLnNjc3MiLCJfdGFibGVzLnNjc3MiLCJfbGF5b3V0LnNjc3MiLCJfY29udGVudC5zY3NzIiwiX3Bvc3Rmb3JtYXRzLnNjc3MiLCJfbWVkaWEuc2NzcyIsIl9uYXZpZ2F0aW9uLnNjc3MiLCJfY29tbWVudHMuc2NzcyIsIl93aWRnZXRzLnNjc3MiLCJfaW5maW5pdGVzY3JvbGwuc2NzcyIsIl9tYXN0aGVhZC5zY3NzIiwiX2Zyb250LnNjc3MiLCJfYXNzb3J0bWVudC5zY3NzIiwiXzJ4LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXFCRTtBQ2xCRjtFQUNJLHFCQUFxQjtFQUNyQixpREFBUTtFQUNSLDBTQUdxRjtFQUNyRixvQkFBb0I7RUFDcEIsbUJBQW1CLEVBQUE7O0FBT3ZCO0VBQ0Msb0JBQW9CO0VBQ3BCLDJCQUFRLEVBQUE7O0FBRVQ7RUFDQyxvQkFBb0I7RUFDcEIsNnJIQUNzdEQ7RUFDdHRELG9CQUFvQjtFQUNwQixtQkFBbUIsRUFBQTs7QUNZcEI7RURSQyxvQkFBb0I7RUFDcEIsWUFBWTtFQUNaLG1CQUFtQjtFQUNuQixvQkFBb0I7RUFDcEIscUJBQXFCO0VBQ3JCLHFCQUFxQjtFQUNyQixlQUFlO0VBRWYsdUNBQXVDO0VBQ3ZDLG9DQUFvQztFQUNwQyxtQ0FBbUMsRUFDbkM7O0FBRUQ7RUFDQyxlQUFlLEVBQ2Y7O0FFOUNEO2lFQUNpRTtBQUVqRTs7Ozs7Ozs7RUFRQyxVQUFVO0VBQ1YscUJBQXFCO0VBQ3JCLGdCQUFnQjtFQUNoQixvQkFBb0I7RUFDcEIscUJBQXFCO0VBQ3JCLFVBQVU7RUFDVixXQUFXO0VBQ1gsV0FB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QUFtQjtNQUNuQiwyQ0FBMkIsRUFDOUI7RUE3QlQ7SUFnQ1EsWUFBWTtJQUNaLHVCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixhQUFhO0lBQ2IsMENBQTJCLEVBQzlCOztBQUtMO0VBQ0ksbUJBQW1CO0VBQ25CLGFBQWU7RUFHZixZQUFZO0VBQ1osY0FBYztFQUNkLDZEQUE0RCxFQVMvRDtFQWhCRDtJQVNRLGVBQWU7SUFDZixZQUFZO0lBQ1osY0FBYyxFQUlqQjtJQWZMO01BYVksOEJBQThCLEVBQ2pDOztBQ25nQlQ7RUFRSSxnQ0FBZ0M7RUFFaEM7SUFFUSw2REFBNEQ7SUFDNUQsNkJBQTZCLEVBVWhDLEVBQUE7RUFURztJQUpSO01BS1ksbUVBQWtFO01BQ2xFLDZCQUE2QixFQU9wQyxFQUFBO0VBTEc7SUFSUjtNQVNZLHlEQUF3RDtNQUN4RCwyQkFBMkIsRUFHbEMsRUFBQSIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuVGhlbWUgTmFtZTogQ2FrZSBfcy4uLlxuVGhlbWUgVVJJOiBodHRwOi8vdW5kZXJzY29yZXMubWVcbkF1dGhvcjogcGl4ZWxsaXF1aWRcbkF1dGhvciBVUkk6IGh0dHA6Ly9waXhlbGxpcXVpZC5jb20vXG5EZXNjcmlwdGlvbjogSGkuIEknbSBhIHRoZW1lIGNhbGxlZCA8Y29kZT5DYWtlPC9jb2RlPi4gSSdtIG5vdCBhIDxlbT5QYXJlbnQgVGhlbWU8L2VtPi4gTXkgc291cmNlY29kZSBpcyBmcm9tIHRoZSBzdGFydGVyIHRoZW1lIDxjb2RlPl9zPC9jb2RlPiBhbmQgdXNlcyA8Y29kZT5zYXNzeV9zPC9jb2RlPiB0byBtYWtlIGl0IFNhc3MtZnJpZW5kbHkuIEJha2VkIHRvIHBlcmZlY3Rpb24gZm9yIFBhdGlzc2VyaWUgSnVsaWV0dGUuIFNvIG5vdyB5b3Uga25vdy4gUGllY2Ugb2YgQ2FrZSwgaW5kZWVkLlxuVmVyc2lvbjogMi4wMVxuTGljZW5zZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjIgb3IgbGF0ZXJcbkxpY2Vuc2UgVVJJOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXG5UZXh0IERvbWFpbjogY2FrZVxuRG9tYWluIFBhdGg6IC9sYW5ndWFnZXMvXG5cblRoaXMgdGhlbWUsIGxpa2UgV29yZFByZXNzLCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgR1BMLlxuVXNlIGl0IHRvIG1ha2Ugc29tZXRoaW5nIGNvb2wsIGhhdmUgZnVuLCBhbmQgc2hhcmUgd2hhdCB5b3UndmUgbGVhcm5lZCB3aXRoIG90aGVycy5cblxuQ2FrZSBpcyBiYXNlZCBvbiBVbmRlcnNjb3JlcyBodHRwOi8vdW5kZXJzY29yZXMubWUvLCAoQykgMjAxMi0yMDEzIEF1dG9tYXR0aWMsIEluYy5cblxuUmVzZXR0aW5nIGFuZCByZWJ1aWxkaW5nIHN0eWxlcyBoYXZlIGJlZW4gaGVscGVkIGFsb25nIHRoYW5rcyB0byB0aGUgZmluZSB3b3JrIG9mXG5FcmljIE1leWVyIGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvaW5kZXguaHRtbFxuYWxvbmcgd2l0aCBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgSm9uYXRoYW4gTmVhbCBodHRwOi8vbmVjb2xhcy5naXRodWIuY29tL25vcm1hbGl6ZS5jc3MvXG5hbmQgQmx1ZXByaW50IGh0dHA6Ly93d3cuYmx1ZXByaW50Y3NzLm9yZy9cbiovXG5cbi8vIGNvbmZpZ3VyZSB0aGUgc3R5bGUgZnJvbSBzZXR0aW5nc1xuQGltcG9ydCAnc2V0dGluZ3MnO1xuXG4vLyByZXNldCBzdHlsZXMgc2hvdWxkIHN0YXkgYXQgdGhlIHRvcFxuQGltcG9ydCAncmVzZXQnO1xuXG4vLyBtb3ZlIG1peGlucyBhbmQgcGxhY2Vob2xkZXJzIHRvIHRoZWlyIG93biBwYXJ0aWFsXG5AaW1wb3J0ICdtaXhpbnMnO1xuQGltcG9ydCAncGxhY2Vob2xkZXJzJztcblxuLy8gZmVlbCBmcmVlIHRvIGFkZCBhbnkgbmV3IGZpbGVzIHlvdSB3YW50OyBpZiB5b3UgYWRkIHRoZW0gdGhpcyBsaXN0IHRoZXknbGwgYmUgaW5jbHVkZWRcbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zJztcbkBpbXBvcnQgJ3RhYmxlcyc7XG5AaW1wb3J0ICdsYXlvdXQnO1xuQGltcG9ydCAnY29udGVudCc7XG5AaW1wb3J0ICdwb3N0Zm9ybWF0cyc7XG5AaW1wb3J0ICdtZWRpYSc7XG5AaW1wb3J0ICduYXZpZ2F0aW9uJztcbkBpbXBvcnQgJ2NvbW1lbnRzJztcbkBpbXBvcnQgJ3dpZGdldHMnO1xuQGltcG9ydCAnaW5maW5pdGVzY3JvbGwnO1xuQGltcG9ydCAnbWFzdGhlYWQnO1xuQGltcG9ydCAnZnJvbnQnO1xuQGltcG9ydCAnYXNzb3J0bWVudCc7XG5AaW1wb3J0ICcyeCc7XG5cblxuLy8vKiogZnJvbSB0d2VudHl0aGlydGVlblxuLy8gKlxuLy8gKiBUYWJsZSBvZiBDb250ZW50czpcbi8vICpcbi8vICogMS4wIC0gUmVzZXRcbi8vICogMi4wIC0gUmVwZWF0YWJsZSBQYXR0ZXJuc1xuLy8gKiAzLjAgLSBCYXNpYyBTdHJ1Y3R1cmVcbi8vICogNC4wIC0gSGVhZGVyXG4vLyAqICAgNC4xIC0gU2l0ZSBIZWFkZXJcbi8vICogICA0LjIgLSBOYXZpZ2F0aW9uXG4vLyAqIDUuMCAtIENvbnRlbnRcbi8vICogICA1LjEgLSBFbnRyeSBIZWFkZXJcbi8vICogICA1LjIgLSBFbnRyeSBNZXRhXG4vLyAqICAgNS4zIC0gRW50cnkgQ29udGVudFxuLy8gKiAgIDUuNCAtIEdhbGxlcmllc1xuLy8gKiAgIDUuNSAtIFBvc3QgRm9ybWF0c1xuLy8gKiAgIDUuNiAtIEF0dGFjaG1lbnRzXG4vLyAqICAgNS43IC0gUG9zdC9QYWdpbmcgTmF2aWdhdGlvblxuLy8gKiAgIDUuOCAtIEF1dGhvciBCaW9cbi8vICogICA1LjkgLSBBcmNoaXZlc1xuLy8gKiAgIDUuMTAgLSBTZWFyY2ggUmVzdWx0cy9ObyBwb3N0c1xuLy8gKiAgIDUuMTEgLSA0MDRcbi8vICogICA1LjEyIC0gQ29tbWVudHNcbi8vICogICA1LjEzIC0gTXVsdGlzaXRlXG4vLyAqIDYuMCAtIFNpZGViYXJcbi8vICogICA2LjEgLSBXaWRnZXRzXG4vLyAqIDcuMCAtIEZvb3RlclxuLy8gKiA4LjAgLSBNZWRpYSBRdWVyaWVzXG4vLyAqIDkuMCAtIFByaW50XG4vLyAqLyIsIi8vKiAhSmVsbHlrYSBFc3RyeWEgSGFuZHdyaXRpbmcgKi9cblxuLy8gR2VuZXJhdGVkIGJ5IEZvbnQgU3F1aXJyZWwgKGh0dHA6Ly93d3cuZm9udHNxdWlycmVsLmNvbSkgb24gTWFyY2ggMjUsIDIwMTRcbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnamVocmcnO1xuICAgIHNyYzogdXJsKCdmb250cy9qZWxseWthX2VzdHJ5YV9oYW5kd3JpdGluZy5lb3QnKTtcbiAgICBzcmM6IHVybCgnZm9udHMvamVsbHlrYV9lc3RyeWFfaGFuZHdyaXRpbmcuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgIHVybCgnZm9udHMvamVsbHlrYV9lc3RyeWFfaGFuZHdyaXRpbmcud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgdXJsKCdmb250cy9qZWxseWthX2VzdHJ5YV9oYW5kd3JpdGluZy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICB1cmwoJ2ZvbnRzL2plbGx5a2FfZXN0cnlhX2hhbmR3cml0aW5nLnN2ZyNqZWxseWthXy1fZXN0cnlhc19oYW5kd3JpdGlSZycpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8vKiAhQ2FrZSBJY29ucyAqL1xuXG4vLyB2ZXJzaW9uIDEuMFxuLy8gR2VuZXJhdGVkIGJ5IEljb01vb24gKGh0dHA6Ly93d3cuaWNvbW9vbi5pby9hcHApIG9uIEFwcmlsIDIyLCAyMDE0XG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6ICdjYWtlJztcblx0c3JjOiB1cmwoJ2ZvbnRzL2Nha2UuZW90Jyk7XG59XG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6ICdjYWtlJztcblx0c3JjOiB1cmwoZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtdHRmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LEFBRUFBQUFMQUlBQUF3QXdUMU12TWdnaUJ1QUFBQUM4QUFBQVlHTnRZWEFBS2dDckFBQUJIQUFBQUV4bllYTndBQUFBRUFBQUFXZ0FBQUFJWjJ4NVptRm1PWTRBQUFGd0FBQUNZR2hsWVdUL3d6d0NBQUFEMEFBQUFEWm9hR1ZoQTQ4QjVnQUFCQWdBQUFBa2FHMTBlQU1BQUZJQUFBUXNBQUFBRkd4dlkyRUFLQUZFQUFBRVFBQUFBQXh0WVhod0FBY0F5d0FBQkV3QUFBQWdibUZ0WlhCMmtxVUFBQVJzQUFBQkhuQnZjM1FBQXdBQUFBQUZqQUFBQUNBQUF3SUFBWkFBQlFBQUFVd0JaZ0FBQUVjQlRBRm1BQUFBOVFBWkFJUUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFLZ0hnLytELzRBSGdBQ0FBQUFBQkFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBQ0FBQUFBd0FBQUJRQUF3QUJBQUFBRkFBRUFEZ0FBQUFLQUFnQUFnQUNBQUVBSUFBcS8vMy8vd0FBQUFBQUlBQXEvLzMvL3dBQi8rUC8yZ0FEQUFFQUFBQUFBQUFBQUFBQUFBRUFBZi8vQUE4QUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFCU0FEUUJyUUdQQU1nQUFDVVVEZ0lWQmg0Q0J3NERCd1llQWdjT0FTSUdCd1ljQVFZSEJpNENCdzREQndZdUFnY2lEZ0lqSWk0Q0l5SU9BaWN1QXljbURnSW5KandCSmljdUFTSW1KeVkrQWljdUF5Y21QZ0luTGdNMU5ENENOelF1QWpjK0F6YzJMZ0kzUGdFNkFUYytBVHdCTnpZZUFqYytBemMySGdJM01qNENNekllQWpNV1BnSVhIZ01YRmo0Q0Z4NEJIQUVYRmpvQkZoY1dEZ0lYSGdNWEZnNENGeFFlQWhVQnJRY0lCd0VGQmdRQkFRZ0pDUUVDQXdNQ0FnSUpDZ2tDQXdFREFna0pDUU1EQXdNRUF3TUlDQWdEQXdZR0JnTURCZ1lHQXdNSUNBY0VBd01EQkFJRENRb0lBd01CQWdJS0NnZ0NBZ0lEQWdFQ0NBb0lBUUVGQmdVQkFRY0lCZ1lJQndFRkJRVUJBUWdLQ0FJQkFnTUNBZ0lJQ2dvQ0FnRURBd2dLQ1FNQ0JBTURBd01JQ0FnREF3WUdCZ01EQmdZR0F3TUlDQWdEQXdRREF3TURDUWtKQWdNQkF3SUpDZ2tDQWdJREF3SUJDUWtJQVFFRUJnVUJCd2dINFFNR0JnWURBd2dJQndNRUF3TURBd01KQ2dnREFnRUJBZ0lLQ2dnQ0FnSURBZ0VDQ0FvSUFRRUZCZ1VCQ0FnR0JnZ0lCQVlGQVFFSUNnZ0NBUUlEQWdJQ0NBb0tBZ0lCQVFJRENBb0pBd01EQXdNRUFnZ0lDQU1EQmdZR0F3UUdCUVlEQkFjSUNBTURCQU1EQXdNSkNRa0NBd0VEQWdrS0NRSUNBZ01EQWdFSkNRZ0JBUVFHQlFFSENBY0hDQWNCQlFZRUFRRUlDUWtCQWdNREFnSUNDUW9KQWdNQkF3SUpDUWtEQXdNREJBTURDQWdIQkFNR0JRWUVBQUFCQUFBQUFRQUFmTnZwV1Y4UFBQVUFDd0lBQUFBQUFNOTcvYnNBQUFBQXozdjl1d0FBQUFBQnJRR1BBQUFBQ0FBQ0FBQUFBQUFBQUFFQUFBSGcvK0FBQUFJQUFBQUFBQUd0QUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFGQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUlBQUZJQUFBQUFBQW9BRkFBZUFUQUFBUUFBQUFVQXlRQUJBQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBNEFyZ0FCQUFBQUFBQUJBQWdBQUFBQkFBQUFBQUFDQUE0QU1nQUJBQUFBQUFBREFBZ0FIZ0FCQUFBQUFBQUVBQWdBUUFBQkFBQUFBQUFGQUJZQUNBQUJBQUFBQUFBR0FBUUFKZ0FCQUFBQUFBQUtBQ2dBU0FBREFBRUVDUUFCQUFnQUFBQURBQUVFQ1FBQ0FBNEFNZ0FEQUFFRUNRQURBQWdBSGdBREFBRUVDUUFFQUFnQVFBQURBQUVFQ1FBRkFCWUFDQUFEQUFFRUNRQUdBQWdBS2dBREFBRUVDUUFLQUNnQVNBQmpBR0VBYXdCbEFGWUFaUUJ5QUhNQWFRQnZBRzRBSUFBeEFDNEFNQUJqQUdFQWF3QmxZMkZyWlFCakFHRUFhd0JsQUZJQVpRQm5BSFVBYkFCaEFISUFZd0JoQUdzQVpRQkhBR1VBYmdCbEFISUFZUUIwQUdVQVpBQWdBR0lBZVFBZ0FFa0FZd0J2QUUwQWJ3QnZBRzRBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcblx0XHQgdXJsKGRhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGQwOUdSazlVVkU4QUFBVHdBQW9BQUFBQUJLZ0FBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCRFJrWWdBQUFBOUFBQUFZOEFBQUdQdnMrd3FFOVRMeklBQUFLRUFBQUFZQUFBQUdBSUlnYmdZMjFoY0FBQUF1UUFBQUJNQUFBQVRBQXFBS3RuWVhOd0FBQURNQUFBQUFnQUFBQUlBQUFBRUdobFlXUUFBQU00QUFBQU5nQUFBRGIvd3p3Q2FHaGxZUUFBQTNBQUFBQWtBQUFBSkFPUEFlWm9iWFI0QUFBRGxBQUFBQlFBQUFBVUF3QUFVbTFoZUhBQUFBT29BQUFBQmdBQUFBWUFCVkFBYm1GdFpRQUFBN0FBQUFFZUFBQUJIbkIya3FWd2IzTjBBQUFFMEFBQUFDQUFBQUFnQUFNQUFBRUFCQVFBQVFFQkJXTmhhMlVBQVFJQUFRQTYrQndDK0JzRCtCZ0VIZ29BR1ZQL2k0c2VDZ0FaVS8rTGl3d0hpMnY0bFBoMEJSMEFBQUJyRHgwQUFBQndFUjBBQUFBSkhRQUFBWVlTQUFZQkFRVUpDdzBRRTJOaGEyVmpZV3RsZFRCMU1YVXlNSFV5UVFBQUFnR0pBQU1BQlFJQUFRQUVBQWNBQ2dBTkFRajhsQTc4bEE3OGxBNzdsQTc0UWZkMUZZdURkb1NLZ29tRG5YNklnNG1DZFl1SGhJZURtSG1HaElhRWRwS0ZoWVNGa25hRWhvU0dlcGlEaDRPSGkzV0RpQWlEaVg2ZGdvbURpb1IyZ291RGk0U2dnb3lEakg1NmdvMkRqb3VoaEkrRGozbCtoSkNFa0pLZ2haR0ZrWGFFaHBJSWhwS1luWWVUaDVKMWk0aVVpWktjbVlxVGlwUjJrb3VUaTVTZ2tveVRqSlI2bUkyVGpwT2hpNCtUajVOK25aQ1JDSkNTb0lXUmtaR1JoS0NTa0pLUW5YNlRqNUtQaTZHVGpaT09tWG1UalpTTWtxQ1RpNVNMa25hVGlwU0ptSjJUaUFpVGlZdDFrNGVUaDV5WWtvYVNob1Yya1lXUmhLQ1NrSVNRaFg1NWo0T1BnNkdMallPT2czbCtqWUtNZzZDRWk0SUlEdmlVRlBpVUZZc01DZ0FBQXdJQUFaQUFCUUFBQVV3QlpnQUFBRWNCVEFGbUFBQUE5UUFaQUlRQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUtnSGcvK0QvNEFIZ0FDQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFDQUFBQUF3QUFBQlFBQXdBQkFBQUFGQUFFQURnQUFBQUtBQWdBQWdBQ0FBRUFJQUFxLy8zLy93QUFBQUFBSUFBcS8vMy8vd0FCLytQLzJnQURBQUVBQUFBQUFBQUFBQUFBQUFFQUFmLy9BQThBQVFBQUFBRUFBQU9mcUxwZkR6ejFBQXNDQUFBQUFBRFBlLzI3QUFBQUFNOTcvYnNBQUFBQUFhMEJqd0FBQUFnQUFnQUFBQUFBQUFBQkFBQUI0UC9nQUFBQ0FBQUFBQUFCclFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQlFBQUFBQUFBQUFBQUFBQUFBRUFBQUFDQUFCU0FBQlFBQUFGQUFBQUFBQU9BSzRBQVFBQUFBQUFBUUFJQUFBQUFRQUFBQUFBQWdBT0FESUFBUUFBQUFBQUF3QUlBQjRBQVFBQUFBQUFCQUFJQUVBQUFRQUFBQUFBQlFBV0FBZ0FBUUFBQUFBQUJnQUVBQ1lBQVFBQUFBQUFDZ0FvQUVnQUF3QUJCQWtBQVFBSUFBQUFBd0FCQkFrQUFnQU9BRElBQXdBQkJBa0FBd0FJQUI0QUF3QUJCQWtBQkFBSUFFQUFBd0FCQkFrQUJRQVdBQWdBQXdBQkJBa0FCZ0FJQUNvQUF3QUJCQWtBQ2dBb0FFZ0FZd0JoQUdzQVpRQldBR1VBY2dCekFHa0Fid0J1QUNBQU1RQXVBREFBWXdCaEFHc0FaV05oYTJVQVl3QmhBR3NBWlFCU0FHVUFad0IxQUd3QVlRQnlBR01BWVFCckFHVUFSd0JsQUc0QVpRQnlBR0VBZEFCbEFHUUFJQUJpQUhrQUlBQkpBR01BYndCTkFHOEFid0J1QUFBQUF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQT09KSBmb3JtYXQoJ3dvZmYnKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5bY2xhc3NePVwiY2FrZS1pY29uLVwiXSwgW2NsYXNzKj1cIiBjYWtlLWljb24tXCJdIHtcblx0Zm9udC1mYW1pbHk6ICdjYWtlJztcblx0c3BlYWs6IG5vbmU7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Zm9udC12YXJpYW50OiBub3JtYWw7XG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRsaW5lLWhlaWdodDogMTtcblxuXHQvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5jYWtlLWljb24tc3BvdDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcMmFcIjtcbn1cbiIsIi8qXG5UaGVtZSBOYW1lOiBDYWtlIF9zLi4uXG5UaGVtZSBVUkk6IGh0dHA6Ly91bmRlcnNjb3Jlcy5tZVxuQXV0aG9yOiBwaXhlbGxpcXVpZFxuQXV0aG9yIFVSSTogaHR0cDovL3BpeGVsbGlxdWlkLmNvbS9cbkRlc2NyaXB0aW9uOiBIaS4gSSdtIGEgdGhlbWUgY2FsbGVkIDxjb2RlPkNha2U8L2NvZGU+LiBJJ20gbm90IGEgPGVtPlBhcmVudCBUaGVtZTwvZW0+LiBNeSBzb3VyY2Vjb2RlIGlzIGZyb20gdGhlIHN0YXJ0ZXIgdGhlbWUgPGNvZGU+X3M8L2NvZGU+IGFuZCB1c2VzIDxjb2RlPnNhc3N5X3M8L2NvZGU+IHRvIG1ha2UgaXQgU2Fzcy1mcmllbmRseS4gQmFrZWQgdG8gcGVyZmVjdGlvbiBmb3IgUGF0aXNzZXJpZSBKdWxpZXR0ZS4gU28gbm93IHlvdSBrbm93LiBQaWVjZSBvZiBDYWtlLCBpbmRlZWQuXG5WZXJzaW9uOiAyLjAxXG5MaWNlbnNlOiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MiBvciBsYXRlclxuTGljZW5zZSBVUkk6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxcblRleHQgRG9tYWluOiBjYWtlXG5Eb21haW4gUGF0aDogL2xhbmd1YWdlcy9cblxuVGhpcyB0aGVtZSwgbGlrZSBXb3JkUHJlc3MsIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEwuXG5Vc2UgaXQgdG8gbWFrZSBzb21ldGhpbmcgY29vbCwgaGF2ZSBmdW4sIGFuZCBzaGFyZSB3aGF0IHlvdSd2ZSBsZWFybmVkIHdpdGggb3RoZXJzLlxuXG5DYWtlIGlzIGJhc2VkIG9uIFVuZGVyc2NvcmVzIGh0dHA6Ly91bmRlcnNjb3Jlcy5tZS8sIChDKSAyMDEyLTIwMTMgQXV0b21hdHRpYywgSW5jLlxuXG5SZXNldHRpbmcgYW5kIHJlYnVpbGRpbmcgc3R5bGVzIGhhdmUgYmVlbiBoZWxwZWQgYWxvbmcgdGhhbmtzIHRvIHRoZSBmaW5lIHdvcmsgb2ZcbkVyaWMgTWV5ZXIgaHR0cDovL21leWVyd2ViLmNvbS9lcmljL3Rvb2xzL2Nzcy9yZXNldC9pbmRleC5odG1sXG5hbG9uZyB3aXRoIE5pY29sYXMgR2FsbGFnaGVyIGFuZCBKb25hdGhhbiBOZWFsIGh0dHA6Ly9uZWNvbGFzLmdpdGh1Yi5jb20vbm9ybWFsaXplLmNzcy9cbmFuZCBCbHVlcHJpbnQgaHR0cDovL3d3dy5ibHVlcHJpbnRjc3Mub3JnL1xuKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2plaHJnJztcbiAgc3JjOiB1cmwoXCJmb250cy9qZWxseWthX2VzdHJ5YV9oYW5kd3JpdGluZy5lb3RcIik7XG4gIHNyYzogdXJsKFwiZm9udHMvamVsbHlrYV9lc3RyeWFfaGFuZHdyaXRpbmcuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiZm9udHMvamVsbHlrYV9lc3RyeWFfaGFuZHdyaXRpbmcud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCJmb250cy9qZWxseWthX2VzdHJ5YV9oYW5kd3JpdGluZy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcImZvbnRzL2plbGx5a2FfZXN0cnlhX2hhbmR3cml0aW5nLnN2ZyNqZWxseWthXy1fZXN0cnlhc19oYW5kd3JpdGlSZ1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdjYWtlJztcbiAgc3JjOiB1cmwoXCJmb250cy9jYWtlLmVvdFwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdjYWtlJztcbiAgc3JjOiB1cmwoZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtdHRmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LEFBRUFBQUFMQUlBQUF3QXdUMU12TWdnaUJ1QUFBQUM4QUFBQVlHTnRZWEFBS2dDckFBQUJIQUFBQUV4bllYTndBQUFBRUFBQUFXZ0FBQUFJWjJ4NVptRm1PWTRBQUFGd0FBQUNZR2hsWVdUL3d6d0NBQUFEMEFBQUFEWm9hR1ZoQTQ4QjVnQUFCQWdBQUFBa2FHMTBlQU1BQUZJQUFBUXNBQUFBRkd4dlkyRUFLQUZFQUFBRVFBQUFBQXh0WVhod0FBY0F5d0FBQkV3QUFBQWdibUZ0WlhCMmtxVUFBQVJzQUFBQkhuQnZjM1FBQXdBQUFBQUZqQUFBQUNBQUF3SUFBWkFBQlFBQUFVd0JaZ0FBQUVjQlRBRm1BQUFBOVFBWkFJUUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFLZ0hnLytELzRBSGdBQ0FBQUFBQkFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBQ0FBQUFBd0FBQUJRQUF3QUJBQUFBRkFBRUFEZ0FBQUFLQUFnQUFnQUNBQUVBSUFBcS8vMy8vd0FBQUFBQUlBQXEvLzMvL3dBQi8rUC8yZ0FEQUFFQUFBQUFBQUFBQUFBQUFBRUFBZi8vQUE4QUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFCU0FEUUJyUUdQQU1nQUFDVVVEZ0lWQmg0Q0J3NERCd1llQWdjT0FTSUdCd1ljQVFZSEJpNENCdzREQndZdUFnY2lEZ0lqSWk0Q0l5SU9BaWN1QXljbURnSW5KandCSmljdUFTSW1KeVkrQWljdUF5Y21QZ0luTGdNMU5ENENOelF1QWpjK0F6YzJMZ0kzUGdFNkFUYytBVHdCTnpZZUFqYytBemMySGdJM01qNENNekllQWpNV1BnSVhIZ01YRmo0Q0Z4NEJIQUVYRmpvQkZoY1dEZ0lYSGdNWEZnNENGeFFlQWhVQnJRY0lCd0VGQmdRQkFRZ0pDUUVDQXdNQ0FnSUpDZ2tDQXdFREFna0pDUU1EQXdNRUF3TUlDQWdEQXdZR0JnTURCZ1lHQXdNSUNBY0VBd01EQkFJRENRb0lBd01CQWdJS0NnZ0NBZ0lEQWdFQ0NBb0lBUUVGQmdVQkFRY0lCZ1lJQndFRkJRVUJBUWdLQ0FJQkFnTUNBZ0lJQ2dvQ0FnRURBd2dLQ1FNQ0JBTURBd01JQ0FnREF3WUdCZ01EQmdZR0F3TUlDQWdEQXdRREF3TURDUWtKQWdNQkF3SUpDZ2tDQWdJREF3SUJDUWtJQVFFRUJnVUJCd2dINFFNR0JnWURBd2dJQndNRUF3TURBd01KQ2dnREFnRUJBZ0lLQ2dnQ0FnSURBZ0VDQ0FvSUFRRUZCZ1VCQ0FnR0JnZ0lCQVlGQVFFSUNnZ0NBUUlEQWdJQ0NBb0tBZ0lCQVFJRENBb0pBd01EQXdNRUFnZ0lDQU1EQmdZR0F3UUdCUVlEQkFjSUNBTURCQU1EQXdNSkNRa0NBd0VEQWdrS0NRSUNBZ01EQWdFSkNRZ0JBUVFHQlFFSENBY0hDQWNCQlFZRUFRRUlDUWtCQWdNREFnSUNDUW9KQWdNQkF3SUpDUWtEQXdNREJBTURDQWdIQkFNR0JRWUVBQUFCQUFBQUFRQUFmTnZwV1Y4UFBQVUFDd0lBQUFBQUFNOTcvYnNBQUFBQXozdjl1d0FBQUFBQnJRR1BBQUFBQ0FBQ0FBQUFBQUFBQUFFQUFBSGcvK0FBQUFJQUFBQUFBQUd0QUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFGQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUlBQUZJQUFBQUFBQW9BRkFBZUFUQUFBUUFBQUFVQXlRQUJBQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBNEFyZ0FCQUFBQUFBQUJBQWdBQUFBQkFBQUFBQUFDQUE0QU1nQUJBQUFBQUFBREFBZ0FIZ0FCQUFBQUFBQUVBQWdBUUFBQkFBQUFBQUFGQUJZQUNBQUJBQUFBQUFBR0FBUUFKZ0FCQUFBQUFBQUtBQ2dBU0FBREFBRUVDUUFCQUFnQUFBQURBQUVFQ1FBQ0FBNEFNZ0FEQUFFRUNRQURBQWdBSGdBREFBRUVDUUFFQUFnQVFBQURBQUVFQ1FBRkFCWUFDQUFEQUFFRUNRQUdBQWdBS2dBREFBRUVDUUFLQUNnQVNBQmpBR0VBYXdCbEFGWUFaUUJ5QUhNQWFRQnZBRzRBSUFBeEFDNEFNQUJqQUdFQWF3QmxZMkZyWlFCakFHRUFhd0JsQUZJQVpRQm5BSFVBYkFCaEFISUFZd0JoQUdzQVpRQkhBR1VBYmdCbEFISUFZUUIwQUdVQVpBQWdBR0lBZVFBZ0FFa0FZd0J2QUUwQWJ3QnZBRzRBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsZDA5R1JrOVVWRThBQUFUd0FBb0FBQUFBQktnQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJEUmtZZ0FBQUE5QUFBQVk4QUFBR1B2cyt3cUU5VEx6SUFBQUtFQUFBQVlBQUFBR0FJSWdiZ1kyMWhjQUFBQXVRQUFBQk1BQUFBVEFBcUFLdG5ZWE53QUFBRE1BQUFBQWdBQUFBSUFBQUFFR2hsWVdRQUFBTTRBQUFBTmdBQUFEYi93endDYUdobFlRQUFBM0FBQUFBa0FBQUFKQU9QQWVab2JYUjRBQUFEbEFBQUFCUUFBQUFVQXdBQVVtMWhlSEFBQUFPb0FBQUFCZ0FBQUFZQUJWQUFibUZ0WlFBQUE3QUFBQUVlQUFBQkhuQjJrcVZ3YjNOMEFBQUUwQUFBQUNBQUFBQWdBQU1BQUFFQUJBUUFBUUVCQldOaGEyVUFBUUlBQVFBNitCd0MrQnNEK0JnRUhnb0FHVlAvaTRzZUNnQVpVLytMaXd3SGkydjRsUGgwQlIwQUFBQnJEeDBBQUFCd0VSMEFBQUFKSFFBQUFZWVNBQVlCQVFVSkN3MFFFMk5oYTJWallXdGxkVEIxTVhVeU1IVXlRUUFBQWdHSkFBTUFCUUlBQVFBRUFBY0FDZ0FOQVFqOGxBNzhsQTc4bEE3N2xBNzRRZmQxRll1RGRvU0tnb21Eblg2SWc0bUNkWXVIaEllRG1IbUdoSWFFZHBLRmhZU0ZrbmFFaG9TR2VwaURoNE9IaTNXRGlBaURpWDZkZ29tRGlvUjJnb3VEaTRTZ2dveURqSDU2Z28yRGpvdWhoSStEajNsK2hKQ0VrSktnaFpHRmtYYUVocElJaHBLWW5ZZVRoNUoxaTRpVWlaS2NtWXFUaXBSMmtvdVRpNVNna295VGpKUjZtSTJUanBPaGk0K1RqNU4rblpDUkNKQ1NvSVdSa1pHUmhLQ1NrSktRblg2VGo1S1BpNkdUalpPT21YbVRqWlNNa3FDVGk1U0xrbmFUaXBTSm1KMlRpQWlUaVl0MWs0ZVRoNXlZa29hU2hvVjJrWVdSaEtDU2tJU1FoWDU1ajRPUGc2R0xqWU9PZzNsK2pZS01nNkNFaTRJSUR2aVVGUGlVRllzTUNnQUFBd0lBQVpBQUJRQUFBVXdCWmdBQUFFY0JUQUZtQUFBQTlRQVpBSVFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBS2dIZy8rRC80QUhnQUNBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQUNBQUFBQXdBQUFCUUFBd0FCQUFBQUZBQUVBRGdBQUFBS0FBZ0FBZ0FDQUFFQUlBQXEvLzMvL3dBQUFBQUFJQUFxLy8zLy93QUIvK1AvMmdBREFBRUFBQUFBQUFBQUFBQUFBQUVBQWYvL0FBOEFBUUFBQUFFQUFBT2ZxTHBmRHp6MUFBc0NBQUFBQUFEUGUvMjdBQUFBQU05Ny9ic0FBQUFBQWEwQmp3QUFBQWdBQWdBQUFBQUFBQUFCQUFBQjRQL2dBQUFDQUFBQUFBQUJyUUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFCUUFBQUFBQUFBQUFBQUFBQUFFQUFBQUNBQUJTQUFCUUFBQUZBQUFBQUFBT0FLNEFBUUFBQUFBQUFRQUlBQUFBQVFBQUFBQUFBZ0FPQURJQUFRQUFBQUFBQXdBSUFCNEFBUUFBQUFBQUJBQUlBRUFBQVFBQUFBQUFCUUFXQUFnQUFRQUFBQUFBQmdBRUFDWUFBUUFBQUFBQUNnQW9BRWdBQXdBQkJBa0FBUUFJQUFBQUF3QUJCQWtBQWdBT0FESUFBd0FCQkFrQUF3QUlBQjRBQXdBQkJBa0FCQUFJQUVBQUF3QUJCQWtBQlFBV0FBZ0FBd0FCQkFrQUJnQUlBQ29BQXdBQkJBa0FDZ0FvQUVnQVl3QmhBR3NBWlFCV0FHVUFjZ0J6QUdrQWJ3QnVBQ0FBTVFBdUFEQUFZd0JoQUdzQVpXTmhhMlVBWXdCaEFHc0FaUUJTQUdVQVp3QjFBR3dBWVFCeUFHTUFZUUJyQUdVQVJ3QmxBRzRBWlFCeUFHRUFkQUJsQUdRQUlBQmlBSGtBSUFCSkFHTUFid0JOQUc4QWJ3QnVBQUFBQXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBPT0pIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5bY2xhc3NePVwiY2FrZS1pY29uLVwiXSwgW2NsYXNzKj1cIiBjYWtlLWljb24tXCJdIHtcbiAgZm9udC1mYW1pbHk6ICdjYWtlJztcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5jYWtlLWljb24tc3BvdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMmFcIjsgfVxuXG4vKiA9UmVzZXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG5kZWwsIGRmbiwgZW0sIGZvbnQsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcbmRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkIHtcbiAgYm9yZGVyOiAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250LXN0eWxlOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgbWFyZ2luOiAwO1xuICBvdXRsaW5lOiAwO1xuICBwYWRkaW5nOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogNjIuNSU7XG4gIC8qIENvcnJlY3RzIHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUU2Lzcgd2hlbiBib2R5IGZvbnQtc2l6ZSBpcyBzZXQgdXNpbmcgZW0gdW5pdHMgaHR0cDovL2NsYWdudXQuY29tL2Jsb2cvMzQ4LyNjNzkwICovXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgLyogS2VlcHMgcGFnZSBjZW50cmVkIGluIGFsbCBicm93c2VycyByZWdhcmRsZXNzIG9mIGNvbnRlbnQgaGVpZ2h0ICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogUHJldmVudHMgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20gKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIHd3dy40NTZiZXJlYXN0cmVldC5jb20vYXJjaGl2ZS8yMDEwMTIvY29udHJvbGxpbmdfdGV4dF9zaXplX2luX3NhZmFyaV9mb3JfaW9zX3dpdGhvdXRfZGlzYWJsaW5nX3VzZXJfem9vbS8gKi8gfVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgLyogYXBwbHkgYSBuYXR1cmFsIGJveCBsYXlvdXQgbW9kZWwgdG8gYWxsIGVsZW1lbnRzOyBzZWUgaHR0cDovL3d3dy5wYXVsaXJpc2guY29tLzIwMTIvYm94LXNpemluZy1ib3JkZXItYm94LWZ0dy8gKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuYm9keSB7XG4gIGJhY2tncm91bmQ6ICNiNGFhYTI7IH1cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5tYWluLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbm9sLCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxudGFibGUge1xuICAvKiB0YWJsZXMgc3RpbGwgbmVlZCAnY2VsbHNwYWNpbmc9XCIwXCInIGluIHRoZSBtYXJrdXAgKi9cbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxuY2FwdGlvbiwgdGgsIHRkIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG5ibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlcixcbnE6YmVmb3JlLCBxOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjsgfVxuXG5ibG9ja3F1b3RlLCBxIHtcbiAgcXVvdGVzOiBcIlwiIFwiXCI7IH1cblxuYTpmb2N1cyB7XG4gIG91dGxpbmU6IHRoaW4gZG90dGVkOyB9XG5cbmE6aG92ZXIsXG5hOmFjdGl2ZSB7XG4gIG91dGxpbmU6IDA7IH1cblxuYSBpbWcge1xuICBib3JkZXI6IDA7IH1cblxuLmNsZWFyOmJlZm9yZSxcbi5lbnRyeS1jb250ZW50OmJlZm9yZSxcbi5jb21tZW50LWNvbnRlbnQ6YmVmb3JlLFxuLnNpdGUtaGVhZGVyOmJlZm9yZSxcbi5zaXRlLWNvbnRlbnQ6YmVmb3JlLFxuLnNpdGUtZm9vdGVyOmJlZm9yZSwgLmNsZWFyOmFmdGVyLFxuLmVudHJ5LWNvbnRlbnQ6YWZ0ZXIsXG4uY29tbWVudC1jb250ZW50OmFmdGVyLFxuLnNpdGUtaGVhZGVyOmFmdGVyLFxuLnNpdGUtY29udGVudDphZnRlcixcbi5zaXRlLWZvb3RlcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5jbGVhcjphZnRlcixcbi5lbnRyeS1jb250ZW50OmFmdGVyLFxuLmNvbW1lbnQtY29udGVudDphZnRlcixcbi5zaXRlLWhlYWRlcjphZnRlcixcbi5zaXRlLWNvbnRlbnQ6YWZ0ZXIsXG4uc2l0ZS1mb290ZXI6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4vKiA9UGxhY2Vob2xkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmdlbmVyYWwubm90aWZpY2F0aW9uOmJlZm9yZSwgLmNhbGxvdXQubm90aWZpY2F0aW9uOmJlZm9yZSwgLmdlbmVyYWwubm90aWZpY2F0aW9uOmFmdGVyLCAuY2FsbG91dC5ub3RpZmljYXRpb246YWZ0ZXIge1xuICBib3JkZXI6IG5vbmU7IH1cblxuLyogPUdsb2JhbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEFsaWdubWVudCAqL1xuLmFsaWdubGVmdCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMi41cmVtOyB9XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAyLjVyZW07IH1cblxuLmFsaWduY2VudGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4vKiBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzICovXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgY2xpcDogcmVjdCgxcHggMXB4IDFweCAxcHgpO1xuICAvKiBJRTYsIElFNyAqL1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6aG92ZXIsXG4uc2NyZWVuLXJlYWRlci10ZXh0OmFjdGl2ZSxcbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDtcbiAgLyogQWJvdmUgV1AgdG9vbGJhciAqLyB9XG5cbi8qIENsZWFyaW5nICovXG4vKiBWaXNpYmlsaXR5IENsYXNzZXMgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5tb2JpbGUtb25seSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZGVza3RvcC1vbmx5IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5tb2JpbGUtb25seSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRlc2t0b3Atb25seSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi8qID1UeXBvZ3JhcGh5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYm9keSxcbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogIzIwMjAyMDtcbiAgZm9udC1mYW1pbHk6IEdlb3JnaWEsIHNlcmlmO1xuICBmb250LXNpemU6IDEuN3JlbTtcbiAgbGluZS1oZWlnaHQ6IDIuNXJlbTsgfVxuXG4uc2l0ZS1jb250ZW50IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7IH1cblxuLndpZGdldC1hcmVhIHtcbiAgZm9udC1zaXplOiA5MCU7IH1cblxuaDE6bm90KFtjbGFzcz0nbWVudS10b2dnbGUnXSksXG5oMiwgaDMsIGg0LCBoNSwgaDYge1xuICBmb250LWZhbWlseTogR2VvcmdpYSwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIGgxOm5vdChbY2xhc3M9J21lbnUtdG9nZ2xlJ10pLFxuICAgIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICBmb250LXNpemU6IDIuMTI1cmVtOyB9IH1cblxuLmNvbnRlbnQtYXJlYSBoMSwgLmNvbnRlbnQtYXJlYSBoMiwgLmNvbnRlbnQtYXJlYSBoMywgLmNvbnRlbnQtYXJlYSBoNCwgLmNvbnRlbnQtYXJlYSBoNSwgLmNvbnRlbnQtYXJlYSBoNiB7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuXG5oMS5icmFuZGVkLCBoMi5icmFuZGVkLCBoMy5icmFuZGVkLCBoNC5icmFuZGVkLCBoNS5icmFuZGVkLCBoNi5icmFuZGVkIHtcbiAgZm9udC1mYW1pbHk6IFwiamVocmdcIjtcbiAgZm9udC1zaXplOiAxMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDcuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIGgxLmJyYW5kZWQsIGgyLmJyYW5kZWQsIGgzLmJyYW5kZWQsIGg0LmJyYW5kZWQsIGg1LmJyYW5kZWQsIGg2LmJyYW5kZWQge1xuICAgICAgZm9udC1zaXplOiAxMC4ycmVtOyB9IH1cblxuLmNvbnRlbnQtYXJlYSBoMSB7XG4gIGZvbnQtZmFtaWx5OiBcImplaHJnXCI7XG4gIGZvbnQtc2l6ZTogMTJyZW07XG4gIGxpbmUtaGVpZ2h0OiA3LjVyZW07XG4gIGNvbG9yOiB3aGl0ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5jb250ZW50LWFyZWEgaDEge1xuICAgICAgZm9udC1zaXplOiAxMC4ycmVtOyB9IH1cblxuLnBhZ2UgLmNvbnRlbnQtYXJlYSBoMS5lbnRyeS10aXRsZSxcbi5ibG9nIC5jb250ZW50LWFyZWEgaDEuZW50cnktdGl0bGUge1xuICBmb250LXNpemU6IDI0cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLnBhZ2UgLmNvbnRlbnQtYXJlYSBoMS5lbnRyeS10aXRsZSxcbiAgICAuYmxvZyAuY29udGVudC1hcmVhIGgxLmVudHJ5LXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJyZW07IH0gfVxuXG4uYmxvZyAuY29udGVudC1hcmVhIGgxLmVudHJ5LXRpdGxlIHtcbiAgZm9udC1zaXplOiAyMC40cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLmJsb2cgLmNvbnRlbnQtYXJlYSBoMS5lbnRyeS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEycmVtOyB9IH1cblxuLmFyY2hpdmUgLmNvbnRlbnQtYXJlYSBoMS5wYWdlLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyMC40cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLmFyY2hpdmUgLmNvbnRlbnQtYXJlYSBoMS5wYWdlLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJyZW07IH0gfVxuXG4ucGFnZS1jaGlsZCAuc2l0ZS1jb250ZW50IC5hc3NvcnRtZW50IGgxLmVudHJ5LXRpdGxlIHtcbiAgZm9udC1zaXplOiAxOHJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5wYWdlLWNoaWxkIC5zaXRlLWNvbnRlbnQgLmFzc29ydG1lbnQgaDEuZW50cnktdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAzMHZ3OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLnBhZ2UgLnNpdGUtY29udGVudCAuYXNzb3J0bWVudCBoMS5lbnRyeS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5wYWdlIC5zaXRlLWNvbnRlbnQgLmFzc29ydG1lbnQgaDEuZW50cnktdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnBhZ2UgLnNpdGUtY29udGVudCAuYXNzb3J0bWVudCAub3ZlcmlnLWFzc29ydGltZW50IGgxLmVudHJ5LXRpdGxlIHtcbiAgZm9udC1zaXplOiAxNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5wYWdlIC5zaXRlLWNvbnRlbnQgLmFzc29ydG1lbnQgLm92ZXJpZy1hc3NvcnRpbWVudCBoMS5lbnRyeS10aXRsZSB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbmhyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwMjAyMDtcbiAgYm9yZGVyOiAwO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cblxudWwsIG9sIHtcbiAgbWFyZ2luOiAwOyB9XG5cbnVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5vbCB7XG4gIGxpc3Qtc3R5bGU6IGRlY2ltYWw7IH1cblxuLmNvbnRlbnQtYXJlYSB1bCB7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuXG4uY29udGVudC1hcmVhIGFydGljbGUgdWwge1xuICBsaXN0LXN0eWxlOiBkaXNjO1xuICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTsgfVxuXG4uY29udGVudC1hcmVhIGFydGljbGUgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5jb250ZW50LWFyZWEgYXJ0aWNsZSBsaSBoMyB7XG4gICAgbWFyZ2luLXRvcDogMi41cmVtOyB9XG5cbmxpID4gdWwsXG5saSA+IG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLWxlZnQ6IDIuNXJlbTsgfVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzdiOWVlNDsgfVxuXG5kZCB7XG4gIG1hcmdpbjogMCAyLjVyZW0gMi41cmVtOyB9XG5cbmIsIHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjYjRhYWEyOyB9XG5cbmRmbiwgY2l0ZSwgZW0sIGkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAyLjVyZW07IH1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbjogMCAwIDIuNXJlbTsgfVxuXG5wcmUge1xuICBiYWNrZ3JvdW5kOiAjMjAyMDIwO1xuICBmb250LWZhbWlseTogXCJDb3VyaWVyIDEwIFBpdGNoXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxLjdyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgcGFkZGluZzogMi41cmVtO1xuICBvdmVyZmxvdzogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbmNvZGUsIGtiZCwgdHQsIHZhciB7XG4gIGZvbnQtZmFtaWx5OiBNb25hY28sIENvbnNvbGFzLCBcIkFuZGFsZSBNb25vXCIsIFwiRGVqYVZ1IFNhbnMgTW9ub1wiLCBtb25vc3BhY2U7IH1cblxuYWJiciwgYWNyb255bSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzY2NjtcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbm1hcmssIGlucyB7XG4gIGNvbG9yOiAjYjRhYWEyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuc3VwLFxuc3ViIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGhlaWdodDogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIGJvdHRvbTogMWV4OyB9XG5cbnN1YiB7XG4gIHRvcDogLjVleDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogOTAlOyB9XG5cbmJpZyB7XG4gIGZvbnQtc2l6ZTogMTEwJTsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxudGFibGUge1xuICBtYXJnaW46IDAgMCAyLjVyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG5cbnRoIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjYjRhYWEyOyB9XG5cbi5yZXF1aXJlZCB7XG4gIGNvbG9yOiAjZWQ3MTAyOyB9XG5cbipbY2xhc3MqPSdlbnRyeS1tZXRhJ10sXG4qW2NsYXNzKj0nbWV0YWRhdGEnXSB7XG4gIGZvbnQtc2l6ZTogOTAlOyB9XG5cbmEge1xuICBjb2xvcjogIzI2NTdiYTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYTpob3ZlciwgYTphY3RpdmUsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMjY1N2JhOyB9XG4gIC5zaXRlLWNvbnRlbnQgYSB7XG4gICAgY29sb3I6ICNiNGFhYTI7IH1cbiAgICAuc2l0ZS1jb250ZW50IGE6aG92ZXIsIC5zaXRlLWNvbnRlbnQgYTphY3RpdmUsIC5zaXRlLWNvbnRlbnQgYTpmb2N1cyB7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuc2l0ZS1jb250ZW50IGE6aG92ZXIsIC5zaXRlLWNvbnRlbnQgYTphY3RpdmUsIC5zaXRlLWNvbnRlbnQgYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjY1N2JhOyB9XG4gIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGEgLmVudHJ5LXRpdGxlIGEge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5hW2NsYXNzKj0nZWRpdC1saW5rJ10ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYVtjbGFzcyo9J2VkaXQtbGluayddOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogPUZvcm1zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogQ29ycmVjdHMgZm9udCBzaXplIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzICovXG4gIG1hcmdpbjogMDtcbiAgLyogQWRkcmVzc2VzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIElFNi83LCBGMy80LCBTNSwgQ2hyb21lICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogSW1wcm92ZXMgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzICovXG4gICp2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiBJbXByb3ZlcyBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSBpbiBhbGwgYnJvd3NlcnMgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxODAsIDE3MCwgMTYyLCAwLjI1KTsgfVxuXG5idXR0b24sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiNGFhYTI7XG4gIGJvcmRlci1jb2xvcjogI2I0YWFhMiAjYjRhYWEyICM4NTc3NmIgI2I0YWFhMjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kOiAjYjRhYWEyO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSwgaW5zZXQgMCAxNXB4IDE3cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpLCBpbnNldCAwIC01cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIEltcHJvdmVzIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZSAnaW5wdXQnIGFuZCBvdGhlcnMgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIENvcnJlY3RzIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgJ2lucHV0JyB0eXBlcyBpbiBpT1MgKi9cbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IC41ZW0gMWVtO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IH1cblxuYnV0dG9uOmhvdmVyLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3ZlcixcbmlucHV0W3R5cGU9XCJyZXNldFwiXTpob3ZlcixcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNiNGFhYTIgI2I0YWFhMiAjODU3NzZiICNiNGFhYTI7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpLCBpbnNldCAwIDE1cHggMTdweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCksIGluc2V0IDAgLTVweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4wMik7IH1cblxuYnV0dG9uOmZvY3VzLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJyZXNldFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsXG5idXR0b246YWN0aXZlLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXTphY3RpdmUsXG5pbnB1dFt0eXBlPVwicmVzZXRcIl06YWN0aXZlLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTphY3RpdmUge1xuICBib3JkZXItY29sb3I6ICNiNGFhYTIgI2I0YWFhMiAjODU3NzZiICNiNGFhYTI7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSwgaW5zZXQgMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7IH1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgcGFkZGluZzogMDtcbiAgLyogQWRkcmVzc2VzIGV4Y2VzcyBwYWRkaW5nIGluIElFOC85ICovIH1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiBBZGRyZXNzZXMgYXBwZWFyYW5jZSBzZXQgdG8gc2VhcmNoZmllbGQgaW4gUzUsIENocm9tZSAqL1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiBBZGRyZXNzZXMgYm94IHNpemluZyBzZXQgdG8gYm9yZGVyLWJveCBpbiBTNSwgQ2hyb21lIChpbmNsdWRlIC1tb3ogdG8gZnV0dXJlLXByb29mKSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLyogQ29ycmVjdHMgaW5uZXIgcGFkZGluZyBkaXNwbGF5ZWQgb2RkbHkgaW4gUzUsIENocm9tZSBvbiBPU1ggKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgLyogQ29ycmVjdHMgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGRpc3BsYXllZCBvZGRseSBpbiBGRjMvNCB3d3cuc2l0ZXBlbi5jb20vYmxvZy8yMDA4LzA1LzE0L3RoZS1kZXZpbHMtaW4tdGhlLWRldGFpbHMtZml4aW5nLWRvam9zLXRvb2xiYXItYnV0dG9ucy8gKi9cbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxudGV4dGFyZWEge1xuICBwYWRkaW5nOiAuMjVlbSAuNWVtO1xuICBjb2xvcjogI2UyZGVkYTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxODAsIDE3MCwgMTYyLCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAvKiBSZW1vdmVzIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFNi83LzgvOSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAvKiBJbXByb3ZlcyByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2VycyAqL1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogLjVlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOm5vdChbY2xhc3MqPVwiYXJyb3dcIl0pLFxuICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICBpbnB1dFt0eXBlPVwidXJsXCJdLFxuICBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gIHRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNiNGFhYTI7IH1cblxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5hcnJvdyxcbi5zZWFyY2gtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IC0uNWVtO1xuICBoZWlnaHQ6IDVyZW07XG4gIHdpZHRoOiA1cmVtO1xuICBib3JkZXItcmFkaXVzOiAyLjVyZW07XG4gIHBhZGRpbmc6IDAgMC4yZW07XG4gIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDMuNzVyZW07IH1cblxuLnNlYXJjaC1mb3JtIC53cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zZWFyY2gtZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgbWFyZ2luOiAwLjYyNXJlbSAwO1xuICBjb2xvcjogI2RlZTZmNTtcbiAgY29sb3I6ICNiNGFhYTI7XG4gIGNvbG9yOiAjYmJjZGYxOyB9XG5cbi5hc3NvcnRtZW50IC5zZWFyY2gtZm9ybSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IDIuNXJlbTsgfVxuXG4ubm8tcmVzdWx0cyAuc2VhcmNoLWZvcm0gaW5wdXQge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubWFpbGNoaW1wLXNpZ251cCBoMiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubWM0d3AtZm9ybSB7XG4gIG1hcmdpbjogMS4yNXJlbSAwO1xuICB3aWR0aDogYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5ob21lIC5tYzR3cC1mb3JtIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5ob21lIC5tYzR3cC1mb3JtIGgyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tYzR3cC1mb3JtIGZvcm0ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5tYzR3cC1mb3JtIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAubWM0d3AtZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgLm1jNHdwLWZvcm0gaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAubWM0d3AtZm9ybSBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICAubWM0d3AtZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgLm1jNHdwLWZvcm0gaW5wdXRbdHlwZT1cInVybFwiXSxcbiAgLm1jNHdwLWZvcm0gc2VsZWN0LFxuICAubWM0d3AtZm9ybSB0ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAubWM0d3AtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuXG4ubWM0d3AtYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDIuNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBjb2xvcjogIzNhODdhZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NlZTFlYjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzNhODdhZDtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbi5tYzR3cC1zdWNjZXNzIHtcbiAgY29sb3I6ICM2ODhkMWM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWUzYzY7XG4gIGJvcmRlci1jb2xvcjogIzY4OGQxYzsgfVxuXG4ubWM0d3AtZXJyb3Ige1xuICBjb2xvcjogI2FlMmQyMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViY2JjODtcbiAgYm9yZGVyLWNvbG9yOiAjYWUyZDIyOyB9XG5cbi5zdGIge1xuICBtYXgtd2lkdGg6IDU0MHB4O1xuICBwYWRkaW5nOiAyLjVyZW07XG4gIGJvcmRlcjogMC44NXJlbSBzb2xpZCByZ2JhKDM4LCA4NywgMTg2LCAwLjE1KSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJpbWcvc2Nob29sYm9yZC5qcGdcIikgcmVwZWF0LXkgY2VudGVyIC0xMjAzcHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI2I0YWFhMiB1cmwoXCJpbWcvYmVoYW5nLnBuZ1wiKSByZXBlYXQteSBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuODUpICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAuc3RiIHtcbiAgICAgIG1heC13aWR0aDogOTAlICFpbXBvcnRhbnQ7IH0gfVxuICAuc3RiIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMC42MjVyZW0gIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI2NTdiYTsgfVxuICAuc3RiIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAzMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogMTIwcHg7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg4ZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSg4ZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg4ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg4ZGVnKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAuc3RiIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIC5zdGIgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICBjb2xvcjogIzIwMjAyMCAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIC5zdGIgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogOTAlICFpbXBvcnRhbnQ7IH0gfVxuICAuc3RiIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM0YjNiMmM7IH1cbiAgLnN0YiAubWM0d3AtZm9ybSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAuc3RiIC5tYzR3cC1mb3JtIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgIC5ob21lIC5zdGIgLm1jNHdwLWZvcm0ge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cblxuLnN0Yi1jbG9zZTpob3ZlciB7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50OyB9XG5cbi5zdGItdG9wLWNlbnRlci1jb250YWluZXIge1xuICB0b3A6IDgwcHggIWltcG9ydGFudDsgfVxuXG4ud2RwdS1jb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgLndkcHUtY29udGFpbmVyIC53ZHB1LW1zZyB7XG4gICAgbWF4LXdpZHRoOiA1NDBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMS4yNXJlbSBhdXRvICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC44NSkgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAud2RwdS1jb250YWluZXIgLndkcHUtbXNnIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MCUgIWltcG9ydGFudDsgfSB9XG4gICAgLndkcHUtY29udGFpbmVyIC53ZHB1LW1zZyBwIHtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAud2RwdS1jb250YWluZXIgLndkcHUtbXNnIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogOTAlICFpbXBvcnRhbnQ7IH0gfVxuICAud2RwdS1jb250YWluZXIsIC53ZHB1LWNvbnRhaW5lciAud2RwdS1tc2ctaW5uZXIsIC53ZHB1LWNvbnRhaW5lciAud2RwdS1pbWFnZSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgfVxuICAud2RwdS1jb250YWluZXIgYS53ZHB1LWNsb3NlIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6ICMyMDIwMjAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLndkcHUtY29udGFpbmVyIC53ZHB1LW1zZy1pbm5lciB7XG4gICAgcGFkZGluZzogMi41cmVtICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwLjg1cmVtIHNvbGlkIHJnYmEoMzgsIDg3LCAxODYsIDAuMTUpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiaW1nL3NjaG9vbGJvcmQuanBnXCIpIHJlcGVhdC15IGNlbnRlciAtMTIwM3B4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogI2I0YWFhMiB1cmwoXCJpbWcvYmVoYW5nLnBuZ1wiKSByZXBlYXQteSBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgLndkcHUtY29udGFpbmVyIC53ZHB1LW1zZy1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDIuNXJlbSAxLjI1cmVtICFpbXBvcnRhbnQ7IH0gfVxuICAud2RwdS1jb250YWluZXIgLndkcHUtaGVhZCwgLndkcHUtY29udGFpbmVyIC53ZHB1LW1pZGRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC53ZHB1LWNvbnRhaW5lciAud2RwdS1oZWFkIHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAhaW1wb3J0YW50OyB9XG4gIC53ZHB1LWNvbnRhaW5lciAud2RwdS10aXRsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMC42MjVyZW0gIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDIuNXJlbSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI2NTdiYTsgfVxuICAud2RwdS1jb250YWluZXIgLndkcHUtdGV4dCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgLndkcHUtY29udGFpbmVyLmJ1dHRvbnMgLndkcHUtaW5uZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDVyZW0gIWltcG9ydGFudDsgfVxuICAud2RwdS1jb250YWluZXIgLndkcHUtY29udGVudCB7XG4gICAgcGFkZGluZzogMC42MjVyZW0gIWltcG9ydGFudDsgfVxuICAud2RwdS1jb250YWluZXIgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzRiM2IyYzsgfVxuICAud2RwdS1jb250YWluZXIgLndkcHUtbXNnIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAud2RwdS1jb250YWluZXIgLndkcHUtbXNnIGlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XG4gICAgY29sb3I6ICMyMDIwMjA7IH1cbiAgLndkcHUtY29udGFpbmVyIC53ZHB1LWltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogNDAlICFpbXBvcnRhbnQ7IH1cbiAgLndkcHUtY29udGFpbmVyLmJ1dHRvbnMgLndkcHUtaW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAud2RwdS1jb250YWluZXIgLndkcHUtaW1hZ2UgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogNDBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDcwcHggIWltcG9ydGFudDtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDhkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDhkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg4ZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDhkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDhkZWcpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLndkcHUtY29udGFpbmVyIC53ZHB1LWltYWdlLCAud2RwdS1jb250YWluZXIgLndkcHUtaW1hZ2UgaW1nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIC53ZHB1LWNvbnRhaW5lciAud2RwdS1idXR0b25zIHtcbiAgICBoZWlnaHQ6IDVyZW0gIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgMi41cmVtICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC53ZHB1LWNvbnRhaW5lciBhIHtcbiAgICBmb250LXNpemU6IDkwJTtcbiAgICBjb2xvcjogIzIwMjAyMCAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5ob21lIC53ZHB1LWNvbnRhaW5lciAubWM0d3AtZm9ybSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4ud3BjZjcgLnNjcmVlbi1yZWFkZXItcmVzcG9uc2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmRpdi53cGNmNy1yZXNwb25zZS1vdXRwdXQsXG5zcGFuLndwY2Y3LW5vdC12YWxpZC10aXAge1xuICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG5kaXYud3BjZjctdmFsaWRhdGlvbi1lcnJvcnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXJvb247IH1cblxuZGl2LndwY2Y3LW1haWwtc2VudC1vayB7XG4gIGJhY2tncm91bmQtY29sb3I6IG9saXZlOyB9XG5cbnNwYW4ud3BjZjctbm90LXZhbGlkLXRpcCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWFyZ2luLWxlZnQ6IDIuNXJlbTtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXJvb247IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICBzcGFuLndwY2Y3LW5vdC12YWxpZC10aXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHdpZHRoOiA5OCU7IH0gfVxuXG5pbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pW2NsYXNzKj1cIndwY2Y3XCJdIHtcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdKVtjbGFzcyo9XCJ3cGNmN1wiXSB7XG4gICAgICB3aWR0aDogOTglICFpbXBvcnRhbnQ7IH0gfVxuXG5pbnB1dFtjbGFzcyo9XCJ3cGNmNy1ub3QtdmFsaWRcIl0ge1xuICBib3JkZXItY29sb3I6IG1hcm9vbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjgsIDAsIDAsIDAuMjUpOyB9XG4gIGlucHV0W2NsYXNzKj1cIndwY2Y3LW5vdC12YWxpZFwiXSA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjYzA4MDgwOyB9XG5cbi8qID1UYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udGFibGVwcmVzcy10YWJsZS1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi50YWJsZXByZXNzIHRoZWFkIHRoIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTgwLCAxNzAsIDE2MiwgMC43NSkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuXG4udGFibGVwcmVzcyAub2RkIHRkIHtcbiAgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkIHJnYmEoMTgwLCAxNzAsIDE2MiwgMC43NSkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuXG4udGFibGVwcmVzcyAuZXZlbiB0ZCB7XG4gIGJvcmRlci10b3A6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCByZ2JhKDE4MCwgMTcwLCAxNjIsIDAuNzUpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTgwLCAxNzAsIDE2MiwgMC4xNSkgIWltcG9ydGFudDsgfVxuXG4udGFibGVwcmVzcyAub2RkIHRkLCAudGFibGVwcmVzcyAuZXZlbiB0ZCwgLnRhYmxlcHJlc3MgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuLnRhYmxlcHJlc3MgLnJvdy1ob3ZlciB0cjpob3ZlciB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzgsIDg3LCAxODYsIDAuNSkgIWltcG9ydGFudDsgfVxuXG4uc2l0ZSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDc4NHB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc2l0ZS1jb250ZW50IHtcbiAgbWFyZ2luOiAwIDAgMi41cmVtO1xuICBwYWRkaW5nOiAyLjVyZW0gNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zaXRlLWNvbnRlbnQgYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNpdGUtY29udGVudCBhcnRpY2xlIC5lbnRyeS1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc2l0ZS1mb290ZXIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDIuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zaXRlLWZvb3RlciAuZm9vdGVyLWFzaWRlIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCAwIDIuNXJlbTsgfVxuICAuc2l0ZS1mb290ZXIgLnNpdGUtaW5mbyB7XG4gICAgY2xlYXI6IGxlZnQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLnNpdGUtY29udGVudCB7XG4gICAgcGFkZGluZzogMS4yNXJlbTsgfVxuICAuc2l0ZS1mb290ZXIge1xuICAgIHBhZGRpbmc6IDIuNXJlbTsgfVxuICAgIC5zaXRlLWZvb3RlciAuZm9vdGVyLWFzaWRlIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmJsb2cgLmNvbnRlbnQtYXJlYSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwIC0yNSUgMCAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ibG9nIC5zaXRlLW1haW4ge1xuICAgIG1hcmdpbjogMCAzMCUgMCAwOyB9XG4gIC5ibG9nIC5zaXRlLWNvbnRlbnQgLndpZGdldC1hcmVhIHtcbiAgICAvKiBTaWRlYmFyIDEgKi9cbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMjUlO1xuICAgIG1hcmdpbi10b3A6IDM1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmFyY2hpdmUgLnNpdGUtY29udGVudCAud2lkZ2V0LWFyZWEsIC5zaW5nbGUgLnNpdGUtY29udGVudCAud2lkZ2V0LWFyZWEge1xuICAgIC8qIFNpZGViYXIgMSAqLyB9XG4gICAgLmFyY2hpdmUgLnNpdGUtY29udGVudCAud2lkZ2V0LWFyZWEgLndpZGdldCwgLnNpbmdsZSAuc2l0ZS1jb250ZW50IC53aWRnZXQtYXJlYSAud2lkZ2V0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nOiAwIDEuMjVyZW07IH0gfVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogI2I0YWFhMiB1cmwoXCJpbWcvYmVoYW5nLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIHRvcCBmaXhlZDsgfVxuXG4uc2l0ZS1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogIzIwMjAyMCB1cmwoXCJpbWcvc2Nob29sYm9yZC5qcGdcIikgcmVwZWF0LXkgY2VudGVyIC0xMjAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuODUpOyB9XG5cbi8qID1Db250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYm9keS5wYWdlOm5vdChbY2xhc3MqPVwiaG9tZVwiXSkgLmVudHJ5LWhlYWRlciB7XG4gIG1hcmdpbjogMTByZW0gMCAxMHJlbSA1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgYm9keS5wYWdlOm5vdChbY2xhc3MqPVwiaG9tZVwiXSkgLmVudHJ5LWhlYWRlciB7XG4gICAgICBtYXJnaW46IDIuNXJlbTsgfSB9XG5cbmJvZHkuaG9tZSAucGFnZSAuZW50cnktaGVhZGVyIHtcbiAgbWFyZ2luOiA1cmVtIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5ib2R5LnBhZ2UgLmFzc29ydG1lbnQgLmVudHJ5LWhlYWRlciB7XG4gIG1hcmdpbjogMTByZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIGJvZHkucGFnZSAuYXNzb3J0bWVudCAuZW50cnktaGVhZGVyIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG5cbmJvZHkuc2luZ2xlIC5lbnRyeS1oZWFkZXIge1xuICBtYXJnaW46IDVyZW0gMCAyLjVyZW07IH1cblxuYm9keS5ibG9nIGFydGljbGUucGFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDVyZW07IH1cbiAgYm9keS5ibG9nIGFydGljbGUucGFnZSAuZW50cnktaGVhZGVyIHtcbiAgICBtYXJnaW46IDEwcmVtIDAgMTByZW0gNXJlbTsgfVxuXG5ib2R5LmFyY2hpdmUgLnBhZ2UtaGVhZGVyIHtcbiAgbWFyZ2luOiAxMHJlbSAwIDEwcmVtIDVyZW07IH1cblxuLmVudHJ5LWNvbnRlbnQge1xuICBtaW4taGVpZ2h0OiAyNXJlbTsgfVxuICAuYmxvZyAuZW50cnktY29udGVudCxcbiAgLmJsb2dwb3N0cyAuZW50cnktY29udGVudCB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBwYWRkaW5nOiAwIDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLm1pam4tdGFhcnRlbiAuZW50cnktY29udGVudCxcbiAgICAubWlqbi1wYXRpc3NlcmllIC5lbnRyeS1jb250ZW50LFxuICAgIC5tYXJpc2thLWp1bGlldHRlIC5lbnRyeS1jb250ZW50LFxuICAgIC5taWpuLW5pZXV3c2JyaWV2ZW4gLmVudHJ5LWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzNSU7IH0gfVxuXG4uaGVudHJ5IHtcbiAgbWFyZ2luOiAwIDAgMi41cmVtOyB9XG5cbi52aWRlby1lbWJlZCB7XG4gIG1hcmdpbi10b3A6IDIuNXJlbTsgfVxuXG4uaG9tZSAuYmxvZ3Bvc3RzIHtcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxMHJlbTsgfVxuXG4uZGlzY291bnQuZnJvbnRwYWdlIHtcbiAgbWFyZ2luLXRvcDogMTIuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG5cbi5lbnRyeS1tZXRhIHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIC8qXG4gICAgLmNhdC1saW5rcyBhOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMzAxXCI7XG4gICAgfVxuICAgIC50YWctbGlua3MgYTpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZjMwMlwiO1xuICAgIH1cbiovIH1cbiAgLmVudHJ5LWhlYWRlciAuZW50cnktbWV0YSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gIC5ibG9nIC5lbnRyeS1tZXRhLFxuICAuYmxvZ3Bvc3RzIC5lbnRyeS1tZXRhIHtcbiAgICBwYWRkaW5nOiAwIDAuNjI1cmVtOyB9XG4gIC5lbnRyeS1tZXRhIC5jb21tZW50cy1saW5rLCAuZW50cnktbWV0YSAuZWRpdC1saW5rIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmJ5bGluZSxcbi51cGRhdGVkIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2luZ2xlIC5ieWxpbmUsIC5ncm91cC1ibG9nIC5ieWxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLmFsaWduLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5nZW5lcmFsLm5vdGlmaWNhdGlvbiB7XG4gIG1hcmdpbjogMCAtNi4yNXJlbTtcbiAgcGFkZGluZzogMS4yNXJlbSAyLjVyZW07XG4gIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgyMHB4KSB7XG4gICAgLmdlbmVyYWwubm90aWZpY2F0aW9uIHtcbiAgICAgIG1hcmdpbjogMCAtNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLmdlbmVyYWwubm90aWZpY2F0aW9uIHtcbiAgICAgIG1hcmdpbjogMCAtMS4yNXJlbTtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW07IH0gfVxuICAuZ2VuZXJhbC5ub3RpZmljYXRpb24gaDMsIC5nZW5lcmFsLm5vdGlmaWNhdGlvbiBoNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuZ2VuZXJhbC5ub3RpZmljYXRpb24gcDpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm5vdGlmaWNhdGlvbi5yb29kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FlMmQyMjsgfVxuXG4ubm90aWZpY2F0aW9uLm9yYW5qZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZDcxMDI7XG4gIGNvbG9yOiAjMjAyMDIwO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuXG4ubm90aWZpY2F0aW9uLndhcm1nZWVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5YjAwMDtcbiAgY29sb3I6ICMyMDIwMjA7XG4gIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG5cbi5ub3RpZmljYXRpb24uZ3JvZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjg4ZDFjOyB9XG5cbi5ub3RpZmljYXRpb24ucm96ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYTFkNWM7IH1cblxuLm5vdGlmaWNhdGlvbi5wYWFycyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZjIwNjM7IH1cblxuLm5vdGlmaWNhdGlvbi5ibGF1dyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjU3YmE7IH1cblxuLm5vdGlmaWNhdGlvbjpiZWZvcmUsIC5ub3RpZmljYXRpb246YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXI6IDIuNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgdG9wOiAwOyB9XG5cbi5ub3RpZmljYXRpb246YmVmb3JlIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogYmx1ZTtcbiAgbGVmdDogLTIuNXJlbTsgfVxuXG4ubm90aWZpY2F0aW9uOmFmdGVyIHtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItbGVmdC1jb2xvcjogcmVkO1xuICByaWdodDogLTIuNXJlbTsgfVxuXG4ubm90aWZpY2F0aW9uLmxlZnQ6YmVmb3JlIHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5ub3RpZmljYXRpb24ucmlnaHQ6YWZ0ZXIge1xuICBib3JkZXI6IG5vbmU7IH1cblxuLmJhY2stdG8tdG9wIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDA7XG4gIGJvdHRvbTogNy41cmVtO1xuICByaWdodDogNXJlbTtcbiAgbWFyZ2luOiAwOyB9XG4gIC5iYWNrLXRvLXRvcCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmFycm93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjRhYWEyO1xuICAgIGJvcmRlci1jb2xvcjogI2I0YWFhMiAjYjRhYWEyICNiNGFhYTIgIzlkOTA4NjtcbiAgICBib3JkZXItcmFkaXVzOiAyLjVyZW07XG4gICAgYmFja2dyb3VuZDogI2I0YWFhMjtcbiAgICBib3gtc2hhZG93OiBpbnNldCAtMXB4IDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSksIGluc2V0IC0xNXB4IDAgMTdweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSksIGluc2V0IDAgLTVweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLyogSW1wcm92ZXMgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlICdpbnB1dCcgYW5kIG90aGVycyAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAgIC8qIENvcnJlY3RzIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgJ2lucHV0JyB0eXBlcyBpbiBpT1MgKi9cbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiAuNWVtIDFlbTtcbiAgICB0ZXh0LXNoYWRvdzogLTFweCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICAgIGhlaWdodDogNXJlbTtcbiAgICB3aWR0aDogNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAyLjVyZW07XG4gICAgcGFkZGluZzogMCAwLjJlbTtcbiAgICBmb250LWZhbWlseTogR2VvcmdpYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDMuNzVyZW07XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsgfVxuICAgIC5iYWNrLXRvLXRvcCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmFycm93OmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2I0YWFhMiAjYjRhYWEyICNiNGFhYTIgIzg1Nzc2YiAjYjRhYWEyO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgLTFweCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpLCBpbnNldCAtMTVweCAwIDE3cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpLCBpbnNldCAwIC01cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMDIpOyB9XG5cbi5zaXRlLWZvb3RlciAuZm9vdGVyLWFzaWRlIGgzLCAuc2l0ZS1mb290ZXIgLmZvb3Rlci1hc2lkZSB1bCB7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuXG4uc2l0ZS1mb290ZXIgLmZvb3Rlci1hc2lkZSBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uc2l0ZS1mb290ZXIgLnNpdGUtaW5mbyB7XG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgcGFkZGluZy10b3A6IDEuODc1cmVtO1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzIwMjAyMDsgfVxuXG4uaG9tZSBhcnRpY2xlLnBhZ2UgLmVudHJ5LWNvbnRlbnQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIk1hcmlza2EgTGFuZ2V2ZWxkXCI7XG4gIGZvbnQtZmFtaWx5OiBcImplaHJnXCI7XG4gIGZvbnQtc2l6ZTogMTJyZW07XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG5cbmltZzpub3QoW2NsYXNzKj1cImF2YXRhclwiXSkge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAwLjdyZW0gc29saWQgI2ZiZmJmYTtcbiAgYm94LXNoYWRvdzogLTFweCAzcHggOHB4IHJnYmEoMCwgMCwgMCwgMC44NSk7IH1cblxuaW1nLmF2YXRhciB7XG4gIGJvcmRlcjogMC40MjVyZW0gc29saWQgI2ZiZmJmYTtcbiAgaGVpZ2h0OiA4NHB4O1xuICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkICNmYmZiZmE7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTRkZWcpO1xuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNGRlZyk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTRkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNGRlZyk7IH1cblxuLmNmZi1hdXRob3ItaW1nIGltZyB7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG5pbWcucm90YXRlLWxlZnQtOGRlZyB7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLThkZWcpO1xuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtOGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtOGRlZyk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLThkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOGRlZyk7IH1cblxuaW1nLnJvdGF0ZS1sZWZ0LTVkZWcge1xuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XG5cbmltZy5yb3RhdGUtcmlnaHQtNWRlZyB7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7XG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9XG5cbmltZy5yb3RhdGUtcmlnaHQtOGRlZyB7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoOGRlZyk7XG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDhkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOGRlZyk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDhkZWcpOyB9XG5cbi5zaW5nbGUgLnBvc3QtdGh1bWJuYWlsLXdyYXBwZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuXG4uc2luZ2xlIC5lbnRyeS1jb250ZW50IGltZy5hdHRhY2htZW50LXBvc3QtdGh1bWJuYWlsIHtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNGRlZyk7XG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKC00ZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00ZGVnKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00ZGVnKTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAucGFnZSAuZW50cnktY29udGVudCBpbWcuYXR0YWNobWVudC1wb3N0LXRodW1ibmFpbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICBtYXJnaW46IDAgMCAwIDI1JTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDhkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDhkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg4ZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDhkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDhkZWcpOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnBhZ2UgLmVudHJ5LWNvbnRlbnQgaW1nLmF0dGFjaG1lbnQtcG9zdC10aHVtYm5haWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDQ1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtNDAlO1xuICAgIG1heC13aWR0aDogMzUlO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLThkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKC04ZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLThkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLThkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC04ZGVnKTsgfVxuICAgIC5ob21lIC5wYWdlIC5lbnRyeS1jb250ZW50IGltZy5hdHRhY2htZW50LXBvc3QtdGh1bWJuYWlsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuNXJlbTtcbiAgICAgIG1heC13aWR0aDogMzAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnBhZ2UgLm1pam4tbmlldXdzYnJpZXZlbiAuZW50cnktY29udGVudCBpbWcuYXR0YWNobWVudC1wb3N0LXRodW1ibmFpbCB7XG4gICAgdG9wOiAyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDMwJTtcbiAgICBtYXJnaW4tbGVmdDogLTM1JTsgfSB9XG5cbi5zaXRlLWZvb3RlciAuYXV0aG9yLWluZm8gaW1nIHtcbiAgbWFyZ2luLXRvcDogLTVyZW07XG4gIG1hcmdpbi1sZWZ0OiA3LjVyZW07XG4gIG1heC13aWR0aDogNzAlO1xuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDhkZWcpO1xuICAtby10cmFuc2Zvcm06IHJvdGF0ZSg4ZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDhkZWcpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDhkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg4ZGVnKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5zaXRlLWZvb3RlciAuYXV0aG9yLWluZm8gaW1nIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMzAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTIuNXJlbTtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuXG4uYmxvZyAuaGVudHJ5LFxuLmJsb2dwb3N0cyAuaGVudHJ5LFxuLmFyY2hpdmUgLmhlbnRyeSB7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxODAsIDE3MCwgMTYyLCAwLjA1KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC40NSk7IH1cbiAgLmJsb2cgLmhlbnRyeTpob3ZlcixcbiAgLmJsb2dwb3N0cyAuaGVudHJ5OmhvdmVyLFxuICAuYXJjaGl2ZSAuaGVudHJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4MCwgMTcwLCAxNjIsIDAuMTUpOyB9XG5cbi5ibG9nIC5wb3N0IC5lbnRyeS10aXRsZSxcbi5ibG9ncG9zdHMgLmVudHJ5LXRpdGxlLFxuLmFyY2hpdmUgLmVudHJ5LXRpdGxlIHtcbiAgbWFyZ2luOiAwOyB9XG4gIC5ibG9nIC5wb3N0IC5lbnRyeS10aXRsZSBhLFxuICAuYmxvZ3Bvc3RzIC5lbnRyeS10aXRsZSBhLFxuICAuYXJjaGl2ZSAuZW50cnktdGl0bGUgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC42MjVyZW07XG4gICAgZm9udC1zaXplOiAyLjEyNXJlbTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYmxvZyAucG9zdCAuZW50cnktdGl0bGUgYTpob3ZlcixcbiAgICAuYmxvZ3Bvc3RzIC5lbnRyeS10aXRsZSBhOmhvdmVyLFxuICAgIC5hcmNoaXZlIC5lbnRyeS10aXRsZSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjU3YmE7IH1cbiAgICAuYmxvZyAucG9zdCAuZW50cnktdGl0bGUgYTphY3RpdmUsXG4gICAgLmJsb2dwb3N0cyAuZW50cnktdGl0bGUgYTphY3RpdmUsXG4gICAgLmFyY2hpdmUgLmVudHJ5LXRpdGxlIGE6YWN0aXZlIHtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNDUpOyB9XG5cbi5ibG9nIC5lbnRyeS1pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWF4LXdpZHRoOiAxODBweDtcbiAgcmlnaHQ6IC0xNy41cmVtO1xuICB0b3A6IC03LjVyZW07IH1cbiAgLmJsb2cgLmVudHJ5LWltYWdlIGltZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuYmxvZyAuZW50cnktaW1hZ2UgaW1nOm50aC1vZi10eXBlKDEpIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDEyZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgxMmRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDEyZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMmRlZyk7IH1cblxuLmJsb2dwb3N0cyAuaGVudHJ5LFxuLmFyY2hpdmUgLmhlbnRyeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmxvZ3Bvc3RzIC5oZW50cnkgLmVudHJ5LWhlYWRlciAuZW50cnktbWV0YSwgLmJsb2dwb3N0cyAuaGVudHJ5IHAsXG4gIC5hcmNoaXZlIC5oZW50cnkgLmVudHJ5LWhlYWRlciAuZW50cnktbWV0YSxcbiAgLmFyY2hpdmUgLmhlbnRyeSBwIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gICAgLmJsb2cgLmJsb2dwb3N0cyAuaGVudHJ5IC5lbnRyeS1oZWFkZXIgLmVudHJ5LW1ldGEsIC5ibG9nIC5ibG9ncG9zdHMgLmhlbnRyeSBwLCAuYmxvZ1xuICAgIC5hcmNoaXZlIC5oZW50cnkgLmVudHJ5LWhlYWRlciAuZW50cnktbWV0YSwgLmJsb2dcbiAgICAuYXJjaGl2ZSAuaGVudHJ5IHAge1xuICAgICAgd2lkdGg6IDcwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuYmxvZ3Bvc3RzIC5oZW50cnkgLmVudHJ5LWhlYWRlciAuZW50cnktbWV0YSwgLmJsb2dwb3N0cyAuaGVudHJ5IHAsXG4gICAgICAuYXJjaGl2ZSAuaGVudHJ5IC5lbnRyeS1oZWFkZXIgLmVudHJ5LW1ldGEsXG4gICAgICAuYXJjaGl2ZSAuaGVudHJ5IHAge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5ibG9ncG9zdHMgLmhlbnRyeSBpbWcud3AtcG9zdC1pbWFnZSxcbiAgLmFyY2hpdmUgLmhlbnRyeSBpbWcud3AtcG9zdC1pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMS4yNXJlbTtcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cbiAgICAuYmxvZyAuYmxvZ3Bvc3RzIC5oZW50cnkgaW1nLndwLXBvc3QtaW1hZ2UsIC5ibG9nXG4gICAgLmFyY2hpdmUgLmhlbnRyeSBpbWcud3AtcG9zdC1pbWFnZSB7XG4gICAgICByaWdodDogLTEuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmJsb2dwb3N0cyAuaGVudHJ5IGltZy53cC1wb3N0LWltYWdlLFxuICAgICAgLmFyY2hpdmUgLmhlbnRyeSBpbWcud3AtcG9zdC1pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmJsb2dwb3N0cyAuaGVudHJ5IC5wb3N0X3RodW1ibmFpbCxcbiAgICAuYXJjaGl2ZSAuaGVudHJ5IC5wb3N0X3RodW1ibmFpbCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4qW2NsYXNzKj1cImdvb2dsZW1hcHNcIl0ge1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cblxuLyogPUFzaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5ibG9nIC5mb3JtYXQtYXNpZGUgLmVudHJ5LXRpdGxlLCAuYXJjaGl2ZSAuZm9ybWF0LWFzaWRlIC5lbnRyeS10aXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogPU1lZGlhXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnBhZ2UtY29udGVudCBpbWcud3Atc21pbGV5LFxuLmVudHJ5LWNvbnRlbnQgaW1nLndwLXNtaWxleSxcbi5jb21tZW50LWNvbnRlbnQgaW1nLndwLXNtaWxleSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4ud3AtY2FwdGlvbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC53cC1jYXB0aW9uIGltZ1tjbGFzcyo9XCJ3cC1pbWFnZS1cIl0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMS4yJSBhdXRvIDA7XG4gICAgbWF4LXdpZHRoOiA5OCU7IH1cbiAgLndwLWNhcHRpb24gLndwLWNhcHRpb24tdGV4dCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMC44MDc1ZW0gMDsgfVxuXG4vKiBNYWtlIHN1cmUgZW1iZWRzIGFuZCBpZnJhbWVzIGZpdCB0aGVpciBjb250YWluZXJzICovXG5lbWJlZCxcbmlmcmFtZSxcbm9iamVjdCB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4vKiA9TmF2aWdhdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5tYWluLW5hdmlnYXRpb24sXG4uc3ViLW5hdmlnYXRpb24ge1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm1haW4tbmF2aWdhdGlvbiB1bCxcbiAgLnN1Yi1uYXZpZ2F0aW9uIHVsIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAubWFpbi1uYXZpZ2F0aW9uIHVsIGxpLFxuICAgIC5zdWItbmF2aWdhdGlvbiB1bCBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDAuMzEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIC5tYWluLW5hdmlnYXRpb24gdWwgbGkgYSxcbiAgICAgIC5zdWItbmF2aWdhdGlvbiB1bCBsaSBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAxLjI1cmVtO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAgICAgICAubWFpbi1uYXZpZ2F0aW9uIHVsIGxpIGE6YWN0aXZlLFxuICAgICAgICAuc3ViLW5hdmlnYXRpb24gdWwgbGkgYTphY3RpdmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNDUpOyB9XG4gICAgLm1haW4tbmF2aWdhdGlvbiB1bCAuY3VycmVudF9wYWdlX2l0ZW0gPiBhLCAubWFpbi1uYXZpZ2F0aW9uIHVsIC5jdXJyZW50LW1lbnUtaXRlbSA+IGEsXG4gICAgLnN1Yi1uYXZpZ2F0aW9uIHVsIC5jdXJyZW50X3BhZ2VfaXRlbSA+IGEsXG4gICAgLnN1Yi1uYXZpZ2F0aW9uIHVsIC5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC40NSk7IH1cblxuLm1haW4tbmF2aWdhdGlvbiB1bCB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLm1haW4tbmF2aWdhdGlvbiB1bCB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAubWFpbi1uYXZpZ2F0aW9uIHVsIGxpIGEge1xuICAgIGNvbG9yOiAjNGIzYjJjO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzUsIDU5LCA0NCwgMC4xNSk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpLCBpbnNldCAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTsgfVxuICAgIC5tYWluLW5hdmlnYXRpb24gdWwgbGkgYTpob3ZlciB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGIzYjJjOyB9XG4gIC5tYWluLW5hdmlnYXRpb24gdWwgbGkuY3VycmVudF9wYWdlX2l0ZW0gYSwgLm1haW4tbmF2aWdhdGlvbiB1bCBsaS5jdXJyZW50LW1lbnUtaXRlbSBhLCAubWFpbi1uYXZpZ2F0aW9uIHVsIGxpLmN1cnJlbnRfcGFnZV9wYXJlbnQgYSwgLm1haW4tbmF2aWdhdGlvbiB1bCBsaS5jdXJyZW50LXBhZ2UtYW5jZXN0b3IgYSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YjNiMmM7IH1cbiAgLm1haW4tbmF2aWdhdGlvbiB1bCB1bCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS10b2dnbGUge1xuICBkaXNwbGF5OiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLm1lbnUtdG9nZ2xlLFxuICAubWFpbi1uYXZpZ2F0aW9uLnRvZ2dsZWQgLm5hdi1tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVudS10b2dnbGUge1xuICAgIGNvbG9yOiAjNGIzYjJjO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAubWVudS10b2dnbGUgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMC4zMTI1cmVtIDEuMjVyZW07XG4gICAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMS4yNXJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzUsIDU5LCA0NCwgMC4xNSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgICAgIC5tZW51LXRvZ2dsZSBzcGFuOmFjdGl2ZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNDUpOyB9XG4gIC5tYWluLW5hdmlnYXRpb24udG9nZ2xlZCAubmF2LW1lbnUge1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAxLjI1cmVtOyB9XG4gICAgLm1haW4tbmF2aWdhdGlvbi50b2dnbGVkIC5uYXYtbWVudSBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1haW4tbmF2aWdhdGlvbiB1bCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5zdWItbmF2aWdhdGlvbiA+IGRpdiA+IHVsID4gbGkgPiBhIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3ViLW5hdmlnYXRpb24gdWwubWVudSA+IGxpOm5vdChbY2xhc3MqPVwiY3VycmVudC1tZW51XCJdKSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN1Yi1uYXZpZ2F0aW9uIHVsLm1lbnUgPiBsaVtjbGFzcyo9XCJjdXJyZW50LW1lbnVcIl0ge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5zdWItbmF2aWdhdGlvbiB1bC5tZW51ID4gbGlbY2xhc3MqPVwiY3VycmVudC1tZW51XCJdIHVsIGxpIGEge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4MCwgMTcwLCAxNjIsIDAuMTUpOyB9XG4gICAgLnN1Yi1uYXZpZ2F0aW9uIHVsLm1lbnUgPiBsaVtjbGFzcyo9XCJjdXJyZW50LW1lbnVcIl0gdWwgbGkgYTpob3ZlciB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4MCwgMTcwLCAxNjIsIDAuMzUpOyB9XG4gICAgLnN1Yi1uYXZpZ2F0aW9uIHVsLm1lbnUgPiBsaVtjbGFzcyo9XCJjdXJyZW50LW1lbnVcIl0gdWwgbGkgYTphY3RpdmUge1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC40NSk7IH1cbiAgLnN1Yi1uYXZpZ2F0aW9uIHVsLm1lbnUgPiBsaVtjbGFzcyo9XCJjdXJyZW50LW1lbnVcIl0gdWwgbGkuY3VycmVudC1tZW51LWl0ZW0gYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxODAsIDE3MCwgMTYyLCAwLjM1KTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjQ1KTsgfVxuICAgIC5zdWItbmF2aWdhdGlvbiB1bC5tZW51ID4gbGlbY2xhc3MqPVwiY3VycmVudC1tZW51XCJdIHVsIGxpLmN1cnJlbnQtbWVudS1pdGVtIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxODAsIDE3MCwgMTYyLCAwLjM1KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5zdWItbmF2aWdhdGlvbiB1bC5tZW51ID4gbGlbY2xhc3MqPVwiY3VycmVudC1tZW51XCJdIHVsIGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc2l0ZS1tYWluIFtjbGFzcyo9XCJuYXZpZ2F0aW9uXCJdIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuc2l0ZS1tYWluIFtjbGFzcyo9XCJuYXZpZ2F0aW9uXCJdIC5uYXYtcHJldmlvdXMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNpdGUtbWFpbiBbY2xhc3MqPVwibmF2aWdhdGlvblwiXSAubmF2LW5leHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zaXRlLW1haW4gW2NsYXNzKj1cIm5hdmlnYXRpb25cIl0gLnBhZ2UtbGlua3Mge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbjogMCAwIDIuNXJlbTsgfVxuXG4uc2l0ZS1tYWluIC5wYWdpbmctbmF2aWdhdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuXG4uc2l0ZS1tYWluIC5wb3N0LW5hdmlnYXRpb24ge1xuICBtYXJnaW4tYm90dG9tOiA1cmVtOyB9XG5cbi5zaXRlLW1haW4gI2NvbW1lbnQtbmF2LWJlbG93IHtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG5cbi5zaXRlLW1haW4gLm5hdi1saW5rIGEge1xuICBsaW5lLWhlaWdodDogNXJlbTtcbiAgcGFkZGluZzogMC42MjVyZW0gMi41cmVtO1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgLnNpdGUtbWFpbiAubmF2LWxpbmsgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjU3YmE7IH1cbiAgICAuc2l0ZS1tYWluIC5uYXYtbGluayBhOmhvdmVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgY29sb3I6ICMxZTQ2OTU7XG4gICAgICBib3JkZXItY29sb3I6ICNiNGFhYTIgI2I0YWFhMiAjODU3NzZiICNiNGFhYTI7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSwgaW5zZXQgMCAxNXB4IDE3cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpLCBpbnNldCAwIC01cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMDIpOyB9XG4gIC5zaXRlLW1haW4gLm5hdi1saW5rIGEgaW5wdXQjYmxvZ3N1Ym1pdC5hcnJvdyB7XG4gICAgbWFyZ2luOiAwIDAgMCAxLjI1cmVtOyB9XG5cbi5zaXRlLW1haW4gLmJsb2dwb3N0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2l0ZS1tYWluIC5ibG9ncG9zdHMgLm5hdi1saW5rIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHJpZ2h0OiAtMi41cmVtO1xuICAgIGJvdHRvbTogLTVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MjBweCkge1xuICAgICAgLnNpdGUtbWFpbiAuYmxvZ3Bvc3RzIC5uYXYtbGluayB7XG4gICAgICAgIHJpZ2h0OiAuNXJlbTtcbiAgICAgICAgYm90dG9tOiAtNi4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIC5zaXRlLW1haW4gLmJsb2dwb3N0cyAubmF2LWxpbmsge1xuICAgICAgICByaWdodDogMy41cmVtOyB9IH1cbiAgICAuc2l0ZS1tYWluIC5ibG9ncG9zdHMgLm5hdi1saW5rIGE6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdtZWVyIGJlcmljaHRlbiB1aXQgbWlqbiBwYXRpc3NlcmllIC4uLic7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIC5zaXRlLW1haW4gLmJsb2dwb3N0cyAubmF2LWxpbmsgYTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICdtZWVyIGJlcmljaHRlbiAuLi4nOyB9IH1cblxuLyogPUNvbW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNpdGUtY29udGVudCBoMi5jb21tZW50cy10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzZXJpZjtcbiAgZm9udC1zaXplOiAyLjVyZW07IH1cblxuLmNvbW1lbnQtYm9keSB7XG4gIG1hcmdpbjogMS4yNXJlbSAwOyB9XG5cbi5kZXB0aC0xIHtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IGRvdHRlZCAjYjRhYWEyOyB9XG5cbi5jb21tZW50cy1tZXRhIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5jb21tZW50cy1udW1iZXIge1xuICBmb250LXNpemU6IDIuNXJlbTsgfVxuXG4uY29tbWVudC1tZXRhZGF0YSBhOm5vdChbY2xhc3M9J2NvbW1lbnQtZWRpdC1saW5rJ10pIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmNvbW1lbnQtbWV0YWRhdGEgYTpub3QoW2NsYXNzPSdjb21tZW50LWVkaXQtbGluayddKTpob3ZlciB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNvbW1lbnQtbWV0YWRhdGEgYTpub3QoW2NsYXNzPSdjb21tZW50LWVkaXQtbGluayddKTpob3Zlcjpob3ZlciwgLmNvbW1lbnQtbWV0YWRhdGEgYTpub3QoW2NsYXNzPSdjb21tZW50LWVkaXQtbGluayddKTpob3ZlcjphY3RpdmUsIC5jb21tZW50LW1ldGFkYXRhIGE6bm90KFtjbGFzcz0nY29tbWVudC1lZGl0LWxpbmsnXSk6aG92ZXI6Zm9jdXMge1xuICAgICAgY29sb3I6ICNiNGFhYTI7IH1cblxuLmNvbW1lbnQtbWV0YWRhdGEgLmVkaXQtbGluayB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uY29tbWVudC1hdXRob3IudmNhcmQgLmZuIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4uY29tbWVudC1hdXRob3IudmNhcmQgaW1nIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCAyLjVyZW0gMCAtMS4yNXJlbTsgfVxuICAuYnlwb3N0YXV0aG9yIC5jb21tZW50LWF1dGhvci52Y2FyZCBpbWc6YmVmb3JlIHtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiaW1nL2xvZ28ucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOyB9XG5cbi5ieXBvc3RhdXRob3IgLmNvbW1lbnQtYXV0aG9yLnZjYXJkIGltZzpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IDM1cHg7XG4gIGJhY2tncm91bmQ6IHVybChcImltZy9sb2dvLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsgfVxuXG4uY29tbWVudC1jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiA3LjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAuYnlwb3N0YXV0aG9yIC5jb21tZW50LWNvbnRlbnQge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5hI2NhbmNlbC1jb21tZW50LXJlcGx5LWxpbmsge1xuICBmb250LWZhbWlseTogR2VvcmdpYSwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS43cmVtO1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmNvbW1lbnQtcmVzcG9uZCBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDhyZW07IH1cblxuLmNvbW1lbnQtY29udGVudCBhIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG5cbi5mb3JtLWFsbG93ZWQtdGFncyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnJlY2Vuc2llcyBhLmNvbW1lbnQtcmVwbHktbGluayB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKiA9V2lkZ2V0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi53aWRnZXQge1xuICBtYXJnaW46IDAgMCAyLjVyZW07XG4gIC8qIE1ha2Ugc3VyZSBzZWxlY3QgZWxlbWVudHMgZml0IGluIHdpZGdldHMgKi9cbiAgLyogU2VhcmNoIHdpZGdldCAqLyB9XG4gIC53aWRnZXQgc2VsZWN0IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLndpZGdldCAud2lkZ2V0LXNlYXJjaCAuc2VhcmNoLXN1Ym1pdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiA9SW5maW5pdGUgU2Nyb2xsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogR2xvYmFsbHkgaGlkZGVuIGVsZW1lbnRzIHdoZW4gSW5maW5pdGUgU2Nyb2xsIGlzIHN1cHBvcnRlZCBhbmQgaW4gdXNlLiAqL1xuLmluZmluaXRlLXNjcm9sbCAucGFnaW5nLW5hdmlnYXRpb24sXG4uaW5maW5pdGUtc2Nyb2xsLm5ldmVyZW5kaW5nIC5zaXRlLWZvb3RlciB7XG4gIC8qIFRoZW1lIEZvb3RlciAod2hlbiBzZXQgdG8gc2Nyb2xsaW5nKSAqL1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFdoZW4gSW5maW5pdGUgU2Nyb2xsIGhhcyByZWFjaGVkIGl0cyBlbmQgd2UgbmVlZCB0byByZS1kaXNwbGF5IGVsZW1lbnRzIHRoYXQgd2VyZSBoaWRkZW4gKHZpYSAubmV2ZXJlbmRpbmcpIGJlZm9yZSAqL1xuLmluZmluaXR5LWVuZC5uZXZlcmVuZGluZyAuc2l0ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiA9TWFzdGhlYWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucXVpY2staW5mbyB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDIuNXJlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZDogIzIwMjAyMCB1cmwoXCJpbWcvc2Nob29sYm9yZC5qcGdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjg1KTsgfVxuICAucXVpY2staW5mbyBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5xdWljay1pbmZvIGEge1xuICAgIGNvbG9yOiAjYjRhYWEyO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgIC5xdWljay1pbmZvIGE6aG92ZXIsIC5xdWljay1pbmZvIGE6YWN0aXZlLCAucXVpY2staW5mbyBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjN2I5ZWU0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLnF1aWNrLWluZm8ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLnNpdGUtdGl0bGUgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoaW1nL2xvZ290eXBlLnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzg0cHgpIHtcbiAgICAuc2l0ZS10aXRsZSBhIHtcbiAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAtby1iYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5zaXRlLXRpdGxlIGEge1xuICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKGltZy9sb2dvLnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7IH0gfVxuICAuc2l0ZS10aXRsZSBhIHNwYW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNpdGUtZGVzY3JpcHRpb24ge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luLXRvcDogLTEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIHBhZGRpbmc6IDAgMS44NzVyZW07XG4gIGZvbnQtc2l6ZTogMS43cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQwcHgpIHtcbiAgICAuc2l0ZS1kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDEuNDQ1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTIuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLnNpdGUtZGVzY3JpcHRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi8qID1Gcm9udFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmgyLnNsb2dhbiB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAyLjVyZW0gMTIuNSUgMi41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiA1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgaDIuc2xvZ2FuIHtcbiAgICAgIGZvbnQtc2l6ZTogMTAuMnJlbTtcbiAgICAgIHBhZGRpbmc6IDIuNXJlbSA1JTsgfSB9XG5cbmgyW2NsYXNzKj1cIi1ib3ZlblwiXSB7XG4gIHBhZGRpbmctdG9wOiAzMCU7IH1cblxuaDJbY2xhc3MqPVwiLW9uZGVyXCJdIHtcbiAgcGFkZGluZy1ib3R0b206IDMwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIGgyW2NsYXNzKj1cIi1vbmRlclwiXSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTByZW07IH0gfVxuXG5oMltjbGFzcyo9XCJpbmdyZWRpZW50ZW4tYm92ZW5cIl0ge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJpbWcvaW5ncmVkaWVudHMucG5nXCIpIGNlbnRlciB0b3Agbm8tcmVwZWF0O1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIC1vLWJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG5cbmgyW2NsYXNzKj1cImluZ3JlZGllbnRlbi1vbmRlclwiXSB7XG4gIGJhY2tncm91bmQ6IHVybChcImltZy9pbmdyZWRpZW50cy5wbmdcIikgY2VudGVyIGJvdHRvbSBuby1yZXBlYXQ7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAtbW96LWJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgLW8tYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cblxuaDJbY2xhc3MqPVwiYXNzb3J0aW1lbnQtYm92ZW5cIl0ge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4vKiA9QXNzb3J0bWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5jb250ZW50LWFyZWEgdWw6bm90KFtjbGFzcyo9XCJoYXJ0aWdcIl0pIGxpLmhhcnRpZyxcbi5jb250ZW50LWFyZWEgdWw6bm90KFtjbGFzcyo9XCJ6b2V0XCJdKSBsaS56b2V0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYXNzb3J0bWVudCxcbi5kaXNjb3VudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYXNzb3J0bWVudCAuaXRlbSwgLmFzc29ydG1lbnQgLmRlc2NyaXB0aW9uLCAuYXNzb3J0bWVudCAuZGVzY3JpcHRpb24gLnRleHQsIC5hc3NvcnRtZW50IC5kZXNjcmlwdGlvbiAuaW1hZ2UsIC5hc3NvcnRtZW50IC5wcmljZXRhZ3MsXG4gIC5kaXNjb3VudCAuaXRlbSxcbiAgLmRpc2NvdW50IC5kZXNjcmlwdGlvbixcbiAgLmRpc2NvdW50IC5kZXNjcmlwdGlvbiAudGV4dCxcbiAgLmRpc2NvdW50IC5kZXNjcmlwdGlvbiAuaW1hZ2UsXG4gIC5kaXNjb3VudCAucHJpY2V0YWdzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmFzc29ydG1lbnQgLmVudHJ5LWhlYWRlciAuZW50cnktdGl0bGUge1xuICB3aWR0aDogNjAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuYXNzb3J0bWVudCAuZW50cnktaGVhZGVyIC5lbnRyeS10aXRsZSB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAuYXNzb3J0bWVudCAuZW50cnktaGVhZGVyIC5lbnRyeS10aXRsZSB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5hc3NvcnRtZW50IC5wcm9kdWN0LWltYWdlcyB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5hc3NvcnRtZW50IC5wcm9kdWN0LWltYWdlcyBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAxNjBweDsgfVxuICAgIC5hc3NvcnRtZW50IC5wcm9kdWN0LWltYWdlcyBpbWc6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTsgfVxuICAgIC5hc3NvcnRtZW50IC5wcm9kdWN0LWltYWdlcyBpbWc6bnRoLW9mLXR5cGUoMikge1xuICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTtcbiAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDJkZWcpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDJkZWcpO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDJkZWcpOyB9XG4gICAgLmFzc29ydG1lbnQgLnByb2R1Y3QtaW1hZ2VzIGltZzpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDhkZWcpO1xuICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoOGRlZyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOGRlZyk7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDhkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOGRlZyk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAuYXNzb3J0bWVudCAucHJvZHVjdC1pbWFnZXMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB0b3A6IDA7XG4gICAgICBoZWlnaHQ6IDI1cmVtOyB9XG4gICAgICAuYXNzb3J0bWVudCAucHJvZHVjdC1pbWFnZXMgaW1nIHtcbiAgICAgICAgd2lkdGg6IDQ1JTsgfVxuICAgICAgICAuYXNzb3J0bWVudCAucHJvZHVjdC1pbWFnZXMgaW1nOm50aC1vZi10eXBlKDEpIHtcbiAgICAgICAgICBsZWZ0OiA1JTsgfVxuICAgICAgICAuYXNzb3J0bWVudCAucHJvZHVjdC1pbWFnZXMgaW1nOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICBsZWZ0OiAzMCU7XG4gICAgICAgICAgdG9wOiAxLjI1cmVtOyB9XG4gICAgICAgIC5hc3NvcnRtZW50IC5wcm9kdWN0LWltYWdlcyBpbWc6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICAgIGxlZnQ6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLmFzc29ydG1lbnQgLnByb2R1Y3QtaW1hZ2VzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTcuNXJlbTsgfVxuICAgICAgLmFzc29ydG1lbnQgLnByb2R1Y3QtaW1hZ2VzIGltZzpudGgtb2YtdHlwZSgxKSB7XG4gICAgICAgIHJpZ2h0OiAxMi41cmVtOyB9XG4gICAgICAuYXNzb3J0bWVudCAucHJvZHVjdC1pbWFnZXMgaW1nOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgcmlnaHQ6IDVyZW07XG4gICAgICAgIHRvcDogMS4yNXJlbTsgfVxuICAgICAgLmFzc29ydG1lbnQgLnByb2R1Y3QtaW1hZ2VzIGltZzpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAgIHJpZ2h0OiAtMi41cmVtOyB9IH1cblxuLmZyb250LWltYWdlcyB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMi41cmVtIGF1dG8gMS4yNXJlbTtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLmZyb250LWltYWdlcyB7XG4gICAgICBsZWZ0OiAxMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgIC5mcm9udC1pbWFnZXMge1xuICAgICAgaGVpZ2h0OiA2MHZ3OyB9IH1cbiAgLmZyb250LWltYWdlcyBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAxNjBweDsgfVxuICAgIC5mcm9udC1pbWFnZXMgaW1nOm50aC1vZi10eXBlKDEpIHtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH1cbiAgICAuZnJvbnQtaW1hZ2VzIGltZzpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDJkZWcpO1xuICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDJkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7IH1cbiAgICAuZnJvbnQtaW1hZ2VzIGltZzpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDhkZWcpO1xuICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoOGRlZyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOGRlZyk7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDhkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOGRlZyk7IH1cbiAgLmZyb250LWltYWdlcyBpbWcge1xuICAgIHdpZHRoOiA0NSU7IH1cbiAgICAuZnJvbnQtaW1hZ2VzIGltZzpudGgtb2YtdHlwZSgxKSB7XG4gICAgICBsZWZ0OiA1JTsgfVxuICAgIC5mcm9udC1pbWFnZXMgaW1nOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIGxlZnQ6IDMwJTtcbiAgICAgIHRvcDogMS4yNXJlbTsgfVxuICAgIC5mcm9udC1pbWFnZXMgaW1nOm50aC1vZi10eXBlKDMpIHtcbiAgICAgIGxlZnQ6IDUwJTsgfVxuXG4uYXNzb3J0bWVudCB7XG4gIG1hcmdpbjogMi41cmVtIDA7IH1cbiAgLmhvbWUgLmFzc29ydG1lbnQge1xuICAgIG1hcmdpbjogNXJlbSAwIDIuNXJlbTsgfVxuICAuYXNzb3J0bWVudCAuZGVzY3JpcHRpb24sIC5hc3NvcnRtZW50IC5pbWFnZXJ5LCAuYXNzb3J0bWVudCAucHJpY2V0YWdzIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAuYXNzb3J0bWVudCAuZGVzY3JpcHRpb24sIC5hc3NvcnRtZW50IC5pbWFnZXJ5LCAuYXNzb3J0bWVudCAucHJpY2V0YWdzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuYXNzb3J0bWVudCAucHJpY2V0YWdzIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAuYXNzb3J0bWVudCAuZGVzY3JpcHRpb24ge1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLmFzc29ydG1lbnQgLmltYWdlcnkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAuYXNzb3J0bWVudCAuaW1hZ2VyeSB7XG4gICAgICB3aWR0aDogMjUlOyB9IH1cbiAgLmFzc29ydG1lbnQgLmRlc2NyaXB0aW9uIGgzIHtcbiAgICBtYXJnaW46IDAgMCAxLjI1cmVtOyB9XG4gIC5hc3NvcnRtZW50IC5wcmljZXRhZ3Mge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLmFzc29ydG1lbnQgLnByaWNldGFncyBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAuYXNzb3J0bWVudCAucHJpY2V0YWdzIC5wcmljZSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmFzc29ydG1lbnQgLnByaWNldGFncyAuc2l6ZSB7XG4gICAgICBmb250LXNpemU6IDkwJTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtOyB9XG4gIC5hc3NvcnRtZW50IGltZyB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDhweCByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICAgIG1hcmdpbi1yaWdodDogNSU7IH1cbiAgLmFzc29ydG1lbnQgbGkuaXRlbTpudGgtb2YtdHlwZSgybikgaW1nIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9XG4gIC5hc3NvcnRtZW50IGxpLml0ZW06bnRoLW9mLXR5cGUoM24pIGltZyB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtMmRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTJkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMmRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMmRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTJkZWcpOyB9XG4gIC5hc3NvcnRtZW50IGxpLml0ZW06bnRoLW9mLXR5cGUoNW4pIGltZyxcbiAgLmFzc29ydG1lbnQgZGl2Lml0ZW06bnRoLW9mLXR5cGUoMm4pIGltZyB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTsgfVxuXG4ucHJpY2Uge1xuICBmb250LXNpemU6IDIuMTI1cmVtOyB9XG4gIC5wcmljZSAuYW1vdW50IHtcbiAgICBmb250LXNpemU6IDEuMjVlbTsgfVxuICAucHJpY2UgLmRlY2ltYWxzIHtcbiAgICBmb250LXNpemU6IC43NWVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDsgfVxuXG4ubm90aWZpY2F0aW9uLmRpc2NvdW50LnJvb2Q6YmVmb3JlLCAubm90aWZpY2F0aW9uLmRpc2NvdW50LnJvb2Q6YWZ0ZXIge1xuICBib3JkZXItcmlnaHQtY29sb3I6ICNhZTJkMjI7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjYWUyZDIyOyB9XG5cbi5ub3RpZmljYXRpb24uY2FsbG91dC5yb29kIDpiZWZvcmUge1xuICBjb2xvcjogI2FlMmQyMjsgfVxuXG4ubm90aWZpY2F0aW9uLmRpc2NvdW50Lm9yYW5qZTpiZWZvcmUsIC5ub3RpZmljYXRpb24uZGlzY291bnQub3JhbmplOmFmdGVyIHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZWQ3MTAyO1xuICBib3JkZXItbGVmdC1jb2xvcjogI2VkNzEwMjsgfVxuXG4ubm90aWZpY2F0aW9uLmNhbGxvdXQub3JhbmplIDpiZWZvcmUge1xuICBjb2xvcjogI2VkNzEwMjsgfVxuXG4ubm90aWZpY2F0aW9uLmRpc2NvdW50Lndhcm1nZWVsOmJlZm9yZSwgLm5vdGlmaWNhdGlvbi5kaXNjb3VudC53YXJtZ2VlbDphZnRlciB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2Y5YjAwMDtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNmOWIwMDA7IH1cblxuLm5vdGlmaWNhdGlvbi5jYWxsb3V0Lndhcm1nZWVsIDpiZWZvcmUge1xuICBjb2xvcjogI2Y5YjAwMDsgfVxuXG4ubm90aWZpY2F0aW9uLmRpc2NvdW50Lmdyb2VuOmJlZm9yZSwgLm5vdGlmaWNhdGlvbi5kaXNjb3VudC5ncm9lbjphZnRlciB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogIzY4OGQxYztcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICM2ODhkMWM7IH1cblxuLm5vdGlmaWNhdGlvbi5jYWxsb3V0Lmdyb2VuIDpiZWZvcmUge1xuICBjb2xvcjogIzY4OGQxYzsgfVxuXG4ubm90aWZpY2F0aW9uLmRpc2NvdW50LnJvemU6YmVmb3JlLCAubm90aWZpY2F0aW9uLmRpc2NvdW50LnJvemU6YWZ0ZXIge1xuICBib3JkZXItcmlnaHQtY29sb3I6ICNkYTFkNWM7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjZGExZDVjOyB9XG5cbi5ub3RpZmljYXRpb24uY2FsbG91dC5yb3plIDpiZWZvcmUge1xuICBjb2xvcjogI2RhMWQ1YzsgfVxuXG4ubm90aWZpY2F0aW9uLmRpc2NvdW50LnBhYXJzOmJlZm9yZSwgLm5vdGlmaWNhdGlvbi5kaXNjb3VudC5wYWFyczphZnRlciB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogIzlmMjA2MztcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICM5ZjIwNjM7IH1cblxuLm5vdGlmaWNhdGlvbi5jYWxsb3V0LnBhYXJzIDpiZWZvcmUge1xuICBjb2xvcjogIzlmMjA2MzsgfVxuXG4ubm90aWZpY2F0aW9uLmRpc2NvdW50LmJsYXV3OmJlZm9yZSwgLm5vdGlmaWNhdGlvbi5kaXNjb3VudC5ibGF1dzphZnRlciB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogIzI2NTdiYTtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICMyNjU3YmE7IH1cblxuLm5vdGlmaWNhdGlvbi5jYWxsb3V0LmJsYXV3IDpiZWZvcmUge1xuICBjb2xvcjogIzI2NTdiYTsgfVxuXG4uaW4tZGlzY291bnQgLnByaWNldGFncyB7XG4gIGNvbG9yOiAjZWQ3MTAyOyB9XG5cbi5kaXNjb3VudC5ub3RpZmljYXRpb24ge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAwO1xuICB6LWluZGV4OiAxNTtcbiAgaGVpZ2h0OiA1cmVtO1xuICBsaW5lLWhlaWdodDogNXJlbTtcbiAgYm94LXNoYWRvdzogMCAycHggM3B4IHJnYmEoMCwgMCwgMCwgMC43NSk7IH1cbiAgLmRpc2NvdW50Lm5vdGlmaWNhdGlvbi5tb2JpbGUtb25seSB7XG4gICAgdG9wOiAyLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTVyZW07IH1cbiAgLmRpc2NvdW50Lm5vdGlmaWNhdGlvbi5kZXNrdG9wLW9ubHkge1xuICAgIHRvcDogLTIuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtNXJlbTsgfVxuICAuZGlzY291bnQubm90aWZpY2F0aW9uLmxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGxlZnQ6IC01cmVtO1xuICAgIHBhZGRpbmc6IDAgMS4yNXJlbSAwIDIuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAuZGlzY291bnQubm90aWZpY2F0aW9uLmxlZnQge1xuICAgICAgICBsZWZ0OiAtMi41cmVtOyB9IH1cbiAgLmRpc2NvdW50Lm5vdGlmaWNhdGlvbi5yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHJpZ2h0OiAtNXJlbTtcbiAgICBwYWRkaW5nOiAwIDIuNXJlbSAwIDEuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgLmRpc2NvdW50Lm5vdGlmaWNhdGlvbi5yaWdodCB7XG4gICAgICAgIHJpZ2h0OiAtMS4yNXJlbTsgfSB9XG4gIC5kaXNjb3VudC5ub3RpZmljYXRpb24gLmRpc2NvdW50LXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTEwJTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi5pbi1kaXNjb3VudC5mcm9udHBhZ2UgaDIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE1O1xuICB0b3A6IC01cmVtO1xuICBoZWlnaHQ6IDVyZW07XG4gIGxpbmUtaGVpZ2h0OiA1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZDcxMDI7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNzUpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLmluLWRpc2NvdW50LmZyb250cGFnZSBoMiB7XG4gICAgICBmb250LXNpemU6IDExMCU7IH0gfVxuICAuaW4tZGlzY291bnQuZnJvbnRwYWdlIGgyLmxlZnQge1xuICAgIGxlZnQ6IC01LjVyZW07XG4gICAgcGFkZGluZzogMCAxLjI1cmVtIDAgMi41cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIC5pbi1kaXNjb3VudC5mcm9udHBhZ2UgaDIubGVmdCB7XG4gICAgICAgIGxlZnQ6IC0xLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgICAgLmluLWRpc2NvdW50LmZyb250cGFnZSBoMi5sZWZ0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtOyB9IH1cbiAgICAuaW4tZGlzY291bnQuZnJvbnRwYWdlIGgyLmxlZnQ6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNlZDcxMDI7IH1cbiAgLmluLWRpc2NvdW50LmZyb250cGFnZSBoMi5yaWdodCB7XG4gICAgcmlnaHQ6IC01LjVyZW07XG4gICAgcGFkZGluZzogMCAyLjVyZW0gMCAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIC5pbi1kaXNjb3VudC5mcm9udHBhZ2UgaDIucmlnaHQge1xuICAgICAgICByaWdodDogLTEuMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gICAgICAuaW4tZGlzY291bnQuZnJvbnRwYWdlIGgyLnJpZ2h0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgfSB9XG4gICAgLmluLWRpc2NvdW50LmZyb250cGFnZSBoMi5yaWdodDpiZWZvcmUge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZWQ3MTAyOyB9XG5cbi5jYWxsb3V0Lm5vdGlmaWNhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5jYWxsb3V0Lm5vdGlmaWNhdGlvbiB7XG4gICAgICByaWdodDogMzAlO1xuICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7XG4gICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5jYWxsb3V0Lm5vdGlmaWNhdGlvbiB7XG4gICAgICBsZWZ0OiAtNy41cmVtO1xuICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtMTVkZWcpO1xuICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTE1ZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMTVkZWcpO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTVkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE1ZGVnKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgLmNhbGxvdXQubm90aWZpY2F0aW9uIHtcbiAgICAgIGxlZnQ6IC0xMHJlbTsgfSB9XG4gIC5jYWxsb3V0Lm5vdGlmaWNhdGlvbiBzcGFuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEyLjVyZW07XG4gICAgaGVpZ2h0OiAxMi41cmVtOyB9XG4gIC5jYWxsb3V0Lm5vdGlmaWNhdGlvbiAuY2FrZS1pY29uLXNwb3Qge1xuICAgIHotaW5kZXg6IDU7IH1cbiAgICAuY2FsbG91dC5ub3RpZmljYXRpb24gLmNha2UtaWNvbi1zcG90OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0yLjVyZW07XG4gICAgICBsZWZ0OiAtMi41cmVtO1xuICAgICAgZm9udC1zaXplOiAxNy41cmVtO1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMnB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNzUpOyB9XG4gIC5jYWxsb3V0Lm5vdGlmaWNhdGlvbiAuY2FsbG91dC10ZXh0IHtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBwYWRkaW5nOiA0cmVtIDEuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi5jb3Jkb25ibGV1IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xLjVyZW07XG4gIHdpZHRoOiA5MHB4O1xuICBoZWlnaHQ6IDE0MnB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJpbWcvbWVkYWlsbGUtbGNiLnBuZ1wiKSBuby1yZXBlYXQgdG9wIGNlbnRlcjsgfVxuICAuY29yZG9uYmxldSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogOTBweDtcbiAgICBoZWlnaHQ6IDE0MnB4OyB9XG4gICAgLmNvcmRvbmJsZXUgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksIG9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMiAvIDEpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkge1xuICAvKiBSZXRpbmEtc3BlY2lmaWMgc3R1ZmYgaGVyZSAqL1xuICAuc2l0ZS10aXRsZSBhIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoaW1nL2xvZ290eXBlQDJ4LnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4MDBweCAxMDBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikgYW5kIChtYXgtd2lkdGg6IDc4NHB4KSwgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpIGFuZCAobWF4LXdpZHRoOiA3ODRweCksIG9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMiAvIDEpIGFuZCAobWF4LXdpZHRoOiA3ODRweCksIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMikgYW5kIChtYXgtd2lkdGg6IDc4NHB4KSwgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSBhbmQgKG1heC13aWR0aDogNzg0cHgpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgYW5kIChtYXgtd2lkdGg6IDc4NHB4KSB7XG4gICAgLnNpdGUtdGl0bGUgYSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoaW1nL2xvZ290eXBlLXNtYWxsQDJ4LnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDYwMHB4IDEwMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSBhbmQgKG1heC13aWR0aDogNjAwcHgpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMikgYW5kIChtYXgtd2lkdGg6IDYwMHB4KSwgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyIC8gMSkgYW5kIChtYXgtd2lkdGg6IDYwMHB4KSwgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSBhbmQgKG1heC13aWR0aDogNjAwcHgpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIGFuZCAobWF4LXdpZHRoOiA2MDBweCksIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAuc2l0ZS10aXRsZSBhIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChpbWcvbG9nb0AyeC5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA4MHB4IDgwcHg7IH0gfVxuIiwiLyogPVJlc2V0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG5kZWwsIGRmbiwgZW0sIGZvbnQsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcbmRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkIHtcblx0Ym9yZGVyOiAwO1xuXHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRmb250LXN0eWxlOiBpbmhlcml0O1xuXHRmb250LXdlaWdodDogaW5oZXJpdDtcblx0bWFyZ2luOiAwO1xuXHRvdXRsaW5lOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5odG1sIHtcblx0Zm9udC1zaXplOiA2Mi41JTsgLyogQ29ycmVjdHMgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRTYvNyB3aGVuIGJvZHkgZm9udC1zaXplIGlzIHNldCB1c2luZyBlbSB1bml0cyBodHRwOi8vY2xhZ251dC5jb20vYmxvZy8zNDgvI2M3OTAgKi9cblx0b3ZlcmZsb3cteTogc2Nyb2xsOyAvKiBLZWVwcyBwYWdlIGNlbnRyZWQgaW4gYWxsIGJyb3dzZXJzIHJlZ2FyZGxlc3Mgb2YgY29udGVudCBoZWlnaHQgKi9cblx0LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiBQcmV2ZW50cyBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbSAqL1xuXHQtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogd3d3LjQ1NmJlcmVhc3RyZWV0LmNvbS9hcmNoaXZlLzIwMTAxMi9jb250cm9sbGluZ190ZXh0X3NpemVfaW5fc2FmYXJpX2Zvcl9pb3Nfd2l0aG91dF9kaXNhYmxpbmdfdXNlcl96b29tLyAqL1xufVxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7IC8qIGFwcGx5IGEgbmF0dXJhbCBib3ggbGF5b3V0IG1vZGVsIHRvIGFsbCBlbGVtZW50czsgc2VlIGh0dHA6Ly93d3cucGF1bGlyaXNoLmNvbS8yMDEyL2JveC1zaXppbmctYm9yZGVyLWJveC1mdHcvICovXG5cdC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0LXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuYm9keSB7XG5cdGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG59XG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sXG5uYXYsXG5zZWN0aW9uIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5vbCwgdWwge1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxudGFibGUgeyAvKiB0YWJsZXMgc3RpbGwgbmVlZCAnY2VsbHNwYWNpbmc9XCIwXCInIGluIHRoZSBtYXJrdXAgKi9cblx0Ym9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcblx0Ym9yZGVyLXNwYWNpbmc6IDA7XG59XG5jYXB0aW9uLCB0aCwgdGQge1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSwgcTphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXCI7XG59XG5ibG9ja3F1b3RlLCBxIHtcblx0cXVvdGVzOiBcIlwiIFwiXCI7XG59XG5hOmZvY3VzIHtcblx0b3V0bGluZTogdGhpbiBkb3R0ZWQ7XG59XG5hOmhvdmVyLFxuYTphY3RpdmUge1xuXHRvdXRsaW5lOiAwO1xufVxuYSBpbWcge1xuXHRib3JkZXI6IDA7XG59XG4iLCIvLyBTb21lIGNvbW1vbiB2YXJpYWJsZXMgYW5kIG1peGlucyB0byBnZXQgeW91IHN0YXJ0ZWQuXG4vLyBWYXJpYWJsZXMgYWxsb3cgeW91IHRvIHJlLXVzZSBjb2xvcnMsIHNpemVzLCBhbmQgb3RoZXIgdmFsdWVzIHdpdGhvdXQgcmVwZWF0aW5nXG4vLyB5b3Vyc2VsZi4gVGhpcyBtZWFucyB0aGF0IGNoYW5nZXMgdGhhdCBzaG91bGQgYmUgc21hbGwsIHN1Y2ggYXMgdHdlYWtpbmcgdGhlXG4vLyBjb2xvcmluZyBvciB0aGUgc2l6aW5nLCBjYW4gYmUgZG9uZSBpbiBvbmUgcGxhY2UsIG5vdCBhbGwgb3ZlciB0aGUgc3R5bGVzaGVldC5cblxuXG4vLyBUeXBvZ3JhcGh5XG5AaW1wb3J0ICdmb250ZmFjZSc7XG5cbiRiYXNlLWZvbnQ6IEdlb3JnaWEsIHNlcmlmO1xuJGhlYWRlci1mb250OiAkYmFzZS1mb250O1xuJGJyYW5kLWZvbnQ6ICdqZWhyZyc7XG4kaWNvbi1mb250OiAnY2FrZSc7XG4kYmFzZS1mb250LXNpemU6IDEuN3JlbTtcbiRoZWFkZXItZm9udC1zaXplOiAyLjVyZW07XG4kYnJhbmQtZm9udC1zaXplOiAxMnJlbTtcbiRyZXNwb25zaXZlLWJyYW5kLWZvbnQtc2l6ZTogMzB2dztcbiRzbWFsbC1mb250LXNpemU6IDkwJTtcbiRiaWctZm9udC1zaXplOiAxMTAlO1xuXG4vLyBDb2xvcnNcbiRncmF5LWRhcms6ICMyMDIwMjA7XG4kYnJhbmQtYnJvd246ICM0YjNiMmM7XG4kYnJhbmQtc2FuZDogI2I0YWFhMjtcbiRicmFuZC1ibHVlOiAjMjY1N2JhO1xuJGJsdWU6IHJnYig1OCwxMzUsMTczKTtcbiRyZWQ6IHJnYigxNzQsNDUsMzQpO1xuJG9yYW5nZTogcmdiKDIzNywxMTMsMik7XG4keWVsbG93OiByZ2IoMjQ5LDE3NiwwKTtcbiRncmVlbjogcmdiKDEwNCwxNDEsMjgpOyAvL3JnYigxMzYsMTgzLDM3KTtcbiRwaW5rOiByZ2IoMjE4LDI5LDkyKTtcbiRwdXJwbGU6IHJnYigxNTksMzIsOTkpO1xuXG4vLyBVdGlsaXR5IENvbG9yc1xuJG5vdGljZTogJGJsdWU7XG4kc3VjY2VzczogJGdyZWVuO1xuJGVycm9yOiAkcmVkO1xuXG4vLyBTY2FmZm9sZFxuJGJvZHktYmFja2dyb3VuZDogJGJyYW5kLXNhbmQ7XG4kdGV4dC1jb2xvcjogJGdyYXktZGFyaztcbiR0ZXh0LWNvbG9yLWFsdDogcmdiYSgyNTUsMjU1LDI1NSwuODUpO1xuJGxpbmstY29sb3I6ICRicmFuZC1ibHVlO1xuLy8kbGluay12aXNpdGVkOiByb3lhbGJsdWU7XG5cbiRiYXNlLXJhZGl1czogM3B4O1xuJGl0ZW0tcmFkaXVzOiA1cHg7XG5cbi8vIExheW91dFxuJHNwYWNpbmc6IDIuNXJlbTtcbi8vIHN1cHBvcnRlZCB2YWx1ZXMgZm9yICRsYXlvdXQ6XG4vLyAgbnVsbCB8IGNvbnRlbnQtc2lkZWJhciB8IHNpZGViYXItY29udGVudFxuJGxheW91dDogbnVsbCAhZGVmYXVsdDsiLCIlY2xlYXJmaXgge1xuXHQmOmJlZm9yZSwgJjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0fVxuXHQmOmFmdGVyIHtcblx0XHRjbGVhcjogYm90aDtcblx0fVxufVxuXG5AbWl4aW4gaG92ZXJBY3RpdmVGb2N1cygkcHJvcGVydHksICR2YWx1ZSkge1xuXHQmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG5cdFx0I3skcHJvcGVydHl9OiAkdmFsdWU7XG5cdH1cbn1cblxuQG1peGluIGlucHV0UGxhY2Vob2xkZXIoJHByb3BlcnR5LCAkdmFsdWUpIHtcblx0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyXG5cdC8vOi1tb3otcGxhY2Vob2xkZXIsIC8vIEZpcmVGb3ggMTgtXG5cdC8vOjotbW96LXBsYWNlaG9sZGVyLCAvLyBGaXJlRm94IDE5K1xuXHQvLzotbXMtaW5wdXQtcGxhY2Vob2xkZXIgXG5cdHtcblx0XHQjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcblx0fVxufVxuXG4vLyBUcmFuc2Zvcm1zXG5cbi8vIGdlbmVyaWMgdHJhbnNmb3JtXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG4vLyByb3RhdGVcbkBtaXhpbiByb3RhdGUgKCRkZWcpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKCN7JGRlZ31kZWcpKTtcbn1cbiBcbi8vIHNjYWxlXG5AbWl4aW4gc2NhbGUoJHNjYWxlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKCRzY2FsZSkpO1xufSBcbi8vIHRyYW5zbGF0ZVxuQG1peGluIHRyYW5zbGF0ZSAoJHgsICR5KSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgkeCwgJHkpKTtcbn1cbi8vIHNrZXdcbkBtaXhpbiBza2V3ICgkeCwgJHkpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2tldygjeyR4fWRlZywgI3skeX1kZWcpKTtcbn1cbi8vdHJhbnNmb3JtIG9yaWdpblxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4gKCRvcmlnaW4pIHtcbiAgICBtb3otdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xufSIsIi8qID1QbGFjZWhvbGRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG4lYXJyb3dsZXNzIHtcbiAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG59IiwiLyogPUdsb2JhbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogQWxpZ25tZW50ICovXG4uYWxpZ25sZWZ0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZztcbn1cbi5hbGlnbnJpZ2h0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZztcbn1cbi5hbGlnbmNlbnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8qIFRleHQgbWVhbnQgb25seSBmb3Igc2NyZWVuIHJlYWRlcnMgKi9cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICAgIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTsgLyogSUU2LCBJRTcgKi9cbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6aG92ZXIsXG4uc2NyZWVuLXJlYWRlci10ZXh0OmFjdGl2ZSxcbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMyMTc1OWI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdG9wOiA1cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgei1pbmRleDogMTAwMDAwOyAvKiBBYm92ZSBXUCB0b29sYmFyICovXG59XG5cbi8qIENsZWFyaW5nICovXG4uY2xlYXIsXG4uZW50cnktY29udGVudCxcbi5jb21tZW50LWNvbnRlbnQsXG4uc2l0ZS1oZWFkZXIsXG4uc2l0ZS1jb250ZW50LFxuLnNpdGUtZm9vdGVyIHtcbiAgICBAZXh0ZW5kICVjbGVhcmZpeDtcbn1cblxuLyogVmlzaWJpbGl0eSBDbGFzc2VzICovXG5cbi8vIG1lZGl1bSsgc2NyZWVuIHNpemVzXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5tb2JpbGUtb25seSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5kZXNrdG9wLW9ubHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG4gXG4vLyBzbWFsbCBzY3JlZW4gc2l6ZXNcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLm1vYmlsZS1vbmx5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuIFxuICAgIC5kZXNrdG9wLW9ubHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIi8qID1UeXBvZ3JhcGh5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cblxuLy8qICFCYXNlICovXG5ib2R5LFxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250O1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkc3BhY2luZztcbn1cbi5zaXRlLWNvbnRlbnQge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvci1hbHQ7XG59XG4ud2lkZ2V0LWFyZWEge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbn1cblxuXG4vLyogIUhlYWRpbmdzICovXG5oMTpub3QoW2NsYXNzPSdtZW51LXRvZ2dsZSddKSwgLy8gVGhlIG1lbnUtdG9nZ2xlIGlzbid0IGEgcHJvcGVyIGhlYWRpbmcgc28gd2UgZXhjbHVkZSBpdCBoZXJlXG5oMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQ7XG4gICAgZm9udC1zaXplOiAkaGVhZGVyLWZvbnQtc2l6ZTtcbiAgICBjbGVhcjogYm90aDtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBmb250LXNpemU6ICRoZWFkZXItZm9udC1zaXplICogLjg1O1xuICAgIH1cbn1cbi8vIENyZWF0ZSBzb21lIHdoaXRlc3BhY2UgaW4gdGhlIGNvbnRlbnRcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIC5jb250ZW50LWFyZWEgJiB7XG4gICAgXHRtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICB9XG59XG4vLyBIZWFkaW5ncyBpbiB0aGUgYnJhbmRlZCBmb250XG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAmLmJyYW5kZWQge1xuICAgICAgICBmb250LWZhbWlseTogJGJyYW5kLWZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJyYW5kLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzcGFjaW5nICogMztcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJyYW5kLWZvbnQtc2l6ZSAqIC44NTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmgxIHtcbiAgICAuY29udGVudC1hcmVhICYge1xuICAgICAgICBmb250LWZhbWlseTogJGJyYW5kLWZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJyYW5kLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzcGFjaW5nICogMztcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkYnJhbmQtZm9udC1zaXplICogLjg1O1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIFRoZSBlbnRyeS10aXRsZXMgb2YgUGFnZXMgYW5kIG9mIHRoZSBNYWluIEJsb2cgUGFnZSAodXNlZCBvbiBcIm1pam4gQmxvZ1wiKVxuICAgIC5wYWdlIC5jb250ZW50LWFyZWEgJixcbiAgICAuYmxvZyAuY29udGVudC1hcmVhICYge1xuICAgICAgICAmLmVudHJ5LXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJyYW5kLWZvbnQtc2l6ZSAqIDI7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJyYW5kLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBUaGUgZW50cnktdGl0bGUgb2YgdGhlIE1haW4gQmxvZyBQYWdlLCB1bmNvbW1lbnQgd2hlbiBcIk1hcmlza2EncyBCbG9nXCIgaXMgdXNlZFxuICAgIC5ibG9nIC5jb250ZW50LWFyZWEgJiB7XG4gICAgICAgICYuZW50cnktdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkYnJhbmQtZm9udC1zaXplICogMS43O1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRicmFuZC1mb250LXNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gVGhlIGVudHJ5LXRpdGxlcyBvZiB0aGUgQXJjaGl2ZSBQYWdlc1xuICAgIC5hcmNoaXZlIC5jb250ZW50LWFyZWEgJiB7XG4gICAgICAgICYucGFnZS10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRicmFuZC1mb250LXNpemUgKiAxLjc7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJyYW5kLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gICAgICAgXG4gICAgLy8gVGhlIGVudHJ5LXRpdGxlcyBvZiB0aGUgU3ViIFBhZ2VzXG4gICAgLnBhZ2UtY2hpbGQgLnNpdGUtY29udGVudCAuYXNzb3J0bWVudCAmIHtcbiAgICAgICAgJi5lbnRyeS10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRicmFuZC1mb250LXNpemUgKiAxLjU7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJlc3BvbnNpdmUtYnJhbmQtZm9udC1zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIFRoZSBlbnRyeS10aXRsZXMgb2YgdGhlIEFzc29ydG1lbnQgUGFnZXNcbiAgICAucGFnZSAuc2l0ZS1jb250ZW50IC5hc3NvcnRtZW50ICYge1xuICAgICAgICAmLmVudHJ5LXRpdGxlIHtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYnJhbmQtZm9udC1zaXplICogMS4yNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gVGhlIGVudHJ5LXRpdGxlcyBvZiB0aGUgQXNzb3J0bWVudCBTdWIgUGFnZSBcIk92ZXJpZyBBc3NvcnRpbWVudFwiXG4gICAgLnBhZ2UgLnNpdGUtY29udGVudCAuYXNzb3J0bWVudCAub3ZlcmlnLWFzc29ydGltZW50ICYge1xuICAgICAgICAmLmVudHJ5LXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJyYW5kLWZvbnQtc2l6ZSAqIDEuMjU7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIFdoZW4gd2UgbGlrZSBicmFuZGVkIGZvbnRzIGluIHdpZGdldHMgYXMgd2VsbDogdW5jb21tZW50IHRoaXMgc2VjdGlvblxuICAgIC8vLmJsb2cgLndpZGdldC1hcmVhICYge1xuICAgIC8vICAgZm9udC1mYW1pbHk6ICRicmFuZC1mb250O1xuICAgIC8vICAgbWFyZ2luOiAkc3BhY2luZyAwICRzcGFjaW5nICogLjU7XG4gICAgLy8gICAmLndpZGdldC10aXRsZSB7XG4gICAgLy8gICAgICAgIGZvbnQtc2l6ZTogJGJyYW5kLWZvbnQtc2l6ZSAqIC43NTtcbiAgICAvLyAgIH1cbiAgICAvL31cbn1cblxuaHIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWRhcms7XG4gICAgYm9yZGVyOiAwO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xufVxuXG5cbi8vKiAhVGV4dCBlbGVtZW50cyAqL1xucCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG59XG51bCwgb2wge1xuICAgIG1hcmdpbjogMDtcbn1cbnVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxub2wge1xuICAgIGxpc3Qtc3R5bGU6IGRlY2ltYWw7XG59XG4uY29udGVudC1hcmVhIHtcbiAgICB1bCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIH1cbn1cbi5jb250ZW50LWFyZWEgYXJ0aWNsZSB7XG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nICogLjU7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgfVxufVxubGkgPiB1bCxcbmxpID4gb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nO1xufVxuZHQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiBsaWdodGVuKCRsaW5rLWNvbG9yLCAyNSUpO1xufVxuZGQge1xuICAgIG1hcmdpbjogMCAkc3BhY2luZyAkc3BhY2luZztcbn1cbmIsIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNvbG9yOiAkYnJhbmQtc2FuZDtcbn1cbmRmbiwgY2l0ZSwgZW0sIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbmJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAkc3BhY2luZztcbn1cbmFkZHJlc3Mge1xuICAgIG1hcmdpbjogMCAwICRzcGFjaW5nO1xufVxucHJlIHtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheS1kYXJrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkNvdXJpZXIgMTAgUGl0Y2hcIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIHBhZGRpbmc6ICRzcGFjaW5nO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cbmNvZGUsIGtiZCwgdHQsIHZhciB7XG4gICAgZm9udC1mYW1pbHk6IE1vbmFjbywgQ29uc29sYXMsIFwiQW5kYWxlIE1vbm9cIiwgXCJEZWphVnUgU2FucyBNb25vXCIsIG1vbm9zcGFjZTtcbn1cbmFiYnIsIGFjcm9ueW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzY2NjtcbiAgICBjdXJzb3I6IGhlbHA7XG59XG5tYXJrLCBpbnMge1xuICAgIGNvbG9yOiAkYnJhbmQtc2FuZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5zdXAsXG5zdWIge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGhlaWdodDogMDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuc3VwIHtcbiAgICBib3R0b206IDFleDtcbn1cbnN1YiB7XG4gICAgdG9wOiAuNWV4O1xufVxuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbn1cbmJpZyB7XG4gICAgZm9udC1zaXplOiAkYmlnLWZvbnQtc2l6ZTtcbn1cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xufVxudGFibGUge1xuICAgIG1hcmdpbjogMCAwICRzcGFjaW5nO1xuICAgIHdpZHRoOiAxMDAlO1xufVxudGgge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAkYnJhbmQtc2FuZDtcbn1cbi5yZXF1aXJlZCB7XG4gICAgY29sb3I6ICRvcmFuZ2U7XG59XG4qW2NsYXNzKj0nZW50cnktbWV0YSddLFxuKltjbGFzcyo9J21ldGFkYXRhJ10ge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbn1cblxuXG4vLyogIUxpbmtzICovXG5hIHtcbiAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgQGluY2x1ZGUgaG92ZXJBY3RpdmVGb2N1cyhjb2xvciwgJGxpbmstY29sb3IpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAuc2l0ZS1jb250ZW50ICYge1xuICAgICAgICBjb2xvcjogJGJyYW5kLXNhbmQ7XG4gICAgICAgIEBpbmNsdWRlIGhvdmVyQWN0aXZlRm9jdXMoY29sb3IsIHdoaXRlKTtcdFx0XG4gICAgICAgIEBpbmNsdWRlIGhvdmVyQWN0aXZlRm9jdXMoYmFja2dyb3VuZC1jb2xvciwgJGJyYW5kLWJsdWUpO1x0XHRcbiAgICB9XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5lbnRyeS10aXRsZSBhIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxufVxuYVtjbGFzcyo9J2VkaXQtbGluayddIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59IiwiLyogPUZvcm1zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cblxuLy8qICFCYXNlICovXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcblx0Zm9udC1zaXplOiAxMDAlOyAvKiBDb3JyZWN0cyBmb250IHNpemUgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMgKi9cblx0bWFyZ2luOiAwOyAvKiBBZGRyZXNzZXMgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUU2LzcsIEYzLzQsIFM1LCBDaHJvbWUgKi9cblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiBJbXByb3ZlcyBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSBpbiBhbGwgYnJvd3NlcnMgKi9cblx0KnZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIEltcHJvdmVzIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2VycyAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkYnJhbmQtc2FuZCwgLjc1KTtcbn1cblxuYnV0dG9uLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuXHRib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtc2FuZDtcblx0Ym9yZGVyLWNvbG9yOiAkYnJhbmQtc2FuZCAkYnJhbmQtc2FuZCBkYXJrZW4oJGJyYW5kLXNhbmQsIDIwJSkgJGJyYW5kLXNhbmQ7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0YmFja2dyb3VuZDogJGJyYW5kLXNhbmQ7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpLCBpbnNldCAwIDE1cHggMTdweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSksIGluc2V0IDAgLTVweCAxMnB4IHJnYmEoMCwwLDAsMC4wNSk7XG5cdGNvbG9yOiByZ2JhKDAsMCwwLC44KTtcblx0Y3Vyc29yOiBwb2ludGVyOyAvKiBJbXByb3ZlcyB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGUgJ2lucHV0JyBhbmQgb3RoZXJzICovXG5cdC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiBDb3JyZWN0cyBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlICdpbnB1dCcgdHlwZXMgaW4gaU9TICovXG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRwYWRkaW5nOiAuNWVtIDFlbTtcblx0dGV4dC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuOCk7XG59XG5cbmJ1dHRvbjpob3ZlcixcbmlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsXG5pbnB1dFt0eXBlPVwicmVzZXRcIl06aG92ZXIsXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiAkYnJhbmQtc2FuZCAkYnJhbmQtc2FuZCBkYXJrZW4oJGJyYW5kLXNhbmQsIDIwJSkgJGJyYW5kLXNhbmQ7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpLCBpbnNldCAwIDE1cHggMTdweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCksIGluc2V0IDAgLTVweCAxMnB4IHJnYmEoMCwwLDAsMC4wMik7XG59XG5cbmJ1dHRvbjpmb2N1cyxcbmlucHV0W3R5cGU9XCJidXR0b25cIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwicmVzZXRcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLFxuYnV0dG9uOmFjdGl2ZSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl06YWN0aXZlLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdOmFjdGl2ZSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl06YWN0aXZlIHtcblx0Ym9yZGVyLWNvbG9yOiAkYnJhbmQtc2FuZCAkYnJhbmQtc2FuZCBkYXJrZW4oJGJyYW5kLXNhbmQsIDIwJSkgJGJyYW5kLXNhbmQ7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSwgaW5zZXQgMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG5cdHBhZGRpbmc6IDA7IC8qIEFkZHJlc3NlcyBleGNlc3MgcGFkZGluZyBpbiBJRTgvOSAqL1xufVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIEFkZHJlc3NlcyBhcHBlYXJhbmNlIHNldCB0byBzZWFyY2hmaWVsZCBpbiBTNSwgQ2hyb21lICovXG5cdC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIEFkZHJlc3NlcyBib3ggc2l6aW5nIHNldCB0byBib3JkZXItYm94IGluIFM1LCBDaHJvbWUgKGluY2x1ZGUgLW1veiB0byBmdXR1cmUtcHJvb2YpICovXG5cdC1tb3otYm94LXNpemluZzogXHRjb250ZW50LWJveDtcblx0Ym94LXNpemluZzogXHRcdGNvbnRlbnQtYm94O1xufVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7IC8qIENvcnJlY3RzIGlubmVyIHBhZGRpbmcgZGlzcGxheWVkIG9kZGx5IGluIFM1LCBDaHJvbWUgb24gT1NYICovXG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIgeyAvKiBDb3JyZWN0cyBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgZGlzcGxheWVkIG9kZGx5IGluIEZGMy80IHd3dy5zaXRlcGVuLmNvbS9ibG9nLzIwMDgvMDUvMTQvdGhlLWRldmlscy1pbi10aGUtZGV0YWlscy1maXhpbmctZG9qb3MtdG9vbGJhci1idXR0b25zLyAqL1xuXHRib3JkZXI6IDA7XG5cdHBhZGRpbmc6IDA7XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxudGV4dGFyZWEge1xuXHRwYWRkaW5nOiAuMjVlbSAuNWVtO1xuXHRjb2xvcjogbGlnaHRlbigkYnJhbmQtc2FuZCwgMjAlKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnRpemUoJGJyYW5kLXNhbmQsIC41KTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRib3gtc2hhZG93OiBpbnNldCAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC40NSk7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gY29ycmVjdCBpT1MgcmVuZGVyIGlzc3VlIHdpdGggYm94LXNoYWRvdyBpbnNldFxuXHQmOmZvY3VzIHtcblx0XHRjb2xvcjogd2hpdGU7XG5cdH1cbn1cbnRleHRhcmVhIHtcblx0b3ZlcmZsb3c6IGF1dG87IC8qIFJlbW92ZXMgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUU2LzcvOC85ICovXG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7IC8qIEltcHJvdmVzIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzICovXG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiAuNWVtO1xufVxuXG4vLyogIU9uIG1vYmlsZSBkZXZpY2VzICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bm90KFtjbGFzcyo9XCJhcnJvd1wiXSksXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4gICAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgICB0ZXh0YXJlYSB7XG5cdCAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IC8vIG92ZXJyaWRlIHRoZSBpbmxpbmUgd2lkdGggc28gaXQgZG9lc24ndCBicmVhayBvbiBtb2JpbGUgZGV2aWNlc1xuXHR9XG59XG5cbi8vKiAhUGxhY2Vob2xkZXIgY29sb3Igc3R5bGluZyAqL1xuQGluY2x1ZGUgaW5wdXRQbGFjZWhvbGRlcihjb2xvciwgJGJyYW5kLXNhbmQpO1xuXG5cbi8vKiAhUm91bmQgYnV0dG9uIHN0eWxpbmcgKi9cbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYXJyb3csXG4uc2VhcmNoLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLy8gcG9zaXRpb25cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IC0uNWVtO1xuICAgIC8vIHRoZSByb3VuZCBidXR0b25cbiAgICBoZWlnaHQ6IDVyZW07XG4gICAgd2lkdGg6IDVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMi41cmVtO1xuICAgIC8vIHRoZSB0eXBlXG4gICAgcGFkZGluZzogMCAwLjJlbTtcbiAgICBmb250LWZhbWlseTogR2VvcmdpYSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6ICRoZWFkZXItZm9udC1zaXplICogMS41O1xufVxuXG5cbi8vKiAhU2VhcmNoZm9ybSBzdHlsaW5nICovXG4uc2VhcmNoLWZvcm0ge1xuXHQud3JhcHBlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR9XG5cdGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuXHRcdG1hcmdpbjogJHNwYWNpbmcgKiAuMjUgMDtcblx0XHRjb2xvcjogbWl4KHdoaXRlLCAkYnJhbmQtYmx1ZSwgODUlKTtcblx0XHRjb2xvcjogJGJyYW5kLXNhbmQ7XG5cdFx0Y29sb3I6IGxpZ2h0ZW4oJGxpbmstY29sb3IsIDQwJSk7XG5cdH1cbn1cblxuLy8gcG9zaXRpb25pbmcgdGhlIHNlYXJjaGZvcm0sIGRlcGVuZGluZyBvbiB0aGUgcGxhY2UgdXNlZCBvbiB0aGUgc2l0ZVxuLmFzc29ydG1lbnQgLnNlYXJjaC1mb3JtIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nO1xufVxuLm5vLXJlc3VsdHMgLnNlYXJjaC1mb3JtIHtcbiAgICBpbnB1dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuXG4vLyogIU1haWxDaGltcCA0IFdvcmRQcmVzcyAqL1xuLm1haWxjaGltcC1zaWdudXAge1xuICBoMiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5tYzR3cC1mb3JtIHtcbiAgICBtYXJnaW46ICRzcGFjaW5nICogLjUgMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICAuaG9tZSAmIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfSAgICBcbiAgICAgICAgaDIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZm9ybSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZyAqIC4yNVxuICAgIH1cbiAgICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICBpbnB1dFt0eXBlPVwidXJsXCJdLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZyAqIC41O1xuICAgIH1cbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tYzR3cC1hbGVydCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogJHNwYWNpbmcgMDtcbiAgICBwYWRkaW5nOiAkc3BhY2luZyAqIC41O1xuICAgIGNvbG9yOiAkbm90aWNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCh3aGl0ZSwkYmx1ZSw3NSUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRub3RpY2U7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4ubWM0d3Atc3VjY2VzcyB7XG4gICAgY29sb3I6ICRzdWNjZXNzO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCh3aGl0ZSwkc3VjY2Vzcyw3NSUpO1xuICAgIGJvcmRlci1jb2xvcjogJHN1Y2Nlc3M7XG59XG5cbi5tYzR3cC1lcnJvciB7XG4gICAgY29sb3I6ICRlcnJvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgod2hpdGUsJGVycm9yLDc1JSk7XG4gICAgYm9yZGVyLWNvbG9yOiAkZXJyb3I7XG59XG5cblxuLy8qICFTY3JvbGwgVHJpZ2dlcmVkIEJveCB3aXRoIE1haWxDaGltcCA0IFdvcmRQcmVzcyAqL1xuLy8gT3ZlcnJpZGVzIHZpYSAhaW1wb3J0YW50XG4uc3RiIHtcbiAgICBtYXgtd2lkdGg6IDU0MHB4O1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIG1heC13aWR0aDogOTAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHBhZGRpbmc6ICRzcGFjaW5nO1xuICAgIGJvcmRlcjogLjg1cmVtIHNvbGlkIHRyYW5zcGFyZW50aXplKCRicmFuZC1ibHVlLC44NSkgIWltcG9ydGFudDs7XG4gICAgYmFja2dyb3VuZDogdXJsKCdpbWcvc2Nob29sYm9yZC5qcGcnKSByZXBlYXQteSBjZW50ZXIgLTEyMDNweCAhaW1wb3J0YW50OztcbiAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtc2FuZCB1cmwoJ2ltZy9iZWhhbmcucG5nJykgcmVwZWF0LXkgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50OztcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLDAsMCwuODUpICFpbXBvcnRhbnQ7XG4gICAgXG4gICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZyAqIC41ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nICogLjI1ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLWJsdWU7XG4gICAgfVxuICAgIFxuICAgIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDEyMHB4O1xuICAgICAgICBAaW5jbHVkZSByb3RhdGUoOCk7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nICogLjU7XG4gICAgICAgIGNvbG9yOiAkZ3JheS1kYXJrICFpbXBvcnRhbnQ7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBAaW5jbHVkZSBpbnB1dFBsYWNlaG9sZGVyKGNvbG9yLCAkYnJhbmQtYnJvd24pO1xuICAgIFxuICAgIC5tYzR3cC1mb3JtIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgLmhvbWUgJiB7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG59XG4vLyBUaGUgY2xvc2UgYnV0dG9uXG4uc3RiLWNsb3NlIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLy8gUG9zaXRpb24gb3ZlcnJpZGVzXG4uc3RiLXRvcC1jZW50ZXItY29udGFpbmVyIHtcbiAgICB0b3A6IDgwcHggIWltcG9ydGFudDtcbn1cblxuXG4vLyogIVBvcC1VcCBQcm8gd2l0aCBNYWlsQ2hpbXAgNCBXb3JkUHJlc3MgKi9cbi8vIE92ZXJyaWRlcyB2aWEgIWltcG9ydGFudFxuLy8gVE9ETzogY3VzdG9tIHN0eWxlc2hlZXQgd2hpY2ggaXMgc2VsZWN0ZWQgaW4gdGhlIGJhY2tlbmQgaW5zdGVhZCBvZiBvdmVycmlkaW5nIGEgZGVmYXVsdFxuLndkcHUtY29udGFpbmVyIHtcbiAgICAvLyBCYXNlXG4gICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBcbiAgICAud2RwdS1tc2cge1xuICAgICAgICBtYXgtd2lkdGg6IDU0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogJHNwYWNpbmcgKiAuNSBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLDAsMCwuODUpICFpbXBvcnRhbnQ7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDkwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYsIC53ZHB1LW1zZy1pbm5lciwgLndkcHUtaW1hZ2Uge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICBhLndkcHUtY2xvc2Uge1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAkZ3JheS1kYXJrICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLy8gU3BlY2lmaWNzXG4gICAgLndkcHUtbXNnLWlubmVyIHtcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmcgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAuODVyZW0gc29saWQgdHJhbnNwYXJlbnRpemUoJGJyYW5kLWJsdWUsLjg1KSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2ltZy9zY2hvb2xib3JkLmpwZycpIHJlcGVhdC15IGNlbnRlciAtMTIwM3B4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRicmFuZC1zYW5kIHVybCgnaW1nL2JlaGFuZy5wbmcnKSByZXBlYXQteSBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZyAkc3BhY2luZyAqIC41ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLndkcHUtaGVhZCwgLndkcHUtbWlkZGxlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAud2RwdS1oZWFkIHtcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmcgKiAuMjUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLndkcHUtdGl0bGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nICogLjI1ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRlci1mb250LXNpemUgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtYmx1ZTtcbiAgICB9XG4gICAgXG4gICAgLndkcHUtdGV4dCB7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAmLmJ1dHRvbnMgLndkcHUtaW5uZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZyAqIDIgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLndkcHUtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nICogLjI1ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIEBpbmNsdWRlIGlucHV0UGxhY2Vob2xkZXIoY29sb3IsICRicmFuZC1icm93bik7XG5cbiAgICAud2RwdS1tc2cgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgLndkcHUtbXNnIGlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XG4gICAgICAgIGNvbG9yOiAkZ3JheS1kYXJrO1xuICAgIH1cbiAgICBcbiAgICAud2RwdS1pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgICYuYnV0dG9ucyAud2RwdS1pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLndkcHUtaW1hZ2UgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIEBpbmNsdWRlIHJvdGF0ZSg4KTtcbiAgICB9XG4gICAgICAgIFxuICAgIC53ZHB1LWltYWdlLCAud2RwdS1pbWFnZSBpbWcge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC53ZHB1LWJ1dHRvbnMge1xuICAgICAgICBoZWlnaHQ6ICRzcGFjaW5nICogMiAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogJHNwYWNpbmcgKiAyICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgJHNwYWNpbmcgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIGEge1xuICAgICAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkZ3JheS1kYXJrICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuaG9tZSAmIC5tYzR3cC1mb3JtIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG59XG5cblxuLy8qICFDb250YWN0IEZvcm0gNyAqL1xuLy8gU29tZSBzdHlsaW5nIG92ZXJyaWRlcyB0byBDRjcncyBkZWZhdWx0c1xuLndwY2Y3IC5zY3JlZW4tcmVhZGVyLXJlc3BvbnNlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5kaXYud3BjZjctcmVzcG9uc2Utb3V0cHV0LFxuc3Bhbi53cGNmNy1ub3QtdmFsaWQtdGlwIHtcbiAgICBwYWRkaW5nOiAkc3BhY2luZyAqIC4yNSAkc3BhY2luZyAqIC41O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbmRpdi53cGNmNy12YWxpZGF0aW9uLWVycm9ycyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFyb29uO1xufVxuXG5kaXYud3BjZjctbWFpbC1zZW50LW9rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBvbGl2ZTtcbn1cblxuc3Bhbi53cGNmNy1ub3QtdmFsaWQtdGlwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXJvb247XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB3aWR0aDogOTglO1xuICAgIH1cbn1cblxuaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdKVtjbGFzcyo9XCJ3cGNmN1wiXSB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIHdpZHRoOiA5OCUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbmlucHV0W2NsYXNzKj1cIndwY2Y3LW5vdC12YWxpZFwiXSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXJvb247XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUobWFyb29uLCAuNzUpO1xuICAgIEBpbmNsdWRlIGlucHV0UGxhY2Vob2xkZXIoY29sb3IsIG1peCh3aGl0ZSxtYXJvb24sNTAlKSk7XG59IiwiLyogPVRhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG5cbi8vKiAhQmFzZSAqL1xuXG5cblxuLy8qICFUYWJsZVByZXNzICovXG4udGFibGVwcmVzcy10YWJsZS1kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nICogLjU7XG59XG5cbi50YWJsZXByZXNzIHtcbiAgICBcbiAgICB0aGVhZCB0aCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudGl6ZSgkYnJhbmQtc2FuZCwuMjUpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC5vZGQgdGQge1xuICAgICAgICBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgdHJhbnNwYXJlbnRpemUoJGJyYW5kLXNhbmQsLjI1KSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuZXZlbiB0ZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCB0cmFuc3BhcmVudGl6ZSgkYnJhbmQtc2FuZCwuMjUpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRicmFuZC1zYW5kLC44NSkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLm9kZCB0ZCwgLmV2ZW4gdGQsIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAucm93LWhvdmVyIHRyOmhvdmVyIHRkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJGJyYW5kLWJsdWUsLjUpICFpbXBvcnRhbnQ7XG4gICAgfVxufSIsIi8vKiAhTGF5b3V0OiBCYXNlICovXG4uc2l0ZSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA3ODRweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNpdGUtY29udGVudCB7XG4gICAgbWFyZ2luOiAwIDAgJHNwYWNpbmc7XG4gICAgcGFkZGluZzogJHNwYWNpbmcgJHNwYWNpbmcgKiAyO1xuICAgIC8vIGNyZWF0ZSBhIGNhbnZhcyBmb3IgYWJzb2x1dGUgcG9zaXRpb25pbmcgY2hpbGQgZWxlbWVudHNcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYXJ0aWNsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBhcnRpY2xlIC5lbnRyeS1oZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuXG4uc2l0ZS1mb290ZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAkc3BhY2luZztcbiAgICAvLyBjcmVhdGUgYSBjYW52YXMgZm9yIGFic29sdXRlIHBvc2l0aW9uaW5nIGNoaWxkIGVsZW1lbnRzXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5mb290ZXItYXNpZGUge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAwIDAgJHNwYWNpbmc7XG4gICAgfVxuICAgIC5zaXRlLWluZm8ge1xuICAgICAgICBjbGVhcjogbGVmdDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLnNpdGUtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nICogLjU7XG4gICAgfVxuICAgIC5zaXRlLWZvb3RlciB7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nO1xuICAgICAgICAuZm9vdGVyLWFzaWRlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyogISBMYXlvdXQ6IENvbnRlbnQtU2lkZWJhciAqL1xuQGlmICRsYXlvdXQgPT0gY29udGVudC1zaWRlYmFyIHtcbiAgICAuY29udGVudC1hcmVhIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMCAtMjUlIDAgMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5zaXRlLW1haW4ge1xuICAgICAgICBtYXJnaW46IDAgMjUlIDAgMDtcbiAgICB9XG4gICAgLnNpdGUtY29udGVudCAud2lkZ2V0LWFyZWEgeyAvKiBTaWRlYmFyIDEgKi9cbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgIH1cbn1cblxuXG4vLyogISBMYXlvdXQ6IFNpZGViYXItQ29udGVudCAqL1xuQGVsc2UgaWYgJGxheW91dCA9PSBzaWRlYmFyLWNvbnRlbnQge1xuICAgIC5jb250ZW50LWFyZWEge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgLTI1JTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5zaXRlLW1haW4ge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDI1JTtcbiAgICB9XG4gICAgLnNpdGUtY29udGVudCAud2lkZ2V0LWFyZWEgeyAvKiBTaWRlYmFyIDEgKi9cbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgfVxufVxuXG5AaWYgJGxheW91dCAhPSBudWxsIHtcbiAgICAuc2l0ZS1mb290ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4vLyogISBMYXlvdXQgb24gTWFpbiBCbG9nIFBhZ2UgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLmJsb2cge1xuICAgICAgICAuY29udGVudC1hcmVhIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAwIC0yNSUgMCAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLnNpdGUtbWFpbiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMzAlIDAgMDtcbiAgICAgICAgfVxuICAgICAgICAuc2l0ZS1jb250ZW50IC53aWRnZXQtYXJlYSB7IC8qIFNpZGViYXIgMSAqL1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZyAqIDE0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vKiAhIExheW91dCBvbiBBcmNoaXZlIFBhZ2VzICYgU2luZ2xlIFBvc3RzICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5hcmNoaXZlLCAuc2luZ2xlIHtcbiAgICAgICAgLnNpdGUtY29udGVudCAud2lkZ2V0LWFyZWEgeyAvKiBTaWRlYmFyIDEgKi9cbiAgICAgICAgICAgIC53aWRnZXQge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICRzcGFjaW5nICogLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8qICFWaXN1YWxzICovXG5ib2R5IHtcbiAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtc2FuZCB1cmwoJ2ltZy9iZWhhbmcucG5nJykgbm8tcmVwZWF0IGNlbnRlciB0b3AgZml4ZWQ7XG59XG4uc2l0ZS1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjMjAyMDIwIHVybCgnaW1nL3NjaG9vbGJvcmQuanBnJykgcmVwZWF0LXkgY2VudGVyIC0xMjAzcHg7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwwLDAsLjg1KTtcbn0iLCIvKiA9Q29udGVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG4vLyogIVdoaXRlc3BhY2UgKi9cblxuLy8gVGhlIG1haW4gdGl0bGVzXG4vLyBUaGUgbWFpbiB0aXRsZSBvbiBhIFJlZ3VsYXIgUGFnZSBhbmQgYW4gQXJjaGl2ZSBQYWdlXG5ib2R5LnBhZ2U6bm90KFtjbGFzcyo9XCJob21lXCJdKSB7XG4gICAgLmVudHJ5LWhlYWRlciB7XG4gICAgICAgIG1hcmdpbjogJHNwYWNpbmcgKiA0IDAgJHNwYWNpbmcgKiA0ICRzcGFjaW5nICogMjtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyBUaGUgbWFpbiB0aXRsZSBvbiB0aGUgRnJvbnQgUGFnZVxuYm9keS5ob21lIC5wYWdlIHtcbiAgICAuZW50cnktaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luOiAkc3BhY2luZyAqIDIgMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuLy8gVGhlIG1haW4gdGl0bGUgb24gYW4gQXNzb3J0bWVudCBQYWdlXG4vLyBXZSBkb24ndCB1c2UgbWFyZ2luLWxlZnQgYnV0IGluc3RlYWQgYSBwZXJjZW50YWdlIG9uIHRoZSBlbnRyeS10aXRsZSB0byBhY2NvdW50IGZvciB0aGUgcHJvZHVjdGltYWdlc1xuYm9keS5wYWdlIC5hc3NvcnRtZW50IHtcbiAgICAuZW50cnktaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luOiAkc3BhY2luZyAqIDQgMDtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8vIFRoZSBtYWluIHRpdGxlIG9uIGFuIEFzc29ydG1lbnQgU3ViUGFnZSBoYXMgbGVzcyB3aGl0ZXNwYWNlIG9uIHRoZSBsZWZ0XG4vL2JvZHkucGFnZS5wYWdlLWNoaWxkIC5hc3NvcnRtZW50IHtcbi8vICAgIC5lbnRyeS1oZWFkZXIge1xuLy8gICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZztcbi8vICAgIH1cbi8vfVxuLy8gVGhlIG1haW4gdGl0bGUgb24gYSBTaW5nbGUgUG9zdFxuYm9keS5zaW5nbGUge1xuICAgIC5lbnRyeS1oZWFkZXIge1xuICAgICAgICBtYXJnaW46ICRzcGFjaW5nICogMiAwICRzcGFjaW5nO1xuICAgIH1cbn1cbi8vIFRoZSBtYWluIHRpdGxlIG9uIHRoZSBNYWluIEJsb2cgUGFnZVxuYm9keS5ibG9nIGFydGljbGUucGFnZSB7XG4gICAgLmVudHJ5LWhlYWRlciB7XG4gICAgICAgIG1hcmdpbjogJHNwYWNpbmcgKiA0IDAgJHNwYWNpbmcgKiA0ICRzcGFjaW5nICogMjtcbiAgICB9XG4gICAgLy8gd2hpdGVzcGFjZSBiZXR3ZWVuIHRoZSBwYWdlLWNvbnRlbnQgYW5kIHRoZSBibG9ncG9zdHNcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZyAqIDI7XG59XG4vLyBUaGUgbWFpbiB0aXRsZSBvbiBhbiBBcmNoaXZlIFBhZ2UgKHdoaXRlc3BhY2UgdGhlIHNhbWUgYXMgYSBSZWd1bGFyIFBhZ2UpXG5ib2R5LmFyY2hpdmUge1xuICAgIC5wYWdlLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbjogJHNwYWNpbmcgKiA0IDAgJHNwYWNpbmcgKiA0ICRzcGFjaW5nICogMjtcbiAgICB9XG59XG5cbi8vIFRoZSBlbnRyeS1jb250ZW50XG4uZW50cnktY29udGVudCB7XG4gICAgbWluLWhlaWdodDogJHNwYWNpbmcgKiAxMDtcbiAgICAvLyBvbiB0aGUgYmxvZ3JlbGF0ZWQgcGFydHNcbiAgICAuYmxvZyAmLFxuICAgIC5ibG9ncG9zdHMgJiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgJHNwYWNpbmcgKiAuMjU7XG4gICAgfVxuICAgIC8vIG9uIHNwZWNpYWwgcGFnZXNcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgICAubWlqbi10YWFydGVuICYsXG4gICAgICAgIC5taWpuLXBhdGlzc2VyaWUgJixcbiAgICAgICAgLm1hcmlza2EtanVsaWV0dGUgJixcbiAgICAgICAgLm1pam4tbmlldXdzYnJpZXZlbiAmIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzUlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIG9uIHNpbmdsZSBwYWdlc1xuICAgIC5zaW5nbGUgJiB7XG4gICAgfVxufVxuXG4vLyBUaGUgYXJ0aWNsZXNcbi5oZW50cnkge1xuICAgIG1hcmdpbjogMCAwICRzcGFjaW5nO1xufVxuXG4vLyBUaGUgZWxlbWVudHMgb24gdGhlIEZyb250IFBhZ2Vcbi52aWRlby1lbWJlZCB7XG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmc7XG59XG5cbi5ob21lIC5ibG9ncG9zdHMge1xuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nICogNDtcbn1cbi5kaXNjb3VudC5mcm9udHBhZ2Uge1xuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nICogNTtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbn1cblxuXG4vLyogIU1ldGEgKi9cbi5lbnRyeS1tZXRhIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgLmVudHJ5LWhlYWRlciAmIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgfVxuICAgIC8vIG9uIHRoZSBibG9ncmVsYXRlZCBwYXJ0c1xuICAgIC5ibG9nICYsXG4gICAgLmJsb2dwb3N0cyAmIHtcbiAgICAgICAgcGFkZGluZzogMCAkc3BhY2luZyAqIC4yNTtcbiAgICB9XG4gICAgLy8gY29tbWVudCBhbmQgZWRpdC1saW5rXG4gICAgLmNvbW1lbnRzLWxpbmssIC5lZGl0LWxpbmsge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuLypcbiAgICAuY2F0LWxpbmtzIGE6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGYzMDFcIjtcbiAgICB9XG4gICAgLnRhZy1saW5rcyBhOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMzAyXCI7XG4gICAgfVxuKi9cbn1cblxuXG4vLyogIVRoZSBjb250ZW50ICovXG4uc3RpY2t5IHtcbn1cbi5ieWxpbmUsXG4udXBkYXRlZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5zaW5nbGUsIC5ncm91cC1ibG9nIHtcbiAgICAuYnlsaW5lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cbn1cbi5hbGlnbi1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLmFsaWduLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLy8qICFOb3RpZmljYXRpb25zICovXG4uZ2VuZXJhbC5ub3RpZmljYXRpb24ge1xuICAgIC8vIFRoZSBHZW5lcmFsIE5vdGlmaWNhdGlvbnM7IGZvciB0aGUgZGlzY291bnRzICYgY2FsbC1vdXRzIHNwZWNpZmljcyBzZWUgX2Fzc29ydG1lbnQuc2Nzc1xuICAgIG1hcmdpbjogMCAoLSRzcGFjaW5nICogMi41KTtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MjBweCkge1xuICAgICAgICBtYXJnaW46IDAgKC0kc3BhY2luZyAqIDIpO1xuICAgIH1cbiAgICBwYWRkaW5nOiAkc3BhY2luZyAqIC41ICRzcGFjaW5nO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIG1hcmdpbjogMCAoLSRzcGFjaW5nICogLjUpO1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZyAqIC41O1xuICAgIH1cbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgLjUpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKCAwLCAwLCAwLCAuNSk7XG4gICAgLy8gTGVzcyB3aGl0ZXNwYWNlIGJldHdlZW4gdGhlIGhlYWRlciBhbmQgdGhlIHBhcmFncmFwaFxuICAgIGgzLCBoNCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nICogLjU7XG4gICAgfVxuICAgIC8vIFJlbW92ZSB0aGUgYm90dG9tIG1hcmdpbiBmcm9tIHRoZSBsYXN0IHBhcmFncmFwaFxuICAgIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgLy8gV2UgZG9uJ3QgdXNlIGFycm93cyBvbiB0aGUgZ2VuZXJhbCBub3RpZmljYXRpb25zXG4gICAgQGV4dGVuZCAlYXJyb3dsZXNzO1xufVxuICAgIFxuLy8qICFOb3RpZmljYXRpb24gQ29sb3JzICovXG4ubm90aWZpY2F0aW9uIHtcbiAgICAvLyByZWRcbiAgICAmLnJvb2QgeyAvLyB0aGUgbm90aWZpY2F0aW9uIGl0c2VsZlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgIH1cbiAgICAvLyBvcmFuZ2VcbiAgICAmLm9yYW5qZSB7IC8vIHRoZSBub3RpZmljYXRpb24gaXRzZWxmXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIC8vIHRoaXMgbm90aWZpY2F0aW9uIG5lZWRzIGFuIGFsdGVybmF0aXZlIGNvbG9yLXNjaGVtZVxuICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSggMjU1LCAyNTUsIDI1NSwgLjUpOyAgIFxuICAgIH1cbiAgICAvLyB5ZWxsb3dcbiAgICAmLndhcm1nZWVsIHsgLy8gdGhlIG5vdGlmaWNhdGlvbiBpdHNlbGZcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHllbGxvdztcbiAgICAgICAgLy8gdGhpcyBub3RpZmljYXRpb24gbmVlZHMgYW4gYWx0ZXJuYXRpdmUgY29sb3Itc2NoZW1lXG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKCAyNTUsIDI1NSwgMjU1LCAuNSk7ICAgXG4gICAgfVxuICAgIC8vIGdyZWVuXG4gICAgJi5ncm9lbiB7IC8vIHRoZSBub3RpZmljYXRpb24gaXRzZWxmXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjsgICAgXG4gICAgfVxuICAgIC8vIHBpbmtcbiAgICAmLnJvemUgeyAvLyB0aGUgbm90aWZpY2F0aW9uIGl0c2VsZlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGluazsgICAgXG4gICAgfVxuICAgIC8vIHB1cnBsZVxuICAgICYucGFhcnMgeyAvLyB0aGUgbm90aWZpY2F0aW9uIGl0c2VsZlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlOyAgICBcbiAgICB9XG4gICAgLy9ibHVlXG4gICAgJi5ibGF1dyB7IC8vIHRoZSBub3RpZmljYXRpb24gaXRzZWxmXG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtYmx1ZTsgICBcbiAgICB9XG59XG5cbi8vKiAhTm90aWZpY2F0aW9uIEFycm93ICovXG4ubm90aWZpY2F0aW9uIHtcbiAgICAvLyBiYXNlXG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6ICcnOyBcbiAgICAgICAgYm9yZGVyOiAkc3BhY2luZyBzb2xpZCB0cmFuc3BhcmVudDsgLy8gYXJyb3cgc2l6ZTsgdGhlIHNhbWUgYXMgaGFsZiB0aGUgaGVpZ2h0IG9mIGl0cyBwYXJlbnRcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbiAgICAvLyB0aGUgYXJyb3cgb24gdGhlIGxlZnRcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lOyAvLyBjdXQgb2YgdGhlIHVuLXVzZWQgcGFydHMgb2YgdGhlIGFycm93IHNvIGl0cyBub3QgaW50ZXJmZXJpbmcgd2l0aCB0aGUgb2NjdXB5aW5nIHNwYWNlXG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogYmx1ZTsgLy8gZm9yIHRlc3RpbmcgcHVycG9zZXNcbiAgICAgICAgbGVmdDogLSRzcGFjaW5nOyAvLyBzaGlmdCBleGFjdGx5IHRoZSBzYW1lIGFtb3VudCBhcyB0aGUgc2l6ZSBvZiB0aGUgYXJyb3dcbiAgICB9XG4gICAgLy8gdGhlIGFycm93IG9uIHRoZSByaWdodFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IC8vIGN1dCBvZiB0aGUgdW4tdXNlZCBwYXJ0cyBvZiB0aGUgYXJyb3cgc28gaXRzIG5vdCBpbnRlcmZlcmluZyB3aXRoIHRoZSBvY2N1cHlpbmcgc3BhY2VcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHJlZDsgLy8gZm9yIHRlc3RpbmcgcHVycG9zZXNcbiAgICAgICAgcmlnaHQ6IC0kc3BhY2luZzsgLy9zaGlmdGQgZXhhY3RseSB0aGUgc2FtZSBhbW91bnQgYXMgdGhlIHNpemUgb2YgdGhlIGFycm93XG4gICAgfVxuICAgIC8vIGxvc2UgdGhlIGFycm93IG9uIHRoZSB1bi11c2VkIHNpZGUgb2YgdGhlIG5vdGlmaWNhdGlvblxuICAgICYubGVmdCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnJpZ2h0IHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8qICFCYWNrIFRvIFRvcCAqL1xuLmJhY2stdG8tdG9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8vIHBvc2l0aW9uXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBib3R0b206ICRzcGFjaW5nICogMztcbiAgICByaWdodDogJHNwYWNpbmcgKiAyO1xuICAgIG1hcmdpbjogMDtcbiAgICAvLyBzdHlsaW5nXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5hcnJvdyB7XG5cdCAgICBib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtc2FuZDtcblx0ICAgIGJvcmRlci1jb2xvcjogJGJyYW5kLXNhbmQgJGJyYW5kLXNhbmQgJGJyYW5kLXNhbmQgZGFya2VuKCRicmFuZC1zYW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyLjVyZW07XG5cdCAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtc2FuZDtcblx0ICAgIGJveC1zaGFkb3c6IGluc2V0IC0xcHggMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSwgaW5zZXQgLTE1cHggMCAxN3B4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSwgaW5zZXQgMCAtNXB4IDEycHggcmdiYSgwLDAsMCwwLjA1KTtcblx0ICAgIGNvbG9yOiByZ2JhKDAsMCwwLC44KTtcblx0ICAgIGN1cnNvcjogcG9pbnRlcjsgLyogSW1wcm92ZXMgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlICdpbnB1dCcgYW5kIG90aGVycyAqL1xuXHQgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIENvcnJlY3RzIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgJ2lucHV0JyB0eXBlcyBpbiBpT1MgKi9cblx0ICAgIGxpbmUtaGVpZ2h0OiAxO1xuXHQgICAgcGFkZGluZzogLjVlbSAxZW07XG5cdCAgICB0ZXh0LXNoYWRvdzogLTFweCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuOCk7XG4gICAgICAgIC8vIHRoZSByb3VuZCBidXR0b25cbiAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICB3aWR0aDogNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMi41cmVtO1xuICAgICAgICAvLyB0aGUgdHlwZVxuICAgICAgICBwYWRkaW5nOiAwIDAuMmVtO1xuICAgICAgICBmb250LWZhbWlseTogR2VvcmdpYSwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGVyLWZvbnQtc2l6ZSAqIDEuNTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRicmFuZC1zYW5kICRicmFuZC1zYW5kICRicmFuZC1zYW5kIGRhcmtlbigkYnJhbmQtc2FuZCwgMjAlKSAkYnJhbmQtc2FuZDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IC0xcHggMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSwgaW5zZXQgLTE1cHggMCAxN3B4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSwgaW5zZXQgMCAtNXB4IDEycHggcmdiYSgwLDAsMCwwLjAyKTtcbiAgICAgICAgfVxuICAgICAgICAvLyY6YWN0aXZlIHtcbiAgICAgICAgLy8gICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpLCBpbnNldCAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgICAgLy99XG4gICAgfVxufVxuXG5cbi8vKiAhRm9vdGVyICovXG4uc2l0ZS1mb290ZXIge1xuICAgIC5mb290ZXItYXNpZGUge1xuICAgICAgICBoMywgdWwge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zaXRlLWluZm8ge1xuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZztcbiAgICAgICAgcGFkZGluZy10b3A6ICRzcGFjaW5nICogLjc1O1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGdyYXktZGFyaztcbiAgICB9XG59XG5cbi8vKiAhU2lnbmF0dXJlICovXG4uaG9tZSBhcnRpY2xlLnBhZ2UgLmVudHJ5LWNvbnRlbnQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiTWFyaXNrYSBMYW5nZXZlbGRcIjtcbiAgICBmb250LWZhbWlseTogJGJyYW5kLWZvbnQ7XG4gICAgZm9udC1zaXplOiAkYnJhbmQtZm9udC1zaXplO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbn1cblxuXG4vLyogIUltYWdlcyAqL1xuaW1nOm5vdChbY2xhc3MqPVwiYXZhdGFyXCJdKSB7XG4gICAgLy8gdGh1bWJzOiAxNjBweCB4IDI0MHB4XG4gICAgaGVpZ2h0OiBhdXRvOyAvLyBNYWtlIHN1cmUgaW1hZ2VzIGFyZSBzY2FsZWQgY29ycmVjdGx5XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBBZGhlcmUgdG8gY29udGFpbmVyIHdpZHRoXG4gICAgLy8gdmlzdWFsc1xuICAgIGJvcmRlcjogLjdyZW0gc29saWQgbWl4KHdoaXRlLCAkYnJhbmQtc2FuZCwgOTUlKTtcbiAgICBib3gtc2hhZG93OiAtMXB4IDNweCA4cHggcmdiYSgwLCAwLCAwLCAuODUpO1xufVxuaW1nLmF2YXRhciB7XG4gICAgYm9yZGVyOiAuNDI1cmVtIHNvbGlkIG1peCh3aGl0ZSwgJGJyYW5kLXNhbmQsIDk1JSk7XG4gICAgaGVpZ2h0OiA4NHB4OyAvLyB0byBhY2NvdW50IGZvciB0aGUgYm9yZGVyLWJvdHRvbVxuICAgIGJvcmRlci1ib3R0b206IDIwcHggc29saWQgbWl4KHdoaXRlLCAkYnJhbmQtc2FuZCwgOTUlKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoLTQpO1xufVxuLy8gcmVtb3ZlIHRoZSBib3JkZXIgb24gRmFjZWJvb2stdGh1bWJzXG4uY2ZmLWF1dGhvci1pbWcgaW1nIHtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi8vIHJvdGF0ZWQgaW1hZ2VzIHRvIHNjYXR0ZXIgdGhyb3VnaG91dCB0aGUgY29udGVudFxuaW1nLnJvdGF0ZS1sZWZ0LThkZWcge1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgtOCk7XG59XG5pbWcucm90YXRlLWxlZnQtNWRlZyB7XG4gICAgQGluY2x1ZGUgcm90YXRlKC01KTtcbn1cbmltZy5yb3RhdGUtcmlnaHQtNWRlZyB7XG4gICAgQGluY2x1ZGUgcm90YXRlKDUpO1xufVxuaW1nLnJvdGF0ZS1yaWdodC04ZGVnIHtcbiAgICBAaW5jbHVkZSByb3RhdGUoOCk7XG59XG5cbi8vIHRoZSBwb3N0X3RodW1ibmFpbCBvbiBTaW5nbGVzXG4uc2luZ2xlIHtcblxuICAgIC5wb3N0LXRodW1ibmFpbC13cmFwcGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICB9XG4gICAgXG4gICAgLmVudHJ5LWNvbnRlbnQgaW1nLmF0dGFjaG1lbnQtcG9zdC10aHVtYm5haWwge1xuICAgICAgICBAaW5jbHVkZSByb3RhdGUoLTQpO1xuICAgIH1cbn1cblxuLy8gdGhlIHBvc3RfdGh1bWJuYWlsIG9uIFBhZ2VzXG4vLyBvbiBtb2JpbGVcbi5wYWdlIC5lbnRyeS1jb250ZW50IGltZy5hdHRhY2htZW50LXBvc3QtdGh1bWJuYWlsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMjUlO1xuICAgICAgICBAaW5jbHVkZSByb3RhdGUoOCk7XG4gICAgfVxufVxuLy8gb24gbGFyZ2VyIHNjcmVlbnNcbi5wYWdlIC5lbnRyeS1jb250ZW50IGltZy5hdHRhY2htZW50LXBvc3QtdGh1bWJuYWlsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogJHNwYWNpbmcgKiAxODtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC00MCU7XG4gICAgICAgIG1heC13aWR0aDogMzUlO1xuICAgICAgICBAaW5jbHVkZSByb3RhdGUoLTgpO1xuICAgICAgICAvLyB0aGUgaG9tZXBhZ2UgaGFzIGEgc2xpZ2h0bHkgZGlmZmVyZW50IHN0cnVjdHVyZVxuICAgICAgICAvLyBzbyB3ZSBuZWVkIHRvIHBvc2l0aW9uIHRoZSBwb3N0X3RodW1ibmFpbCByZWxhdGl2ZVxuICAgICAgICAuaG9tZSAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMCU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIHRoZSBwb3N0X3RodW1ibmFpbCBvbiB0aGUgTmlldXdzYnJpZWYtUGFnZXNcbi5wYWdlIC5taWpuLW5pZXV3c2JyaWV2ZW4gLmVudHJ5LWNvbnRlbnQgaW1nLmF0dGFjaG1lbnQtcG9zdC10aHVtYm5haWwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIHRvcDogJHNwYWNpbmcgKiAxMDtcbiAgICAgICAgbWF4LXdpZHRoOiAzMCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMzUlO1xuICAgIH1cbn1cblxuLy8gdGhlIGF1dGhvci1pbWFnZSBpbiB0aGUgZm9vdGVyXG4uc2l0ZS1mb290ZXIgLmF1dGhvci1pbmZvIGltZyB7XG4gICAgbWFyZ2luLXRvcDogLSgkc3BhY2luZyAqIDIpO1xuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZyAqIDM7XG4gICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgQGluY2x1ZGUgcm90YXRlKDgpO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0kc3BhY2luZztcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgLy8gd2l0aCBhdXRob3JfbWV0YTpcbiAgICAvL21hcmdpbi10b3A6IC0oJHNwYWNpbmcgKiA0KTtcbiAgICAvL21hcmdpbi1sZWZ0OiAkc3BhY2luZyAqIDQ7XG4gICAgLy9tYXgtd2lkdGg6IDcwJTtcbiAgICAvL0BpbmNsdWRlIHJvdGF0ZSg4KTtcbn1cblxuXG5cbi8vKiAhVGhlIGJsb2dwb3N0cyAqL1xuLy8gbGlzdGVkIG9uIHRoZSBNYWluIEJsb2cgUGFnZSBhbmQgb24gQXJjaGl2ZSBQYWdlc1xuXG4vLyB0aGUgZW5jYXBzdWxhdGVkIGRpdmlzaW9uXG4uYmxvZyAuaGVudHJ5LFxuLmJsb2dwb3N0cyAuaGVudHJ5LFxuLmFyY2hpdmUgLmhlbnRyeSB7XG4gICAgcGFkZGluZzogJHNwYWNpbmcgKiAuNTtcbiAgICBib3JkZXItcmFkaXVzOiAkaXRlbS1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJGJyYW5kLXNhbmQsIC45NSk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRicmFuZC1zYW5kLCAuODUpO1xuICAgIH1cbn1cbi8vIHRoZSB0aXRsZVxuLmJsb2cgLnBvc3QgLmVudHJ5LXRpdGxlLFxuLmJsb2dwb3N0cyAuZW50cnktdGl0bGUsXG4uYXJjaGl2ZSAuZW50cnktdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nICogLjI1O1xuICAgICAgICBmb250LXNpemU6ICRoZWFkZXItZm9udC1zaXplICogLjg1O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYmFzZS1yYWRpdXM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJGJyYW5kLXNhbmQsIC42NSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtYmx1ZTtcbiAgICAgICAgfVxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8vIHRoZSBmZWF0dXJlZCBpbWFnZSBvZiB0aGUgTWFpbiBCbG9nIFBhZ2Vcbi5ibG9nIC5lbnRyeS1pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1heC13aWR0aDogMTgwcHg7IC8vIHJlc3BvbnNpdmUgXG4gICAgLy90ZXh0LWFsaWduOiByaWdodDtcbiAgICByaWdodDogLSgkc3BhY2luZyAqIDcpO1xuICAgIHRvcDogLSgkc3BhY2luZyAqIDMpO1xuICAgIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgLy8gcmVsYXRpdmUgdG8gaXRzIGNvbnRhaW5lclxuICAgIH1cbiAgICBpbWc6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgICBAaW5jbHVkZSByb3RhdGUoMTIpO1xuICAgIH1cbn1cbi8vIHRoZSBjb250ZW50IG9uIHRoZSBibG9ncG9zdC1saXN0XG4uYmxvZ3Bvc3RzIC5oZW50cnksXG4uYXJjaGl2ZSAuaGVudHJ5IHtcbiAgICAvLyBjcmVhdGUgYSBjYW52YXMgdG8gcG9zaXRpb24gdGhlIGltYWdlIHdpdGhpbiBpdFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBjcmVhdGUgd2hpdGVzcGFjZVxuICAgIC5lbnRyeS1oZWFkZXIgLmVudHJ5LW1ldGEsIHAge1xuICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICAvLyBvbiB0aGUgTWFpbiBCbG9nIFBhZ2Ugd2hlbiB0aGVyZSBpcyBhIHNpZGViYXJcbiAgICAgICAgLmJsb2cgJiB7XG4gICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICB9XG4gICAgICAgIC8vIG9uIG1vYmlsZSBkZXZpY2VzXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyB0aGUgZmVhdHVyZWQgaW1hZ2UgdXNlZCBhcyB0aHVtYiBvbiB0aGUgYmxvZ3Bvc3QtbGlzdFxuICAgIGltZy53cC1wb3N0LWltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAkc3BhY2luZyAqIC41O1xuICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgICBAaW5jbHVkZSByb3RhdGUoNSk7XG4gICAgICAgIC8vIG9uIHRoZSBNYWluIEJsb2cgUGFnZSB3aGVuIHRoZXJlIGlzIGEgc2lkZWJhclxuICAgICAgICAuYmxvZyAmIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtKCRzcGFjaW5nICogLjUpO1xuICAgICAgICAgICAgLy9tYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgICB9XG4gICAgICAgIC8vIG9uIG1vYmlsZSBkZXZpY2VzXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gb24gbW9iaWxlIGRldmljZXM6IHRoZSB3cmFwcGVyIGFyb3VuZCB0aGUgaW1hZ2VcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAucG9zdF90aHVtYm5haWwge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vKiAhR29vZ2xlIE1hcHMgKi9cbipbY2xhc3MqPVwiZ29vZ2xlbWFwc1wiXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG59IiwiLyogPUFzaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmJsb2cgLmZvcm1hdC1hc2lkZSwgLmFyY2hpdmUgLmZvcm1hdC1hc2lkZSB7XG5cdC5lbnRyeS10aXRsZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufSIsIi8qID1NZWRpYVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnBhZ2UtY29udGVudCxcbi5lbnRyeS1jb250ZW50LFxuLmNvbW1lbnQtY29udGVudCB7XG5cdGltZy53cC1zbWlsZXkge1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0cGFkZGluZzogMDtcblx0fVxufVxuLy8gSW1hZ2UgQ2FwdGlvbnNcbi53cC1jYXB0aW9uIHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2NjYztcblx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG5cdG1heC13aWR0aDogMTAwJTtcblxuXHRpbWdbY2xhc3MqPVwid3AtaW1hZ2UtXCJdIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IDEuMiUgYXV0byAwO1xuXHRcdG1heC13aWR0aDogOTglO1xuXHR9XG5cdC53cC1jYXB0aW9uLXRleHQge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRtYXJnaW46IDAuODA3NWVtIDA7XG5cdH1cbn1cblxuLy8vLyBHYWxsZXJpZXNcbi8vLmdhbGxlcnkge1xuLy9cbi8vXHRAZXh0ZW5kICVjbGVhcmZpeDtcbi8vXG4vL1x0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4vL1xuLy9cdC5nYWxsZXJ5LWl0ZW0ge1xuLy9cdFx0ZmxvYXQ6IGxlZnQ7XG4vL1xuLy9cdFx0LmdhbGxlcnktaWNvbiB7XG4vL1x0XHRcdGEgeyBkaXNwbGF5OiBibG9jazsgfVxuLy9cbi8vXHRcdFx0aW1nIHtcbi8vXHRcdFx0XHRib3JkZXI6IG5vbmU7XG4vL1x0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuLy9cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG4vL1x0XHRcdH1cbi8vXHRcdH1cbi8vXG4vL1x0XHQuZ2FsbGVyeS1jYXB0aW9uIHtcbi8vXHRcdFx0bWFyZ2luOiAwO1xuLy9cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG4vL1x0XHR9XG4vL1xuLy9cdH1cbi8vXG4vL31cbi8vXG4vL0BtaXhpbiBnYWxsZXJ5X2NvbHVtbiAoICRtYXJnaW46IDIsICRudW06IDQgKXtcbi8vXHQuZ2FsbGVyeS1jb2x1bW5zLSN7JG51bX0gLmdhbGxlcnktaXRlbSB7XG4vLyAgICAgICAgd2lkdGg6ICggMTAwJSAtICRtYXJnaW4gKiAoICRudW0gLSAxICkgKSAvICRudW07XG4vLyAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuLy8gICAgIH1cbi8vICBcdC5nYWxsZXJ5LWNvbHVtbnMtI3skbnVtfSAuZ2FsbGVyeS1pdGVtOm50aC1vZi10eXBlKCN7JG51bX1uIC0gI3skbnVtfSkge1xuLy8gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbi8vICAgICAgICBjbGVhcjogcmlnaHQ7XG4vLyAgICAgfVxuLy9cbi8vfVxuLy9cbi8vLyogRmx1aWQgR2FsbGVyeSBDb2x1bW5zXG4vLyAgIHdvcmtzIHdlbGwgaWYgeW91IHJlbW92ZSB0aGUgZGVmYXVsdCBnYWxsZXJ5IHN0eWxpbmdcbi8vICAgYnkgYWRkaW5nIHRoZSBmb2xsb3dpbmcgdG8geW91ciBmdW5jdGlvbnMucGhwXG4vLyAgIGFkZF9maWx0ZXIoICd1c2VfZGVmYXVsdF9nYWxsZXJ5X3N0eWxlJywgJ19fcmV0dXJuX2ZhbHNlJyApO1xuLy8qL1xuLy9cbi8vQGZvciAkaSBmcm9tIDIgdGhyb3VnaCA5IHtcbi8vXHRAaW5jbHVkZSBnYWxsZXJ5X2NvbHVtbiggMiwgJGkgKTtcbi8vfVxuXG4vKiBNYWtlIHN1cmUgZW1iZWRzIGFuZCBpZnJhbWVzIGZpdCB0aGVpciBjb250YWluZXJzICovXG5lbWJlZCxcbmlmcmFtZSxcbm9iamVjdCB7XG5cdG1heC13aWR0aDogMTAwJTtcbn0iLCIvKiA9TmF2aWdhdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8qICFCYXNlIFN0eWxlcyAqL1xuLm1haW4tbmF2aWdhdGlvbixcbi5zdWItbmF2aWdhdGlvbiB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIGZpcnN0IGxldmVsXG4gICAgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIC8vIHdoaXRlc3BhY2UgYmV0d2VlbiB0aGUgaXRlbXNcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHNwYWNpbmcgKiAuMTI1O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmcgKiAuNTtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nICogLjEyNSAkc3BhY2luZyAqIC41O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gbm8gdXNlciByZXNwb25zZSBvbiBjdXJyZW50IG1lbnUtaXRlbXNcbiAgICAgICAgLmN1cnJlbnRfcGFnZV9pdGVtLCAuY3VycmVudC1tZW51LWl0ZW0ge1xuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8qICFTcGVjaWZpYyBTdHlsZXMgKi9cblxuLy8qICEgTWFpbiBOYXZpZ2F0aW9uICovXG4ubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICAvLyBmaXJzdCBsZXZlbFxuICAgIHVsIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW46ICRzcGFjaW5nICogLjU7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZC1icm93bjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkYnJhbmQtYnJvd24sLjg1KTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSksIGluc2V0IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1icm93bjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmN1cnJlbnRfcGFnZV9pdGVtLCAmLmN1cnJlbnQtbWVudS1pdGVtLFxuICAgICAgICAgICAgJi5jdXJyZW50X3BhZ2VfcGFyZW50LCAmLmN1cnJlbnQtcGFnZS1hbmNlc3RvciB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLWJyb3duO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBzZWNvbmQgbGV2ZWxcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyogISBTbWFsbCBtZW51ICovXG4ubWVudS10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IC8vIG9uIGJpZyBkZXZpY2VzXG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5tZW51LXRvZ2dsZSwgLy8gb24gc21hbGwgZGV2aWNlc1xuICAgIC5tYWluLW5hdmlnYXRpb24udG9nZ2xlZCAubmF2LW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5tZW51LXRvZ2dsZSB7XG4gICAgICAgIGNvbG9yOiAkYnJhbmQtYnJvd247XG4gICAgICAgIC8vcGFkZGluZzogJHNwYWNpbmcgKiAuMTI1ICRzcGFjaW5nO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZyAqIC41O1xuICAgICAgICAvLyB0aGUgdmlzdWFsIHN0eWxlOiBtYWtlIGl0IHN0YW5kIG91dCBsaWtlIGEgYnV0dG9uXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nICogLjEyNSAkc3BhY2luZyAqIC41O1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmcgKiAuMTI1ICRzcGFjaW5nICogLjU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkYnJhbmQtYnJvd24sIC44NSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLm1haW4tbmF2aWdhdGlvbi50b2dnbGVkIC5uYXYtbWVudSB7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nICogLjEyNSAkc3BhY2luZyAqIC41OyBcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICAgIC8vIHNlY29uZCBsZXZlbFxuICAgICAgICAvL3VsIHtcbiAgICAgICAgLy8gICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIC8vICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAvL31cbiAgICB9XG4gICAgXG4gICAgLm1haW4tbmF2aWdhdGlvbiB1bCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5cbi8vKiAhIFN1YiBOYXZpZ2F0aW9uICovXG4uc3ViLW5hdmlnYXRpb24ge1xuICAgIC8vIGZpcnN0IGxldmVsXG4gICAgLy8gd2UgbmVlZCB0byB0YXJnZXQgdGhlIGFuY2hvcnMgaW4gdGhlIG1lbnUsIG5vdCB0aGUgbWVudSBpdHNlbGZcbiAgICA+IGRpdiA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLy8gc2Vjb25kIGxldmVsXG4gICAgLy8gaGlkZSBldmVyeSBsaXN0aXRlbSBleGNlcHQgdGhlIG9uZXMgb2YgdGhlIGN1cnJlbnQgcGFyZW50XG4gICAgdWwubWVudSA+IGxpOm5vdChbY2xhc3MqPVwiY3VycmVudC1tZW51XCJdKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC8vIHNob3cgdGhlIGxpc3RpdGVtcyBvZiB0aGUgY3VycmVudCBwYXJlbnRcbiAgICB1bC5tZW51ID4gbGlbY2xhc3MqPVwiY3VycmVudC1tZW51XCJdIHtcbiAgICAgICAgLy8gY2VudGVyIHRoZSBsaXN0aXRlbXM7IHdlIHRhcmdldCB0aGUgZmlyc3QgbGlzdGl0ZW0gKHdoaWNoIGhhcyBzdWJtZW51KVxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAvLyB0aGUgdmlzdWFsIHN0eWxlXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkYnJhbmQtc2FuZCwgLjg1KTtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkYnJhbmQtc2FuZCwgLjY1KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmN1cnJlbnQtbWVudS1pdGVtIGEge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkYnJhbmQtc2FuZCwgLjY1KTtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRicmFuZC1zYW5kLCAuNjUpO1x0XHRcdFx0XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyogIU5hdmlnYXRpb24gd2l0aGluIHRoZSBjb250ZW50ICovXG4uc2l0ZS1tYWluIFtjbGFzcyo9XCJuYXZpZ2F0aW9uXCJdIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC5uYXYtcHJldmlvdXMge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgLm5hdi1uZXh0IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgLnBhZ2UtbGlua3Mge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgbWFyZ2luOiAwIDAgJHNwYWNpbmc7XG4gICAgfVxufVxuXG4vLyB0aGUgcGFnaW5nLW5hdmlnYXRpb25cbi5zaXRlLW1haW4gLnBhZ2luZy1uYXZpZ2F0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbn1cbi8vIHRoZSBwb3N0LW5hdmlnYXRpb25cbi5zaXRlLW1haW4gLnBvc3QtbmF2aWdhdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmcgKiAyO1xufVxuLy8gdGhlIGNvbW1lbnQtbmF2aWdhdGlvblxuLnNpdGUtbWFpbiAjY29tbWVudC1uYXYtYmVsb3cge1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xufVxuXG4vLyB0aGUgbmF2aWdhdGlvbiB3aXRoIGEgbmljZSBhcnJvdyBuZXh0IHRvIGl0XG4uc2l0ZS1tYWluIHtcbiAgICAvLyBiYXNlIHN0eWxpbmdcbiAgICAubmF2LWxpbmsge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmcgKiAuMjUgJHNwYWNpbmc7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYmFzZS1yYWRpdXM7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLWJsdWU7XG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtaXgoJGJyYW5kLWJsdWUsIGJsYWNrLCA4MCUpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRicmFuZC1zYW5kICRicmFuZC1zYW5kIGRhcmtlbigkYnJhbmQtc2FuZCwgMjAlKSAkYnJhbmQtc2FuZDtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCksIGluc2V0IDAgMTVweCAxN3B4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSwgaW5zZXQgMCAtNXB4IDEycHggcmdiYSgwLDAsMCwwLjAyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnB1dCNibG9nc3VibWl0LmFycm93IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwICRzcGFjaW5nICogLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzcGVjaWZpY3NcbiAgICAuYmxvZ3Bvc3RzIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgcmlnaHQ6IC0yLjVyZW07XG4gICAgICAgICAgICBib3R0b206IC0oJHNwYWNpbmcgKiAyKTtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgyMHB4KSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC41cmVtO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLSgkc3BhY2luZyAqIDIuNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAzLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ21lZXIgYmVyaWNodGVuIHVpdCBtaWpuIHBhdGlzc2VyaWUgLi4uJztcbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnbWVlciBiZXJpY2h0ZW4gLi4uJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLyogPUNvbW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbi8vIENvbW1lbnRzIEFyZWFcbi8vLmNvbW1lbnRzLWFyZWEge1xuLy9cbi8vfVxuXG5cbi8vKiAhQ29tbWVudCBMaXN0ICovXG4uc2l0ZS1jb250ZW50IGgyLmNvbW1lbnRzLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJGJhc2UtZm9udDtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbn1cblxuLmNvbW1lbnQtYm9keSB7XG4gICAgbWFyZ2luOiAxLjI1cmVtIDA7XG59XG5cbi8vLnRocmVhZC1vZGQge1xuLy8gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpO1xuLy99XG5cbi5kZXB0aC0xIHtcbiAgICAvL2JvcmRlci1sZWZ0OiAycHggZG90dGVkICRicmFuZC1zYW5kO1xuICAgIGJvcmRlci1ib3R0b206IDNweCBkb3R0ZWQgJGJyYW5kLXNhbmQ7XG59XG5cblxuLy8qICFDb21tZW50IE1ldGFkYXRhICovXG5cbi8vIENvbW1lbnQgTWV0YWRhdGEgb2YgdGhlIHBvc3Rcbi8vIHRoZSBjb21tZW50LWxpbmsganVzdCBhZnRlciB0aGUgaGVhZGluZ1xuLmNvbW1lbnRzLW1ldGEge1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLmNvbW1lbnRzLW51bWJlciB7XG4gICAgZm9udC1zaXplOiAkaGVhZGVyLWZvbnQtc2l6ZTtcbn1cblxuLy8gdGhlIGNvbW1lbnQtbWV0YWRhdGFcbi5jb21tZW50LW1ldGFkYXRhIHtcbiAgICAvL2ZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICAvLyB2aXN1YWwgZGUtbGluayB0aGUgZGF0ZSBvZiBhIGNvbW1lbnRcbiAgICBhOm5vdChbY2xhc3M9J2NvbW1lbnQtZWRpdC1saW5rJ10pIHtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXJBY3RpdmVGb2N1cyhjb2xvciwgJGJyYW5kLXNhbmQpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmVkaXQtbGluayB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG59XG5cbi8vIENvbW1lbnQgTWV0YWRhdGEgb2YgdGhlIGNvbW1lbnRzXG5cbi8vIHRoZSBhdXRob3IgdmNhcmQgKCBuYW1lLCBpbWFnZSApXG4uY29tbWVudC1hdXRob3IudmNhcmQge1xuICAgIC5mbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMCAyLjVyZW0gMCAtMS4yNXJlbTtcbiAgICAgICAgLmJ5cG9zdGF1dGhvciAmIHtcbiAgICAgICAgICAgIC8vYm9yZGVyLWNvbG9yOiAkYnJhbmQtc2FuZDtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCdpbWcvbG9nby5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8qICEgIFRPRE8gOiBuaWNlIGxvZ28gb24gTWFyaXNrYSdzIGNvbW1lbnRzICovXG4uYnlwb3N0YXV0aG9yIC5jb21tZW50LWF1dGhvci52Y2FyZCBpbWc6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCdpbWcvbG9nby5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgfVxuXG5cbi8vKiAhQ29tbWVudCBDb250ZW50ICovXG4uY29tbWVudC1jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkc3BhY2luZyAqIDMpOyAvLyBpbmNsdWRpbmcgdGhlIHZjYXJkLWltYWdlXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIC5ieXBvc3RhdXRob3IgJiB7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG59XG5cblxuLy8qICFJbmxpbmUgQ29tbWVudCBGb3JtICovXG5cbi8vIGV4Y2x1c2lvbnMgdG8gdGhlIGJyYW5kZWQgZm9udFxuYSNjYW5jZWwtY29tbWVudC1yZXBseS1saW5rIHtcbiAgICBmb250LWZhbWlseTogJGJhc2UtZm9udDtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi8vIENvbW1lbnQgRm9ybVxuLmNvbW1lbnQtcmVzcG9uZCBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA4cmVtO1xufVxuXG4uY29tbWVudC1jb250ZW50IGEge1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLy8gY29tbWVudF9ub3Rlc19hZnRlclxuLmZvcm0tYWxsb3dlZC10YWdzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8vZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xufVxuXG4vLyogIVJldmlldyBDb21tZW50IEZvcm0gKi9cbi5yZWNlbnNpZXMgYS5jb21tZW50LXJlcGx5LWxpbmsge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufSIsIi8qID1XaWRnZXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ud2lkZ2V0IHtcblx0bWFyZ2luOiAwIDAgJHNwYWNpbmc7XG5cblx0LyogTWFrZSBzdXJlIHNlbGVjdCBlbGVtZW50cyBmaXQgaW4gd2lkZ2V0cyAqL1xuXHRzZWxlY3Qge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxuXG5cdC8qIFNlYXJjaCB3aWRnZXQgKi9cblx0LndpZGdldC1zZWFyY2ggLnNlYXJjaC1zdWJtaXQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxufVxuXG5cbiIsIi8qID1JbmZpbml0ZSBTY3JvbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIEdsb2JhbGx5IGhpZGRlbiBlbGVtZW50cyB3aGVuIEluZmluaXRlIFNjcm9sbCBpcyBzdXBwb3J0ZWQgYW5kIGluIHVzZS4gKi9cbi5pbmZpbml0ZS1zY3JvbGwgLnBhZ2luZy1uYXZpZ2F0aW9uLCAvKiBPbGRlciAvIE5ld2VyIFBvc3RzIE5hdmlnYXRpb24gKGFsd2F5cyBoaWRkZW4pICovXG4uaW5maW5pdGUtc2Nyb2xsLm5ldmVyZW5kaW5nIC5zaXRlLWZvb3RlciB7IC8qIFRoZW1lIEZvb3RlciAod2hlbiBzZXQgdG8gc2Nyb2xsaW5nKSAqL1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBXaGVuIEluZmluaXRlIFNjcm9sbCBoYXMgcmVhY2hlZCBpdHMgZW5kIHdlIG5lZWQgdG8gcmUtZGlzcGxheSBlbGVtZW50cyB0aGF0IHdlcmUgaGlkZGVuICh2aWEgLm5ldmVyZW5kaW5nKSBiZWZvcmUgKi9cbi5pbmZpbml0eS1lbmQubmV2ZXJlbmRpbmcgLnNpdGUtZm9vdGVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG59IiwiLyogPU1hc3RoZWFkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucXVpY2staW5mbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmcgKiAuNTtcbiAgICBwYWRkaW5nOiAkc3BhY2luZyAqIC4yNSAkc3BhY2luZztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZDogIzIwMjAyMCB1cmwoXCJpbWcvc2Nob29sYm9yZC5qcGdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsMCwwLC44NSk7XG4gICAgLy9hIHtcbiAgICAvLyAgY29sb3I6IGxpZ2h0ZW4oJGxpbmstY29sb3IsIDM1JSk7XG4gICAgLy8gIEBpbmNsdWRlIGhvdmVyQWN0aXZlRm9jdXMoY29sb3IsIGxpZ2h0ZW4oJGxpbmstY29sb3IsIDUwJSkpO1xuICAgIC8vfVxuICAgIHAge1xuICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGJyYW5kLXNhbmQ7XG4gICAgICAgIEBpbmNsdWRlIGhvdmVyQWN0aXZlRm9jdXMoY29sb3IsIGxpZ2h0ZW4oJGxpbmstY29sb3IsIDI1JSkpO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHRcdFxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4uc2l0ZS10aXRsZSB7XG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoaW1nL2xvZ290eXBlLnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIC8vIFRoZSBsb2dvIG9uIHNtYWxsZXIgZGV2aWNlc1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3ODRweCkge1xuICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIC1vLWJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoaW1nL2xvZ28ucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAvLyBIaWRlIHRoZSBvcmlnaW5hbCB0ZXh0XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNpdGUtZGVzY3JpcHRpb24ge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IC0oJHNwYWNpbmcgKiAuNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmcgKiAuNTtcbiAgICBwYWRkaW5nOiAwICRzcGFjaW5nICogLjc1O1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NDBweCkge1xuICAgICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAqIC44NTtcbiAgICAgICAgbWFyZ2luLXRvcDogLSRzcGFjaW5nO1xuICAgICAgICAvL21hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufSIsIi8qID1Gcm9udFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8qICFUaGUgc2xvZ2FuICovXG5oMi5zbG9nYW4ge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6ICRzcGFjaW5nIDEyLjUlICRzcGFjaW5nO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogJHNwYWNpbmcgKiAyO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJyYW5kLWZvbnQtc2l6ZSAqIC44NTtcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmcgNSU7XG4gICAgfVxufVxuXG4vLyogIVRoZSBzbG9nYW4gaW1hZ2VzICovXG5oMltjbGFzcyo9XCItYm92ZW5cIl0ge1xuICAgIHBhZGRpbmctdG9wOiAzMCU7XG4gICAgLy9AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC8vICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZyAqIDQ7XG4gICAgLy99XG59XG5cbmgyW2NsYXNzKj1cIi1vbmRlclwiXSB7XG4gICAgcGFkZGluZy1ib3R0b206IDMwJTtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmcgKiA0O1xuICAgIH1cbn1cblxuaDJbY2xhc3MqPVwiaW5ncmVkaWVudGVuLWJvdmVuXCJdIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2ltZy9pbmdyZWRpZW50cy5wbmcnKSBjZW50ZXIgdG9wIG5vLXJlcGVhdDtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAtby1iYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xufVxuXG5oMltjbGFzcyo9XCJpbmdyZWRpZW50ZW4tb25kZXJcIl0ge1xuICAgIGJhY2tncm91bmQ6IHVybCgnaW1nL2luZ3JlZGllbnRzLnBuZycpIGNlbnRlciBib3R0b20gbm8tcmVwZWF0O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIC1vLWJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG5cbi8vIHF1aWNrZml4IGFzc29ydG1lbnQgaW1hZ2VzIC0gYmVjYXVzZSBvZiBlbmRlZCBkZXZlbG9wbWVudFxuaDJbY2xhc3MqPVwiYXNzb3J0aW1lbnQtYm92ZW5cIl0ge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLy8qICFUaGUgYmxvZ3Bvc3RzICovXG4vLy5ibG9ncG9zdHMge1xuLy99XG5cblxuLy8qICFUaGUgZGlzY291bnRzICovXG4vLy5kaXNjb3VudC5mcm9udHBhZ2Uge1xuLy99IiwiLyogPUFzc29ydG1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG4vLyBJbml0aWFsIGRpc3BsYXlcbi5jb250ZW50LWFyZWEgdWw6bm90KFtjbGFzcyo9XCJoYXJ0aWdcIl0pIGxpLmhhcnRpZyxcbi5jb250ZW50LWFyZWEgdWw6bm90KFtjbGFzcyo9XCJ6b2V0XCJdKSBsaS56b2V0IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuXG4vLyogIUJhc2UgU3R5bGUgKi9cbi5hc3NvcnRtZW50IGxpOmJlZm9yZSB7XG4gICAgLy9ib3JkZXItdG9wOiAycHggZG90dGVkIHdoaXRlO1xufVxuLy8gY3JlYXRlIHRoZSBjYW52YXMgZm9yIHBvc2l0aW9uaW5nIGFic29sdXRlIHBvc2l0aW9uZWQgY2hpbGQtZWxlbWVudHNcbi5hc3NvcnRtZW50LFxuLmRpc2NvdW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLml0ZW0sIC5kZXNjcmlwdGlvbiwgLmRlc2NyaXB0aW9uIC50ZXh0LCAuZGVzY3JpcHRpb24gLmltYWdlLCAucHJpY2V0YWdzIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbn1cblxuXG4vLyogIUFzc29ydG1lbnQgSGVhZGluZ3MgKi9cbi8vIHBsYWNlbWVudCBvZiB0aGUgZW50cnktdGl0bGVzIG9mIHRoZSBBc3NvcnRtZW50IFBhZ2VzXG4uYXNzb3J0bWVudCAuZW50cnktaGVhZGVyIHtcbiAgICAuZW50cnktdGl0bGUge1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFzc29ydG1lbnQgLnByb2R1Y3QtaW1hZ2VzIHtcbiAgICAvLyBDcmVhdGUgcmVsYXRpdmUgc2l6ZSBmb3Igc2l6aW5nIHRoZSBpbWFnZXMgb24gZGlmZmVyZW50IHNjcmVlbnNpemVzXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gVGhlIGJhc2Ugc3R5bGluZyBvZiB0aGUgaW1hZ2VzXG4gICAgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1heC13aWR0aDogMTYwcHg7IC8vIHRoZSBleGFjdCB3aWR0aCBvZiB0aGUgdXNlZCB0aHVtYnNcbiAgICAgICAgLy8gUm90YXRpb25zXG4gICAgICAgICY6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm90YXRlKC0xMCk7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3RhdGUoMik7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3RhdGUoOCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gVGhlIGRpZmZlcmVudCBzY3JlZW5zaXplc1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaGVpZ2h0OiAkc3BhY2luZyAqIDEwOyAvLyB0byBhY2NvdW50IGZvciB0aGUgaW1hZ2VzXG4gICAgICAgIC8vIFdlIHBvc2l0aW9uIHRoZSBpbWFnZXMgc2VwYXJhdGVcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiA0NSU7XG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDEpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDMwJTtcbiAgICAgICAgICAgICAgICB0b3A6ICRzcGFjaW5nICogLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0oJHNwYWNpbmcgKiAzKTtcbiAgICAgICAgLy8gV2UgcG9zaXRpb24gdGhlIGltYWdlcyBzZXBhcmF0ZVxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgxKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRzcGFjaW5nICogNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkc3BhY2luZyAqIDI7XG4gICAgICAgICAgICAgICAgdG9wOiAkc3BhY2luZyAqIC41O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0kc3BhY2luZzsgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8qICFPbiB0aGUgZnJvbnRwYWdlICovXG4uZnJvbnQtaW1hZ2VzIHtcbiAgICAvLyBDcmVhdGUgcmVsYXRpdmUgc2l6ZSBmb3Igc2l6aW5nIHRoZSBpbWFnZXMgb24gZGlmZmVyZW50IHNjcmVlbnNpemVzXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gQmFzZSBwb3NpdGlvblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gJHNwYWNpbmcgKiAuNTtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgbGVmdDogMTAlO1xuICAgIH1cbiAgICB0b3A6IDA7XG4gICAgLy8gUmVsYXRpdmUgZ2l2ZW4gc3BhY2luZyB0byBhY2NvdW50IGZvciB0aGUgaW1hZ2VzXG4gICAgaGVpZ2h0OiAkc3BhY2luZyAqIDEwO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gICAgICBoZWlnaHQ6IDYwdnc7XG4gICAgfVxuICAgIC8vIFRoZSBiYXNlIHN0eWxpbmcgb2YgdGhlIGltYWdlc1xuICAgIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDE2MHB4OyAvLyB0aGUgZXhhY3Qgd2lkdGggb2YgdGhlIHVzZWQgdGh1bWJzXG4gICAgICAgIC8vIFJvdGF0aW9uc1xuICAgICAgICAmOm50aC1vZi10eXBlKDEpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJvdGF0ZSgtMTApO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm90YXRlKDIpO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm90YXRlKDgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIFdlIHBvc2l0aW9uIHRoZSBpbWFnZXMgc2VwYXJhdGVcbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgICAmOm50aC1vZi10eXBlKDEpIHtcbiAgICAgICAgICAgIGxlZnQ6IDUlO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICAgICAgbGVmdDogMzAlO1xuICAgICAgICAgICAgdG9wOiAkc3BhY2luZyAqIC41O1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vKiAhQXNzb3J0bWVudCBMaXN0ICovXG4uYXNzb3J0bWVudCB7XG4gICAgLy8gQmFzZVxuICAgIG1hcmdpbjogJHNwYWNpbmcgMDtcbiAgICBcbiAgICAvLyBPbiB0aGUgZnJvbnRwYWdlXG4gICAgLmhvbWUgJiB7XG4gICAgICBtYXJnaW46ICRzcGFjaW5nICogMiAwICRzcGFjaW5nO1xuICAgIH1cbiAgICBcbiAgICAvLyBMYXlvdXRcbiAgICAvLyAtIGJhc2VcbiAgICAuZGVzY3JpcHRpb24sIC5pbWFnZXJ5LCAucHJpY2V0YWdzIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJpY2V0YWdzIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmcgKiAuNTtcbiAgICAgICAgfSAgICBcbiAgICB9XG4gICAgLmltYWdlcnkge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICB9IFxuICAgIH1cbiAgICBcbiAgICAvLy8vIC0gZGVmYXVsdFxuICAgIC8vJjpub3QoW2NsYXNzKj1cImZyb250cGFnZVwiXSkgeyAgICBcbiAgICAvLyAgICAuZGVzY3JpcHRpb24ge1xuICAgIC8vICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MDBweCkge1xuICAgIC8vICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAvLyAgICAgICAgfVxuICAgIC8vICAgIH1cbiAgICAvLyAgICAuaW1hZ2VyeSB7XG4gICAgLy8gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgLy8gICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgIC8vICAgICAgICB9XG4gICAgLy8gICAgfVxuICAgIC8vICAgIC5wcmljZXRhZ3Mge1xuICAgIC8vICAgICAgICB3aWR0aDogMjUlO1xuICAgIC8vICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIC8vICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAvLyAgICAgICAgfVxuICAgIC8vICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC8vICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAvLyAgICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgMDtcbiAgICAvLyAgICAgICAgfVxuICAgIC8vICAgIH1cbiAgICAvLyAgICAmIC5pbi1kaXNjb3VudCAucHJpY2V0YWdzIHtcbiAgICAvLyAgICAgICAgbWFyZ2luOiAwIDAgJHNwYWNpbmcgKiAyIDA7XG4gICAgLy8gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLy8gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAvLyAgICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgMCAkc3BhY2luZyAqIDIgMDtcbiAgICAvLyAgICAgICAgfVxuICAgIC8vICAgIH1cbiAgICAvL31cbiAgICBcbiAgICAvLy8vIC0gZnJvbnRwYWdlXG4gICAgLy8mLmZyb250cGFnZSB7XG4gICAgLy8gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAvLyAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAvLyAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgLy8gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLy8gICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgIC8vICAgICAgICB9XG4gICAgLy8gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgLy8gICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgIC8vICAgICAgICB9XG4gICAgLy8gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gICAgLy8gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAvLyAgICAgICAgfVxuICAgIC8vICAgIH1cbiAgICAvLyAgICAuaW1hZ2VyeSB7XG4gICAgLy8gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgLy8gICAgICAgICAgICB3aWR0aDogMjAlO1xuICAgIC8vICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBzbyBpdCBzdGF5cyBpbiB0aGUgZmxvdyBvZiB0aGUgY29udGVudFxuICAgIC8vICAgICAgICB9XG4gICAgLy8gICAgfVxuICAgIC8vfVxuICAgIFxuICAgIC8vIFNwZWNpZmljc1xuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRzcGFjaW5nICogLjU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnByaWNldGFncyB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nICogLjU7XG4gICAgICAgIH1cbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgICAgfVxuICAgICAgICAuc2l6ZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmcgKiAuNTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAvLyBJbWFnZXNcbiAgICBpbWcge1xuICAgIC8vbWF4LXdpZHRoOiAxMDAlOyAvLyByZXNwb25zaXZlIGltYWdlXG4gICAgQGluY2x1ZGUgcm90YXRlKC01KTsgLy8gYmFzZSB0cmFuc2Zvcm0sIHRvZG86IGNyZWF0ZSByYW5kb21uZXNzXG4gICAgYm94LXNoYWRvdzogMCAzcHggOHB4IHJnYmEoMCwgMCwgMCwgLjg1KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDUlO1xuICAgICAgICAvL0BtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgICAgIC8vICAgIG1pbi13aWR0aDogMTQwcHg7XG4gICAgICAgIC8vfVxuICAgICAgICAvLy5ob21lICYge1xuICAgICAgICAvLyAgICBtYXgtd2lkdGg6IDI1JTsgLy8gcmVzcG9uc2l2ZSBpbWFnZSAgXG4gICAgICAgIC8vICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIC8vICAgICAgICBtYXgtd2lkdGg6IDQwJTsgLy8gcmVzcG9uc2l2ZSBpbWFnZVxuICAgICAgICAvLyAgICB9XG4gICAgICAgIC8vfVxuICAgIH1cbiAgICAvLyBzb21lIGZpeGVkIHJhbmRvbW5lc3M7IHNhc3MgaGFzIHJhbmRvbSgpIGZ1bmN0aW9uIGJ1dCBsb2NhbCBncnVudC1zYXNzIGluc3RhbGwgTUJQIGRvZXNuJ3Qgd29yayB5ZXRcbiAgICAvLy8vIHJhbmRvbSByb3RhdGlvbnMgb2YgdGhlIGltYWdlcyBpbiB0aGUgYXNzb3J0bWVudC1saXN0cyAod2hlbiBJIGdldCBzYXNzLWNvbXBpbGVyIHdvcmtpbmcuLi4pXG4gICAgLy8uYXNzb3J0bWVudCwgLmRpc2NvdW50IHtcbiAgICAvLyAgICBpbWcge1xuICAgIC8vICAgICAgICBAaW5jbHVkZSByb3RhdGUocmFuZG9tKC0xMCwxMCkpO1xuICAgIC8vICAgICAgICBjb2xvcjogb3JhbmdlO1xuICAgIC8vICAgIH1cbiAgICAvL31cbiAgICBsaS5pdGVtOm50aC1vZi10eXBlKDJuKSBpbWcge1xuICAgICAgICBAaW5jbHVkZSByb3RhdGUoNSk7XG4gICAgfVxuICAgIGxpLml0ZW06bnRoLW9mLXR5cGUoM24pIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIHJvdGF0ZSgtMik7XG4gICAgfVxuICAgIGxpLml0ZW06bnRoLW9mLXR5cGUoNW4pIGltZyxcbiAgICBkaXYuaXRlbTpudGgtb2YtdHlwZSgybikgaW1nIHtcbiAgICAgICAgQGluY2x1ZGUgcm90YXRlKDIpO1xuICAgIH1cbn1cblxuLnByaWNlIHtcbiAgICBmb250LXNpemU6ICRoZWFkZXItZm9udC1zaXplICogLjg1O1xuICAgIC5hbW91bnQge1xuICAgICAgICBmb250LXNpemU6IDEuMjVlbTsgXG4gICAgfVxuICAgIC5kZWNpbWFscyB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgICB9XG59XG5cblxuLy8qICFOb3RpZmljYXRpb25zICovXG4ubm90aWZpY2F0aW9uIHtcbiAgICAvLyByZWRcbiAgICAmLmRpc2NvdW50LnJvb2Q6YmVmb3JlLFxuICAgICYuZGlzY291bnQucm9vZDphZnRlciB7IC8vIHRoZSBhcnJvdyBvbiB0aGUgZGlzY291bnQtbm90aWZpY2F0aW9uXG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHJlZDtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRyZWQ7XG4gICAgfVxuICAgICYuY2FsbG91dC5yb29kIDpiZWZvcmUgeyAvLyB0aGUgY2FsbC1vdXQgYmF0Y2hcbiAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgfVxuICAgIC8vIG9yYW5nZVxuICAgICYuZGlzY291bnQub3JhbmplOmJlZm9yZSxcbiAgICAmLmRpc2NvdW50Lm9yYW5qZTphZnRlciB7IC8vIHRoZSBhcnJvdyBvbiB0aGUgZGlzY291bnQtbm90aWZpY2F0aW9uXG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJG9yYW5nZTtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRvcmFuZ2U7XG4gICAgfVxuICAgICYuY2FsbG91dC5vcmFuamUgOmJlZm9yZSB7IC8vIHRoZSBjYWxsLW91dCBiYXRjaFxuICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICB9XG4gICAgLy8geWVsbG93XG4gICAgJi5kaXNjb3VudC53YXJtZ2VlbDpiZWZvcmUsXG4gICAgJi5kaXNjb3VudC53YXJtZ2VlbDphZnRlciB7IC8vIHRoZSBhcnJvdyBvbiB0aGUgZGlzY291bnQtbm90aWZpY2F0aW9uXG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHllbGxvdzsgXG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkeWVsbG93OyAgICBcbiAgICB9XG4gICAgJi5jYWxsb3V0Lndhcm1nZWVsIDpiZWZvcmUgeyAvLyB0aGUgY2FsbC1vdXQgYmF0Y2hcbiAgICAgICAgY29sb3I6ICR5ZWxsb3c7XG4gICAgfVxuICAgIC8vIGdyZWVuXG4gICAgJi5kaXNjb3VudC5ncm9lbjpiZWZvcmUsXG4gICAgJi5kaXNjb3VudC5ncm9lbjphZnRlciB7IC8vIHRoZSBhcnJvdyBvbiB0aGUgZGlzY291bnQtbm90aWZpY2F0aW9uXG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGdyZWVuOyBcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRncmVlbjsgICAgXG4gICAgfVxuICAgICYuY2FsbG91dC5ncm9lbiA6YmVmb3JlIHsgLy8gdGhlIGNhbGwtb3V0IGJhdGNoXG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgfVxuICAgIC8vIHBpbmtcbiAgICAmLmRpc2NvdW50LnJvemU6YmVmb3JlLFxuICAgICYuZGlzY291bnQucm96ZTphZnRlciB7IC8vIHRoZSBhcnJvdyBvbiB0aGUgZGlzY291bnQtbm90aWZpY2F0aW9uXG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBpbms7ICAgIFxuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBpbms7ICAgIFxuICAgIH1cbiAgICAmLmNhbGxvdXQucm96ZSA6YmVmb3JlIHsgLy8gdGhlIGNhbGwtb3V0IGJhdGNoXG4gICAgICAgIGNvbG9yOiAkcGluaztcbiAgICB9XG4gICAgLy8gcHVycGxlXG4gICAgJi5kaXNjb3VudC5wYWFyczpiZWZvcmUsXG4gICAgJi5kaXNjb3VudC5wYWFyczphZnRlciB7IC8vIHRoZSBhcnJvdyBvbiB0aGUgZGlzY291bnQtbm90aWZpY2F0aW9uXG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHB1cnBsZTtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwdXJwbGU7ICAgXG4gICAgfVxuICAgICYuY2FsbG91dC5wYWFycyA6YmVmb3JlIHsgLy8gdGhlIGNhbGwtb3V0IGJhdGNoXG4gICAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgIH1cbiAgICAvL2JsdWVcbiAgICAmLmRpc2NvdW50LmJsYXV3OmJlZm9yZSxcbiAgICAmLmRpc2NvdW50LmJsYXV3OmFmdGVyIHsgLy8gdGhlIGFycm93IG9uIHRoZSBkaXNjb3VudC1ub3RpZmljYXRpb25cbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkYnJhbmQtYmx1ZTtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRicmFuZC1ibHVlOyAgIFxuICAgIH1cbiAgICAmLmNhbGxvdXQuYmxhdXcgOmJlZm9yZSB7IC8vIHRoZSBjYWxsLW91dCBiYXRjaFxuICAgICAgICBjb2xvcjogJGJyYW5kLWJsdWU7XG4gICAgfVxufVxuXG5cbi8vKiAhRGlzY291bnQgKi9cbi5pbi1kaXNjb3VudCAucHJpY2V0YWdzIHtcbiAgICBjb2xvcjogJG9yYW5nZTtcbn1cblxuLy8gSW4gdGhlIEFzc29ydG1lbnQgTGlzdFxuLmRpc2NvdW50Lm5vdGlmaWNhdGlvbiB7XG4gICAgLy8gV2UgdXNlIHRoZSBkaXNjb3VudCBub3RpZmljYXRpb24gcHJpbWFyZWx5IG9uIHRoZSBsZWZ0XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHotaW5kZXg6IDE1O1xuICAgIGhlaWdodDogJHNwYWNpbmcgKiAyO1xuICAgIGxpbmUtaGVpZ2h0OiAkc3BhY2luZyAqIDI7XG4gICAgLy8gY29sb3JzIGFyZSBkZWZpbmVkIEAgTm90aWZpY2F0aW9uIENvbG9yc1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDNweCByZ2JhKDAsIDAsIDAsIC43NSk7XG4gICAgLy8vLyBURVNUIFNUWUxFU1xuICAgIC8vICAgIGxlZnQ6IDVyZW07XG4gICAgLy8gICAgcGFkZGluZzogMDtcbiAgICAvLyBQb3NpdGlvbjogTW9iaWxlIHZzIERlc2t0b3BcbiAgICAmLm1vYmlsZS1vbmx5IHtcbiAgICAgICAgdG9wOiAkc3BhY2luZztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRzcGFjaW5nICogMjtcbiAgICB9XG4gICAgJi5kZXNrdG9wLW9ubHkge1xuICAgICAgICB0b3A6IC0kc3BhY2luZztcbiAgICAgICAgbWFyZ2luLXRvcDogLSRzcGFjaW5nICogMjtcbiAgICB9XG4gICAgLy8gUG9zaXRpb246IGxlZnQgb3IgcmlnaHRcbiAgICAmLmxlZnQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbGVmdDogLSgkc3BhY2luZyAqIDIpO1xuICAgICAgICBwYWRkaW5nOiAwICRzcGFjaW5nICogLjUgMCAkc3BhY2luZztcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgIGxlZnQ6IC0kc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgICAgICAgICAgLy9wYWRkaW5nLXJpZ2h0OiAkc3BhY2luZyAqIC4yOyAvLyB3ZSBkZWNpbWF0ZSB0aGUgbGVmdCBwYWRkaW5nIGJlY2F1c2Ugb2YgdGhlIGFycm93J3Mgd2lkdGhcbiAgICAgICAgfVxuICAgICAgICAvLy8vIHRoZSBhcnJvd1xuICAgICAgICAvLyY6YmVmb3JlIHtcbiAgICAgICAgLy8gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC8vICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC8vICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAvL31cbiAgICB9XG4gICAgJi5yaWdodCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgcmlnaHQ6IC0oJHNwYWNpbmcgKiAyKTtcbiAgICAgICAgcGFkZGluZzogMCAkc3BhY2luZyAwICRzcGFjaW5nICogLjU7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICByaWdodDogLSRzcGFjaW5nICogLjU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgICAgICAgICAgIC8vcGFkZGluZy1sZWZ0OiAkc3BhY2luZyAqIC4yOyAvLyB3ZSBkZWNpbWF0ZSB0aGUgbGVmdCBwYWRkaW5nIGJlY2F1c2Ugb2YgdGhlIGFycm93J3Mgd2lkdGhcbiAgICAgICAgfVxuICAgICAgICAvLy8vIHRoZSBhcnJvd1xuICAgICAgICAvLyY6YmVmb3JlIHtcbiAgICAgICAgLy8gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC8vICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgLy8gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC8vfVxuICAgIH1cbiAgICAuZGlzY291bnQtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJpZy1mb250LXNpemU7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgLjUpO1xuICAgIH1cbn1cblxuLy8gT24gdGhlIGZyb250cGFnZVxuLmluLWRpc2NvdW50LmZyb250cGFnZSB7XG4gICAgaDIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE1O1xuICAgICAgICB0b3A6IC0oJHNwYWNpbmcgKiAyKTsgLy8gcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgZmlyc3QgaXRlbVxuICAgICAgICBoZWlnaHQ6ICRzcGFjaW5nICogMjtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzcGFjaW5nICogMjtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAuNSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDNweCByZ2JhKDAsIDAsIDAsIC43NSk7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRiaWctZm9udC1zaXplO1xuICAgICAgICB9XG4gICAgICAgIC8vIFBvc2l0aW9uOiBsZWZ0IG9yIHJpZ2h0XG4gICAgICAgIC8vLy8gVEVTVCBTVFlMRVNcbiAgICAgICAgLy9sZWZ0OiA1cmVtO1xuICAgICAgICAvL3BhZGRpbmc6IDA7XG4gICAgICAgICYubGVmdCB7XG4gICAgICAgICAgICBsZWZ0OiAtKCgkc3BhY2luZyAqIDIpKygkc3BhY2luZyAqIC4yKSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICRzcGFjaW5nICogLjUgMCAkc3BhY2luZztcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICAgICAgbGVmdDogLSRzcGFjaW5nICogLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmcgKiAuNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHRoZSBhcnJvd1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRvcmFuZ2U7IC8vIGFycm93IGNvbG9yXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gQmV3YXJlOiBvbiBzbWFsbCBkZXZpY2VzIHRoZSBub3RpZmljYXRpb24gZG9lc24ndCBmaXQgLi4uIHNvIHRoaXMgY29kZSBpcyBvbmx5IGZvciBmdW4sIG5vdCBmb3IgcHJvZHVjdGlvbiA6KSBcbiAgICAgICAgJi5yaWdodCB7XG4gICAgICAgICAgICByaWdodDogLSgoJHNwYWNpbmcgKiAyKSsoJHNwYWNpbmcgKiAuMikpO1xuICAgICAgICAgICAgcGFkZGluZzogMCAkc3BhY2luZyAwICRzcGFjaW5nICogLjU7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtJHNwYWNpbmcgKiAuNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHNwYWNpbmcgKiAuNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHRoZSBhcnJvd1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJG9yYW5nZTsgLy8gYXJyb3cgY29sb3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8qICFDYWxsIE91dCAqL1xuLmNhbGxvdXQubm90aWZpY2F0aW9uIHtcbiAgICAvLyBXZSBkb24ndCB1c2UgYXJyb3dzIG9uIHRoZSBjYWxsb3V0c1xuICAgIEBleHRlbmQgJWFycm93bGVzcztcbiAgICAvLyBwb3NpdGlvbnNcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgcmlnaHQ6IDMwJTtcbiAgICAgICAgQGluY2x1ZGUgcm90YXRlKDE1KTtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgbGVmdDogLSgkc3BhY2luZyAqIDMpO1xuICAgICAgICBAaW5jbHVkZSByb3RhdGUoLTE1KTtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICAgICAgbGVmdDogLSgkc3BhY2luZyAqIDQpO1xuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTIuNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxMi41cmVtO1xuICAgIH1cbiAgICAuY2FrZS1pY29uLXNwb3Qge1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC0kc3BhY2luZztcbiAgICAgICAgICAgIGxlZnQ6IC0kc3BhY2luZztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTcuNXJlbTtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIDJweCAzcHggcmdiYSgwLCAwLCAwLCAuNzUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jYWxsb3V0LXRleHQge1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgcGFkZGluZzogNHJlbSAkc3BhY2luZyAqIC43NTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAuNSk7XG4gICAgfVxufVxuXG5cbi8vKiAhQ29yZG9uIEJsZXUgKi9cbi5jb3Jkb25ibGV1IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtKCRzcGFjaW5nICogLjYpO1xuICAgIC8vcmlnaHQ6IC0oJHNwYWNpbmcgKyAuMjVyZW0pO1xuICAgIC8vQGluY2x1ZGUgcm90YXRlKDkwKTtcbiAgICB3aWR0aDogOTBweDtcbiAgICBoZWlnaHQ6IDE0MnB4O1xuICAgIGJhY2tncm91bmQ6IHVybCgnaW1nL21lZGFpbGxlLWxjYi5wbmcnKSBuby1yZXBlYXQgdG9wIGNlbnRlcjtcbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICBoZWlnaHQ6IDE0MnB4O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxufSIsIi8vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy9TaXRlIE5hbWU6IFBhdGlzc2VyaWUgSnVsaWV0dGUgXG4vL0F1dGhvcjogcGl4ZWxsaXF1aWRcbi8vXG4vL1N0eWxlc2hlZXQ6IFJldGluYSBTY3JlZW5zICYgRGV2aWNlcyBTdHlsZXNoZWV0XG4vL1xuLy9XaGVuIGhhbmRsaW5nIHJldGluYSBzY3JlZW5zIHlvdSBuZWVkIHRvIG1ha2UgYWRqdXN0bWVudHMsIGVzcGVjaWFsbHlcbi8vaWYgeW91J3JlIG5vdCB1c2luZyBmb250IGljb25zLiBIZXJlIHlvdSBjYW4gYWRkIHRoZW0gaW4gb25lIG5lYXRcbi8vcGxhY2UuXG4vL1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vL1xuLy8vKiBcbi8vXG4vL0VYQU1QTEUgXG4vL0xldCdzIHNheSB5b3UgaGF2ZSBhbiBpbWFnZSBhbmQgeW91IG5lZWQgdG8gbWFrZSBzdXJlIGl0IGxvb2tzIG9rXG4vL29uIHJldGluYSBzY3JlZW5zLiBMZXQncyBzYXkgd2UgaGF2ZSBhbiBpY29uIHdoaWNoIGRpbWVuc2lvbnMgYXJlXG4vLzI0cHggeCAyNHB4LiBJbiB5b3VyIHJlZ3VsYXIgc3R5bGVzaGVldHMsIGl0IHdvdWxkIGxvb2sgc29tZXRoaW5nXG4vL2xpa2UgdGhpczpcbi8vXG4vLy5pY29uIHtcbi8vXHR3aWR0aDogMjRweDtcbi8vXHRoZWlnaHQ6IDI0cHg7XG4vL1x0YmFja2dyb3VuZDogdXJsKGltZy90ZXN0LnBuZykgbm8tcmVwZWF0O1xuLy99XG4vL1xuLy9Gb3IgcmV0aW5hIHNjcmVlbnMsIHdlIGhhdmUgdG8gbWFrZSBzb21lIGFkanVzdG1lbnRzLCBzbyB0aGF0IGltYWdlXG4vL2RvZXNuJ3QgbG9vayBibHVycnkuIFNvLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBpbWFnZSBhYm92ZSBhbmQgdGhlXG4vL2RpbWVuc2lvbnMsIHRoaXMgaXMgd2hhdCB3ZSB3b3VsZCBwdXQgaW4gb3VyIHJldGluYSBzdHlsZXNoZWV0OlxuLy9cbi8vLmljb24ge1xuLy9cdGJhY2tncm91bmQ6IHVybChpbWcvdGVzdEAyeC5wbmcpIG5vLXJlcGVhdDtcbi8vXHRiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDtcbi8vfVxuLy9cbi8vU28sIHlvdSB3b3VsZCBjcmVhdGUgdGhlIHNhbWUgaWNvbiwgYnV0IGF0IGRvdWJsZSB0aGUgcmVzb2x1dGlvbiwgbWVhbmluZyBcbi8vaXQgd291bGQgYmUgNDhweCB4IDQ4cHguIFlvdSdkIG5hbWUgaXQgdGhlIHNhbWUsIGJ1dCB3aXRoIGEgQDJ4IGF0IHRoZSBlbmRcbi8vKHRoaXMgaXMgcHJldHR5IHN0YW5kYXJkIHByYWN0aWNlKS4gU2V0IHRoZSBiYWNrZ3JvdW5kIGltYWdlIHNvIGl0IG1hdGNoZXNcbi8vdGhlIG9yaWdpbmFsIGRpbWVuc2lvbnMgYW5kIHlvdSBhcmUgZ29vZCB0byBnby4gXG4vL1xuLy8qL1xuXG5AbWVkaWFcbm9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbm9ubHkgc2NyZWVuIGFuZCAoICAgICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG5vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLFxub25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSB7IFxuICBcbiAgICAvKiBSZXRpbmEtc3BlY2lmaWMgc3R1ZmYgaGVyZSAqL1xuXG4gICAgLnNpdGUtdGl0bGUge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChpbWcvbG9nb3R5cGVAMngucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogODAwcHggMTAwcHg7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3ODRweCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChpbWcvbG9nb3R5cGUtc21hbGxAMngucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDYwMHB4IDEwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoaW1nL2xvZ29AMngucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDgwcHggODBweDtcbiAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQtc2l6ZTogNjAwcHggMTAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn0iXX0= */
