@charset "UTF-8";
<<<<<<< HEAD
/**
 * #SETTINGS
 */
/*------------------------------------*    #FOUNDATION SETTINGS
    #PLEASE DO NOT MODIFY THIS FILE
    #ADD YOUR SPECIFIC SETTINGS INTO SETTINGS FOLDER
\*------------------------------------*/
/*------------------------------------*    #GLOBAL SETTINGS
\*------------------------------------*/
/*------------------------------------*    #SPACING SETTINGS
\*------------------------------------*/
/*------------------------------------*    #COLORS SETTINGS
\*------------------------------------*/
/*------------------------------------*    #FONTS SETTINGS
\*------------------------------------*/
/*------------------------------------*    #SHADOW SETTINGS
\*------------------------------------*/
/**
 * #TOOLS
 */
/**
 * Foundation for Sites by ZURB
 * Version 6.2.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/**
 * #GENERIC
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
   * 1. Set default font family to sans-serif.
   * 2. Prevent iOS and IE text size adjust after device orientation change,
   *    without disabling user zoom.
   */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
   * Remove default margin.
   */
body {
  margin: 0; }

/* HTML5 display definitions
     ========================================================================== */
/**
   * Correct `block` display not defined for any HTML5 element in IE 8/9.
   * Correct `block` display not defined for `details` or `summary` in IE 10/11
   * and Firefox.
   * Correct `block` display not defined for `main` in IE 11.
   */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
   * 1. Correct `inline-block` display not defined in IE 8/9.
   * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
   */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
   * Prevent modern browsers from displaying `audio` without controls.
   * Remove excess height in iOS 5 devices.
   */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
   * Address `[hidden]` styling not present in IE 8/9/10.
   * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
   */
[hidden],
template {
  display: none; }

/* Links
     ========================================================================== */
/**
   * Remove the gray background color from active links in IE 10.
   */
a {
  background-color: transparent; }

/**
   * Improve readability of focused elements when they are also in an
   * active/hover state.
   */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
     ========================================================================== */
/**
   * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
   */
abbr[title] {
  border-bottom: 1px dotted; }

/**
   * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
   */
b,
strong {
  font-weight: bold; }

/**
   * Address styling not present in Safari and Chrome.
   */
dfn {
  font-style: italic; }

/**
   * Address variable `h1` font-size and margin within `section` and `article`
   * contexts in Firefox 4+, Safari, and Chrome.
   */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
   * Address styling not present in IE 8/9.
   */
mark {
  background: #ff0;
  color: #000; }

/**
   * Address inconsistent and variable font size in all browsers.
   */
small {
  font-size: 80%; }

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
     ========================================================================== */
/**
   * Remove border when inside `a` element in IE 8/9/10.
   */
img {
  border: 0; }

/**
   * Correct overflow not hidden in IE 9/10/11.
   */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
     ========================================================================== */
/**
   * Address margin not present in IE 8/9 and Safari.
   */
figure {
  margin: 1em 40px; }

/**
   * Address differences between Firefox and other browsers.
   */
hr {
  box-sizing: content-box;
  height: 0; }

/**
   * Contain overflow in all browsers.
   */
pre {
  overflow: auto; }

/**
   * Address odd `em`-unit font size rendering in all browsers.
   */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
     ========================================================================== */
/**
   * Known limitation: by default, Chrome and Safari on OS X allow very limited
   * styling of `select`, unless a `border` property is set.
   */
/**
   * 1. Correct color not being inherited.
   *    Known issue: affects color of disabled elements.
   * 2. Correct font properties not being inherited.
   * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
   */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
   * Address `overflow` set to `hidden` in IE 8/9/10/11.
   */
button {
  overflow: visible; }

/**
   * Address inconsistent `text-transform` inheritance for `button` and `select`.
   * All other form control elements do not inherit `text-transform` values.
   * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
   * Correct `select` style inheritance in Firefox.
   */
button,
select {
  text-transform: none; }

/**
   * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
   *    and `video` controls.
   * 2. Correct inability to style clickable `input` types in iOS.
   * 3. Improve usability and consistency of cursor style between image-type
   *    `input` and others.
   */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
   * Re-set default cursor for disabled elements.
   */
button[disabled],
html input[disabled] {
  cursor: not-allowed; }

/**
   * Remove inner padding and border in Firefox 4+.
   */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
   * Address Firefox 4+ setting `line-height` on `input` using `!important` in
   * the UA stylesheet.
   */
input {
  line-height: normal; }

/**
   * It's recommended that you don't attempt to style these elements.
   * Firefox's implementation doesn't respect box-sizing, padding, or width.
   *
   * 1. Address box sizing set to `content-box` in IE 8/9/10.
   * 2. Remove excess padding in IE 8/9/10.
   */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
   * Fix the cursor style for Chrome's increment/decrement buttons. For certain
   * `font-size` values of the `input`, it causes the cursor style of the
   * decrement button to change from `default` to `text`.
   */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
   * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
   * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
   */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */ }

/**
   * Remove inner padding and search cancel button in Safari and Chrome on OS X.
   * Safari (but not Chrome) clips the cancel button when the search input has
   * padding (and `textfield` appearance).
   */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
   * Define consistent border, margin, and padding.
   * [NOTE] We don't enable this ruleset in Foundation, because we want the <fieldset> element to have plain styling.
   */
/* fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
  } */
/**
   * 1. Correct `color` not being inherited in IE 8/9/10/11.
   * 2. Remove padding so people aren't caught out if they zero out fieldsets.
   */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
   * Remove default vertical scrollbar in IE 8/9/10/11.
   */
textarea {
  overflow: auto; }

/**
   * Don't inherit the `font-weight` (applied by a rule above).
   * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
   */
optgroup {
  font-weight: bold; }

/* Tables
     ========================================================================== */
/**
   * Remove most spacing between table cells.
   */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

.foundation-mq {
  font-family: "small=0em&medium=48em&large=64em&xlarge=75em&xxlarge=90em"; }

html {
  font-size: 100%;
  box-sizing: border-box; }

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

body {
  padding: 0;
  margin: 0;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #515151;
  background: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
  display: inline-block;
  vertical-align: middle; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  width: 100%;
  border-radius: 0; }

#map_canvas img,
#map_canvas embed,
#map_canvas object,
.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: transparent;
  padding: 0;
  border: 0;
  border-radius: 0;
  line-height: 1; }
  [data-whatinput='mouse'] button {
    outline: 0; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

p {
  font-size: inherit;
  line-height: 1.6;
  margin-bottom: 1rem;
  text-rendering: optimizeLegibility; }

em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: bold;
  line-height: inherit; }

small {
  font-size: 80%;
  line-height: inherit; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  font-style: normal;
  color: inherit;
  text-rendering: optimizeLegibility;
  margin-top: 0;
  margin-bottom: 0.5rem;
  line-height: 1.4; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  h5 small,
  h6 small {
    color: #cacaca;
    line-height: 0; }

h1 {
  font-size: 1.5rem; }

h2 {
  font-size: 1.25rem; }

h3 {
  font-size: 1.1875rem; }

h4 {
  font-size: 1.125rem; }

h5 {
  font-size: 1.0625rem; }

h6 {
  font-size: 1rem; }

@media screen and (min-width: 48em) {
  h1 {
    font-size: 3rem; }
  h2 {
    font-size: 2.5rem; }
  h3 {
    font-size: 1.9375rem; }
  h4 {
    font-size: 1.5625rem; }
  h5 {
    font-size: 1.25rem; }
  h6 {
    font-size: 1rem; } }

a {
  color: #2199e8;
  text-decoration: none;
  line-height: inherit;
  cursor: pointer; }
  a:hover, a:focus {
    color: #1585cf; }
  a img {
    border: 0; }

hr {
  max-width: 75rem;
  height: 0;
  border-right: 0;
  border-top: 0;
  border-bottom: 1px solid #cacaca;
  border-left: 0;
  margin: 1.25rem auto;
  clear: both; }

ul,
ol,
dl {
  line-height: 1.6;
  margin-bottom: 1rem;
  list-style-position: outside; }

li {
  font-size: inherit; }

ul {
  list-style-type: disc;
  margin-left: 1.25rem; }

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #cacaca; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a; }
  cite:before {
    content: '\2014 \0020'; }

abbr {
  color: #515151;
  cursor: help;
  border-bottom: 1px dotted #0a0a0a; }

code {
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #0a0a0a;
  background-color: #e6e6e6;
  border: 1px solid #cacaca;
  padding: 0.125rem 0.3125rem 0.0625rem; }

kbd {
  padding: 0.125rem 0.25rem 0;
  margin: 0;
  background-color: #e6e6e6;
  color: #0a0a0a;
  font-family: Consolas, "Liberation Mono", Courier, monospace; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #8a8a8a; }

.lead {
  font-size: 125%;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

.no-bullet {
  margin-left: 0;
  list-style: none; }

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

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

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

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

@media screen and (min-width: 48em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media screen and (min-width: 64em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  margin: 0 0 1rem;
  font-family: inherit;
  font-size: 1rem;
  color: #0a0a0a;
  background-color: #fefefe;
  box-shadow: 0;
  border-radius: 0;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
  -moz-appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    border: 1px solid #2199e8;
    background-color: #fefefe;
    outline: none;
    box-shadow: 0;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

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

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

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

input::placeholder,
textarea::placeholder {
  color: #cacaca; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: default; }

[type='submit'],
[type='button'] {
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none; }

input[type='search'] {
  box-sizing: border-box; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
  vertical-align: baseline; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #0a0a0a; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #0a0a0a; }

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1rem; }
  .input-group > :first-child {
    border-radius: 0 0 0 0; }
  .input-group > :last-child > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button {
  margin: 0;
  white-space: nowrap;
  display: table-cell;
  vertical-align: middle; }

.input-group-label {
  text-align: center;
  padding: 0 1rem;
  background: #e6e6e6;
  color: #0a0a0a;
  border: 1px solid #cacaca;
  white-space: nowrap;
  width: 1%;
  height: 100%; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  height: 2.5rem; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  height: 100%;
  width: 1%; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button {
    margin: 0; }

.input-group .input-group-button {
  display: table-cell; }

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

legend {
  margin-bottom: 0.5rem;
  max-width: 100%; }

.fieldset {
  border: 1px solid #cacaca;
  padding: 1.25rem;
  margin: 1.125rem 0; }
  .fieldset legend {
    background: #ffffff;
    padding: 0 0.1875rem;
    margin: 0;
    margin-left: -0.1875rem; }

select {
  height: 2.4375rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  margin: 0 0 1rem;
  font-size: 1rem;
  font-family: inherit;
  line-height: normal;
  color: #0a0a0a;
  background-color: #fefefe;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-size: 9px 6px;
  background-position: right -1rem center;
  background-origin: content-box;
  background-repeat: no-repeat;
  padding-right: 1.5rem; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:disabled {
    background-color: #e6e6e6;
    cursor: default; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  background-color: rgba(236, 88, 64, 0.1);
  border-color: #ec5840; }

.is-invalid-label {
  color: #ec5840; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #ec5840; }
  .form-error.is-visible {
    display: block; }

table {
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  table thead,
  table tbody,
  table tfoot {
    border: 1px solid #f1f1f1;
    background-color: #fefefe; }
  table caption {
    font-weight: bold;
    padding: 0.5rem 0.625rem 0.625rem; }
  table thead,
  table tfoot {
    background: #f8f8f8;
    color: #0a0a0a; }
    table thead tr,
    table tfoot tr {
      background: transparent; }
    table thead th,
    table thead td,
    table tfoot th,
    table tfoot td {
      padding: 0.5rem 0.625rem 0.625rem;
      font-weight: bold;
      text-align: left; }
  table tbody tr:nth-child(even) {
    background-color: #f1f1f1; }
  table tbody th,
  table tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }

@media screen and (max-width: 63.9375em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover tr:hover {
  background-color: #f9f9f9; }

table.hover tr:nth-of-type(even):hover {
  background-color: #ececec; }

.table-scroll {
  overflow-x: auto; }
  .table-scroll table {
    width: auto; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 47.9375em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 48em) {
  .show-for-small-only {
    display: none !important; } }

@media screen and (min-width: 48em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 47.9375em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 47.9375em), screen and (min-width: 64em) {
  .show-for-medium-only {
    display: none !important; } }

@media screen and (min-width: 64em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 63.9375em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0); }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  height: auto;
  width: auto;
  overflow: visible;
  clip: auto; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

.has-tip {
  border-bottom: dotted 1px #8a8a8a;
  font-weight: bold;
  position: relative;
  display: inline-block;
  cursor: help; }

.tooltip {
  background-color: #ebebeb;
  color: #000000;
  font-size: 80%;
  padding: 0.75rem;
  position: absolute;
  z-index: 10;
  top: calc(100% + 0.6495rem);
  max-width: 10rem !important;
  border-radius: 0; }
  .tooltip::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent transparent #ebebeb;
    border-bottom-style: solid;
    border-top-width: 0;
    bottom: 100%;
    position: absolute;
    left: 50%;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%); }
  .tooltip.top::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: #ebebeb transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    top: 100%;
    bottom: auto; }
  .tooltip.left::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent transparent transparent #ebebeb;
    border-left-style: solid;
    border-right-width: 0;
    bottom: auto;
    left: 100%;
    top: 50%;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%); }
  .tooltip.right::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent #ebebeb transparent transparent;
    border-right-style: solid;
    border-left-width: 0;
    bottom: auto;
    left: auto;
    right: 100%;
    top: 50%;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%); }

/**
 * #BASE
 */
/*------------------------------------*    #PAGE
\*------------------------------------*/
html {
  font-family: "Proxima Nova", sans-serif;
  font-weight: 300; }

body,
html {
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0;
  overflow: auto;
  overflow: initial; }

/*------------------------------------*    #HEADINGS
\*------------------------------------*/
h1, h2,
.title-level1 {
  font-family: "Droid Serif", Georgia, Times New Roman, serif;
  font-size: 1.75rem;
  font-weight: bold;
  color: #212121;
  margin-bottom: 1.875rem; }
  h1.has-icon .svg-icon, h2.has-icon .svg-icon,
  .title-level1.has-icon .svg-icon {
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.3125rem; }
  @media screen and (max-width: 63.9375em) {
    h1, h2,
    .title-level1 {
      font-size: 1.5rem;
      line-height: 1.875rem; } }
  @media screen and (max-width: 47.9375em) {
    h1 [id="content"] h1, h2 [id="content"] h1,
    .title-level1 [id="content"] h1 {
      margin-top: 1.25rem; } }

.subtitle {
  font-weight: normal;
  font-size: 1rem;
  display: block;
  clear: both; }

h2 {
  margin-bottom: 0.625rem; }
  @media screen and (max-width: 63.9375em) {
    h2 {
      font-size: 1.5rem;
      line-height: 1.875rem; } }

.title-level2 {
  font-size: 1.25rem; }

h3,
.title-level3 {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-weight: 800;
  color: #000000;
  font-size: 1.125rem;
  text-transform: uppercase;
  border-left: 4px solid #d40000;
  padding-left: 0.625rem;
  margin: 0.625rem 0 1.25rem;
  line-height: 1.4rem; }
  @media screen and (min-width: 64em) {
    h3,
    .title-level3 {
      font-size: 1.4375rem;
      margin: 1.25rem 0 2.5rem; } }

.body h3 {
  clear: both; }

h4,
.title-level4 {
  border: 0;
  padding: 0 0 0.625rem 0;
  margin-bottom: 1.25rem;
  font-family: "Droid Serif", Georgia, Times New Roman, serif;
  font-size: 1.125rem;
  color: #212121;
  border-bottom: 1px solid #d6d6d6; }

@media print {
  h1,
  .title-level1 {
    font-size: 1.33125rem; }
  h2,
  .title-level2 {
    font-size: 1.25rem; }
  html {
    font-size: 0.75rem; } }

/*------------------------------------*    #FORM
\*------------------------------------*/
select {
  height: 2.5rem;
  border-color: #d6d6d6;
  color: #6d6d6d;
  background-image: url("../img/svg/icon-caret-bottom.svg");
  background-size: 14px 8px; }

[type="text"] {
  border: 1px solid #d6d6d6; }

input:disabled, input[readonly] {
  background-color: transparent; }

select:focus,
input:focus {
  outline-color: #d40000 !important; }

[type="text"]:focus {
  border: 1px solid #d40000; }

.is-required:after {
  content: "*";
  color: #2199e8;
  position: absolute;
  right: 0.625rem; }

a {
  color: #212121;
  transition: all .2s; }

.body a {
  border-bottom: 1px solid #d40000; }

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

a.is-underlined {
  border-bottom: 1px solid #2199e8; }

.show-all {
  text-transform: uppercase;
  clear: both;
  display: inline-block;
  color: #212121;
  border-bottom: 1px solid #d40000;
  font-size: 0.6875rem;
  font-weight: 600; }

.skip-links {
  left: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1000; }
  .skip-links > li {
    position: absolute;
    width: 100%; }

.skip-links a {
  background-color: #ffffff;
  color: #d40000;
  font-size: 0.875rem;
  font-weight: bold;
  padding: 0.3125rem 0.625rem;
  position: absolute;
  left: -9999px;
  text-decoration: none; }
  .skip-links a:focus {
    left: 0;
    outline-color: #d6d6d6; }

figure {
  margin: 0; }

.object-left figure {
  margin-right: 1.25rem; }

.object-right figure {
  margin-left: 1.25rem; }

/**
 * #OBJECTS
 */
/**
 * #VENDOR
 */
/*-------------------------------------*	HINT.css - A CSS tooltip library
\*-------------------------------------*/
/**
 * HINT.css is a tooltip library made in pure CSS.
 *
 * Source: https://github.com/chinchang/hint.css
 * Demo: http://kushagragour.in/lab/hint/
 *
 * Release under The MIT License
 *
 */
/**
 * source: hint-core.scss
 *
 * Defines the basic styling for the tooltip.
 * Each tooltip is made of 2 parts:
 * 	1) body (:after)
 * 	2) arrow (:before)
 *
 * Classes added:
 * 	1) hint
 */
[class*="hint--"] {
  position: relative;
  display: inline-block;
  /**
	 * tooltip arrow
	 */
  /**
	 * tooltip body
	 */ }
  [class*="hint--"]:before, [class*="hint--"]:after {
    position: absolute;
    transform: translate3d(0, 0, 0);
    visibility: hidden;
    opacity: 0;
    z-index: 1000000;
    pointer-events: none;
    transition: 0.3s ease;
    transition-delay: 0ms; }
  [class*="hint--"]:hover:before, [class*="hint--"]:hover:after {
    visibility: visible;
    opacity: 1; }
  [class*="hint--"]:hover:before, [class*="hint--"]:hover:after {
    transition-delay: 100ms; }
  [class*="hint--"]:before {
    content: '';
    position: absolute;
    background: transparent;
    border: 6px solid transparent;
    z-index: 1000001; }
  [class*="hint--"]:after {
    background: #383838;
    color: white;
    padding: 8px 10px;
    font-size: 12px;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    line-height: 12px;
    white-space: nowrap; }
  [class*="hint--"][aria-label]:after {
    content: attr(aria-label); }
  [class*="hint--"][data-hint]:after {
    content: attr(data-hint); }

[aria-label='']:before, [aria-label='']:after,
[data-hint='']:before,
[data-hint='']:after {
  display: none !important; }

/**
 * source: hint-position.scss
 *
 * Defines the positoning logic for the tooltips.
 *
 * Classes added:
 * 	1) hint--top
 * 	2) hint--bottom
 * 	3) hint--left
 * 	4) hint--right
 */
/**
 * set default color for tooltip arrows
 */
.hint--top-left:before {
  border-top-color: #383838; }

.hint--top-right:before {
  border-top-color: #383838; }

.hint--top:before {
  border-top-color: #383838; }

.hint--bottom-left:before {
  border-bottom-color: #383838; }

.hint--bottom-right:before {
  border-bottom-color: #383838; }

.hint--bottom:before {
  border-bottom-color: #383838; }

.hint--left:before {
  border-left-color: #383838; }

.hint--right:before {
  border-right-color: #383838; }

/**
 * top tooltip
 */
.hint--top:before {
  margin-bottom: -11px; }

.hint--top:before, .hint--top:after {
  bottom: 100%;
  left: 50%; }

.hint--top:before {
  left: calc(50% - 6px); }

.hint--top:after {
  -ms-transform: translateX(-50%);
      transform: translateX(-50%); }

.hint--top:hover:before {
  -ms-transform: translateY(-8px);
      transform: translateY(-8px); }

.hint--top:hover:after {
  -ms-transform: translateX(-50%) translateY(-8px);
      transform: translateX(-50%) translateY(-8px); }

/**
 * bottom tooltip
 */
.hint--bottom:before {
  margin-top: -11px; }

.hint--bottom:before, .hint--bottom:after {
  top: 100%;
  left: 50%; }

.hint--bottom:before {
  left: calc(50% - 6px); }

.hint--bottom:after {
  -ms-transform: translateX(-50%);
      transform: translateX(-50%); }

.hint--bottom:hover:before {
  -ms-transform: translateY(8px);
      transform: translateY(8px); }

.hint--bottom:hover:after {
  -ms-transform: translateX(-50%) translateY(8px);
      transform: translateX(-50%) translateY(8px); }

/**
 * right tooltip
 */
.hint--right:before {
  margin-left: -11px;
  margin-bottom: -6px; }

.hint--right:after {
  margin-bottom: -14px; }

.hint--right:before, .hint--right:after {
  left: 100%;
  bottom: 50%; }

.hint--right:hover:before {
  -ms-transform: translateX(8px);
      transform: translateX(8px); }

.hint--right:hover:after {
  -ms-transform: translateX(8px);
      transform: translateX(8px); }

/**
 * left tooltip
 */
.hint--left:before {
  margin-right: -11px;
  margin-bottom: -6px; }

.hint--left:after {
  margin-bottom: -14px; }

.hint--left:before, .hint--left:after {
  right: 100%;
  bottom: 50%; }

.hint--left:hover:before {
  -ms-transform: translateX(-8px);
      transform: translateX(-8px); }

.hint--left:hover:after {
  -ms-transform: translateX(-8px);
      transform: translateX(-8px); }

/**
 * top-left tooltip
 */
.hint--top-left:before {
  margin-bottom: -11px; }

.hint--top-left:before, .hint--top-left:after {
  bottom: 100%;
  left: 50%; }

.hint--top-left:before {
  left: calc(50% - 6px); }

.hint--top-left:after {
  -ms-transform: translateX(-100%);
      transform: translateX(-100%); }

.hint--top-left:after {
  margin-left: 12px; }

.hint--top-left:hover:before {
  -ms-transform: translateY(-8px);
      transform: translateY(-8px); }

.hint--top-left:hover:after {
  -ms-transform: translateX(-100%) translateY(-8px);
      transform: translateX(-100%) translateY(-8px); }

/**
 * top-right tooltip
 */
.hint--top-right:before {
  margin-bottom: -11px; }

.hint--top-right:before, .hint--top-right:after {
  bottom: 100%;
  left: 50%; }

.hint--top-right:before {
  left: calc(50% - 6px); }

.hint--top-right:after {
  -ms-transform: translateX(0);
      transform: translateX(0); }

.hint--top-right:after {
  margin-left: -12px; }

.hint--top-right:hover:before {
  -ms-transform: translateY(-8px);
      transform: translateY(-8px); }

.hint--top-right:hover:after {
  -ms-transform: translateY(-8px);
      transform: translateY(-8px); }

/**
 * bottom-left tooltip
 */
.hint--bottom-left:before {
  margin-top: -11px; }

.hint--bottom-left:before, .hint--bottom-left:after {
  top: 100%;
  left: 50%; }

.hint--bottom-left:before {
  left: calc(50% - 6px); }

.hint--bottom-left:after {
  -ms-transform: translateX(-100%);
      transform: translateX(-100%); }

.hint--bottom-left:after {
  margin-left: 12px; }

.hint--bottom-left:hover:before {
  -ms-transform: translateY(8px);
      transform: translateY(8px); }

.hint--bottom-left:hover:after {
  -ms-transform: translateX(-100%) translateY(8px);
      transform: translateX(-100%) translateY(8px); }

/**
 * bottom-right tooltip
 */
.hint--bottom-right:before {
  margin-top: -11px; }

.hint--bottom-right:before, .hint--bottom-right:after {
  top: 100%;
  left: 50%; }

.hint--bottom-right:before {
  left: calc(50% - 6px); }

.hint--bottom-right:after {
  -ms-transform: translateX(0);
      transform: translateX(0); }

.hint--bottom-right:after {
  margin-left: -12px; }

.hint--bottom-right:hover:before {
  -ms-transform: translateY(8px);
      transform: translateY(8px); }

.hint--bottom-right:hover:after {
  -ms-transform: translateY(8px);
      transform: translateY(8px); }

/**
 * source: hint-sizes.scss
 *
 * Defines width restricted tooltips that can span
 * across multiple lines.
 *
 * Classes added:
 * 	1) hint--small
 * 	2) hint--medium
 * 	3) hint--large
 *
 */
.hint--small:after,
.hint--medium:after,
.hint--large:after {
  white-space: normal;
  line-height: 1.4em; }

.hint--small:after {
  width: 80px; }

.hint--medium:after {
  width: 150px; }

.hint--large:after {
  width: 300px; }

/**
 * source: hint-theme.scss
 *
 * Defines basic theme for tooltips.
 *
 */
[class*="hint--"] {
  /**
	 * tooltip body
	 */ }
  [class*="hint--"]:after {
    text-shadow: 0 -1px 0px black;
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.3); }

/**
 * source: hint-color-types.scss
 *
 * Contains tooltips of various types based on color differences.
 *
 * Classes added:
 * 	1) hint--error
 * 	2) hint--warning
 * 	3) hint--info
 * 	4) hint--success
 *
 */
/**
 * Error
 */
.hint--error:after {
  background-color: #b34e4d;
  text-shadow: 0 -1px 0px #592726; }

.hint--error.hint--top-left:before {
  border-top-color: #b34e4d; }

.hint--error.hint--top-right:before {
  border-top-color: #b34e4d; }

.hint--error.hint--top:before {
  border-top-color: #b34e4d; }

.hint--error.hint--bottom-left:before {
  border-bottom-color: #b34e4d; }

.hint--error.hint--bottom-right:before {
  border-bottom-color: #b34e4d; }

.hint--error.hint--bottom:before {
  border-bottom-color: #b34e4d; }

.hint--error.hint--left:before {
  border-left-color: #b34e4d; }

.hint--error.hint--right:before {
  border-right-color: #b34e4d; }

/**
 * Warning
 */
.hint--warning:after {
  background-color: #c09854;
  text-shadow: 0 -1px 0px #6c5328; }

.hint--warning.hint--top-left:before {
  border-top-color: #c09854; }

.hint--warning.hint--top-right:before {
  border-top-color: #c09854; }

.hint--warning.hint--top:before {
  border-top-color: #c09854; }

.hint--warning.hint--bottom-left:before {
  border-bottom-color: #c09854; }

.hint--warning.hint--bottom-right:before {
  border-bottom-color: #c09854; }

.hint--warning.hint--bottom:before {
  border-bottom-color: #c09854; }

.hint--warning.hint--left:before {
  border-left-color: #c09854; }

.hint--warning.hint--right:before {
  border-right-color: #c09854; }

/**
 * Info
 */
.hint--info:after {
  background-color: #3986ac;
  text-shadow: 0 -1px 0px #1a3c4d; }

.hint--info.hint--top-left:before {
  border-top-color: #3986ac; }

.hint--info.hint--top-right:before {
  border-top-color: #3986ac; }

.hint--info.hint--top:before {
  border-top-color: #3986ac; }

.hint--info.hint--bottom-left:before {
  border-bottom-color: #3986ac; }

.hint--info.hint--bottom-right:before {
  border-bottom-color: #3986ac; }

.hint--info.hint--bottom:before {
  border-bottom-color: #3986ac; }

.hint--info.hint--left:before {
  border-left-color: #3986ac; }

.hint--info.hint--right:before {
  border-right-color: #3986ac; }

/**
 * Success
 */
.hint--success:after {
  background-color: #458746;
  text-shadow: 0 -1px 0px #1a321a; }

.hint--success.hint--top-left:before {
  border-top-color: #458746; }

.hint--success.hint--top-right:before {
  border-top-color: #458746; }

.hint--success.hint--top:before {
  border-top-color: #458746; }

.hint--success.hint--bottom-left:before {
  border-bottom-color: #458746; }

.hint--success.hint--bottom-right:before {
  border-bottom-color: #458746; }

.hint--success.hint--bottom:before {
  border-bottom-color: #458746; }

.hint--success.hint--left:before {
  border-left-color: #458746; }

.hint--success.hint--right:before {
  border-right-color: #458746; }

/**
 * source: hint-always.scss
 *
 * Defines a persisted tooltip which shows always.
 *
 * Classes added:
 * 	1) hint--always
 *
 */
.hint--always:after, .hint--always:before {
  opacity: 1;
  visibility: visible; }

.hint--always.hint--top:before {
  -ms-transform: translateY(-8px);
      transform: translateY(-8px); }

.hint--always.hint--top:after {
  -ms-transform: translateX(-50%) translateY(-8px);
      transform: translateX(-50%) translateY(-8px); }

.hint--always.hint--top-left:before {
  -ms-transform: translateY(-8px);
      transform: translateY(-8px); }

.hint--always.hint--top-left:after {
  -ms-transform: translateX(-100%) translateY(-8px);
      transform: translateX(-100%) translateY(-8px); }

.hint--always.hint--top-right:before {
  -ms-transform: translateY(-8px);
      transform: translateY(-8px); }

.hint--always.hint--top-right:after {
  -ms-transform: translateY(-8px);
      transform: translateY(-8px); }

.hint--always.hint--bottom:before {
  -ms-transform: translateY(8px);
      transform: translateY(8px); }

.hint--always.hint--bottom:after {
  -ms-transform: translateX(-50%) translateY(8px);
      transform: translateX(-50%) translateY(8px); }

.hint--always.hint--bottom-left:before {
  -ms-transform: translateY(8px);
      transform: translateY(8px); }

.hint--always.hint--bottom-left:after {
  -ms-transform: translateX(-100%) translateY(8px);
      transform: translateX(-100%) translateY(8px); }

.hint--always.hint--bottom-right:before {
  -ms-transform: translateY(8px);
      transform: translateY(8px); }

.hint--always.hint--bottom-right:after {
  -ms-transform: translateY(8px);
      transform: translateY(8px); }

.hint--always.hint--left:before {
  -ms-transform: translateX(-8px);
      transform: translateX(-8px); }

.hint--always.hint--left:after {
  -ms-transform: translateX(-8px);
      transform: translateX(-8px); }

.hint--always.hint--right:before {
  -ms-transform: translateX(8px);
      transform: translateX(8px); }

.hint--always.hint--right:after {
  -ms-transform: translateX(8px);
      transform: translateX(8px); }

/**
 * source: hint-rounded.scss
 *
 * Defines rounded corner tooltips.
 *
 * Classes added:
 * 	1) hint--rounded
 *
 */
.hint--rounded:after {
  border-radius: 4px; }

/**
 * source: hint-effects.scss
 *
 * Defines various transition effects for the tooltips.
 *
 * Classes added:
 * 	1) hint--no-animate
 * 	2) hint--bounce
 *
 */
.hint--no-animate:before, .hint--no-animate:after {
  transition-duration: 0ms; }

.hint--bounce:before, .hint--bounce:after {
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s cubic-bezier(0.71, 1.7, 0.77, 1.24); }

/**
 * #COMPONENTS
 */
hr {
  border-bottom: 1px solid #d6d6d6; }

hr.strong {
  border-bottom: 1px solid #d6d6d6;
  border-width: 2px; }

.hamburger {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  width: 22px;
  height: 15px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  box-shadow: none;
  border-radius: none;
  border: none;
  cursor: pointer;
  transition: background 0.3s; }

.hamburger:focus {
  outline: none; }

.hamburger__bar {
  display: block;
  position: absolute;
  top: 6px;
  left: 0;
  right: 0;
  height: 3px;
  background: #d40000; }

.hamburger__bar::before,
.hamburger__bar::after {
  position: absolute;
  display: block;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #d40000;
  content: "";
  transition: top .3s .3s, bottom .3s .3s, transform .3s 0s; }

.hamburger__bar::before {
  top: -6px; }

.hamburger__bar::after {
  bottom: -6px; }

.hamburger__label {
  padding-left: 32px;
  font-size: 0.875rem;
  display: block;
  position: relative;
  top: -3px; }

.hamburger--htx {
  background-color: transparent; }

.hamburger--htx .hamburger__bar {
  transition: background 0s 0.3s; }

.hamburger--htx .hamburger__bar::before,
.hamburger--htx .hamburger__bar::after {
  transition: top .3s .3s, bottom .3s .3s, transform .3s 0s; }

/* active state, i.e. menu open */
.sidebar-button.is-active {
  background-color: transparent; }

.sidebar-button.is-active .hamburger__bar {
  background: none; }

.sidebar-button.is-active .hamburger__bar::before {
  top: 0;
  -ms-transform: rotate(45deg);
      transform: rotate(45deg); }

.sidebar-button.is-active .hamburger__bar::after {
  bottom: 0;
  -ms-transform: rotate(-45deg);
      transform: rotate(-45deg); }

.sidebar-button.is-active .hamburger__bar::before,
.sidebar-button.is-active .hamburger__bar::after {
  transition: top .3s 0s, bottom .3s 0s, transform .3s .3s; }

.breadcrumbs-wrapper {
  vertical-align: middle;
  margin-bottom: 0.625rem;
  display: inline-block; }

.breadcrumbs {
  list-style: none;
  margin: 0;
  float: left;
  vertical-align: middle;
  display: inline-block; }

.breadcrumbs .breadcrumbs__item {
  display: inline-block;
  color: #515151; }
  .breadcrumbs .breadcrumbs__item:not(:last-child):after {
    content: '';
    background: url("../img/icons/icon-arrow-line.svg");
    width: 15px;
    height: 8px;
    display: inline-block;
    margin: 0 4px;
    position: relative;
    top: -1px; }

.breadcrumbs .breadcrumbs__link {
  color: #515151;
  padding-bottom: 1px;
  border-bottom: 1px solid #d40000;
  transition: border-color .2s; }
  .breadcrumbs .breadcrumbs__link:hover {
    border-bottom-color: #d40000; }

.header {
  margin-bottom: 2.5rem;
  background: #fff; }

@media screen and (min-width: 0\0) and (-webkit-min-device-pixel-ratio: 0.75), screen and (min-width: 0\0) and (min-resolution: 72dpi) {
  .header {
    left: 0;
    transition: left 3s ease-out; }
  .st-menu-open .header {
    left: 300px;
    transition: left .4s ease-out; } }

.header__container {
  padding: 6rem 0 0.625rem 0; }

.header__logo-jdm {
  position: absolute;
  left: 50%;
  top: 75%;
  -ms-transform: translateX(-50%) translateY(-75%);
      transform: translateX(-50%) translateY(-75%);
  z-index: 1; }

@media screen and (max-width: 63.9375em) {
  .header__logo-jdm svg {
    width: 300px; } }

.header__burger {
  left: 0;
  top: 100%;
  padding-left: 1.25rem; }

.header__search-icon {
  right: 0;
  top: 100%;
  text-align: right;
  padding-right: 1.25rem; }

.header__search-icon .svg-icon {
  fill: #d40000; }

.header__logo-gppm {
  position: absolute;
  right: 0;
  top: 100%;
  text-align: right;
  padding-right: 1.25rem;
  padding-top: 5px; }

.header__trigger {
  display: table-cell;
  vertical-align: middle;
  -ms-transform: translateY(-100%);
      transform: translateY(-100%);
  width: 210px;
  height: 50px;
  background: #ebebeb;
  position: absolute; }

.header__trigger-content {
  display: block;
  position: relative;
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  color: #515151; }

.header__lang {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 0.6875rem;
  padding: 0.3125rem;
  transition: all .2s ease-out; }

.header__lang a {
  color: #6d6d6d; }

.header__lang a.current,
.header__lang a:hover {
  color: #d40000; }

.header {
  z-index: 100;
  top: 0;
  position: fixed;
  width: 100%;
  transition: all .2s ease-in-out;
  height: auto; }

.header__container {
  transition: all .2s ease-in-out;
  margin-bottom: 2.5rem; }

.header__logo-jdm svg {
  transition: all .2s ease-in-out; }

@media screen and (max-width: 47.9375em) {
  .header__container {
    margin-bottom: 0;
    padding: 0;
    height: 50px; }
  .header {
    background: #ebebeb;
    height: 50px;
    padding: 0;
    margin: 0; }
  .header .header__logo-jdm svg {
    height: 35px;
    width: 250px;
    padding: 0;
    margin: 0; } }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  .header__container {
    margin-bottom: 1.5625rem; } }

@media screen and (min-width: 48em) {
  .header--large {
    height: 106px; }
  .header--large .header__container {
    padding-top: 96px; }
  .header--small {
    background: #ebebeb;
    height: 50px;
    padding: 0;
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.18); }
  .header--small .header__container {
    padding-top: 40px; }
  .header--small .header__logo-jdm svg {
    height: 35px;
    padding: 0;
    margin: 0; }
  .header--small .header__lang {
    top: -20px; } }

.button-group {
  display: inline-block;
  vertical-align: middle; }

.button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 0;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  background-color: #d40000;
  color: #fefefe;
  font-size: 1rem;
  position: relative; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #1583cc;
    color: #fefefe; }

.button__icon {
  display: inline-block;
  vertical-align: middle;
  padding-right: 5px; }

.button__icon--right {
  padding-right: 0;
  padding-left: 5px; }

.button .svg-icon {
  fill: #ffffff; }

.button:hover {
  background-color: #a10000; }

.button--primary-dark {
  background-color: #a10000; }

.button--chromless {
  margin: 0; }

.button--link {
  border: 0;
  background: none; }

.button--link:hover,
.button--link:focus {
  background: none; }

.button--link:hover .button__text {
  border-bottom: 1px solid #ffffff; }

.button--tiny {
  font-size: 0.625rem;
  padding: 0.3125rem;
  font-weight: bold; }

.button--small {
  padding: 6px 10px;
  height: 1.875rem; }
  .button--small.has-icon {
    padding-bottom: 5px; }

.button--large {
  padding: 10px 10px;
  font-weight: 600;
  font-size: 1rem; }
  @media screen and (min-width: 64em) {
    .button--large {
      font-size: 1.125rem; } }

.button--big {
  padding: 1.25rem;
  font-weight: 600;
  font-size: 1.3125rem; }

.button--hollow,
.button--hollow:focus {
  background-color: transparent;
  border: 1px solid #b1b1b1;
  border-radius: 6px;
  color: #515151;
  transition: all .2s; }
  .button--hollow:hover,
  .button--hollow:focus:hover {
    border-color: #d40000;
    color: #d40000;
    background: transparent; }

.button--tab {
  margin-bottom: 0;
  background: none;
  border: 1px solid #d6d6d6;
  color: #6d6d6d; }
  .button--tab.is-active {
    border: 0;
    color: #ffffff;
    background: #d40000; }

.button--tab:not(.is-active):hover,
.button--tab:not(.is-active):focus {
  border-color: #d40000;
  background: none;
  color: #6d6d6d; }

.is-square {
  border-radius: 0; }

.button--hollow .svg-icon {
  fill: #515151; }

.button-file {
  border: 1px solid #d40000;
  padding: 1.875rem;
  display: block;
  position: relative;
  max-width: 350px;
  margin: 1.875rem auto; }
  @media screen and (max-width: 47.9375em) {
    .button-file {
      padding: 1.25rem; } }

.button-file__icon {
  display: inline-block;
  vertical-align: middle;
  margin-right: 1.25rem;
  fill: #d40000; }
  @media screen and (max-width: 47.9375em) {
    .button-file__icon svg {
      width: 40px; } }

.button-file__icon .svg-icon {
  fill: #d40000; }

.button-file__text {
  font-size: 1.3125rem;
  display: inline-block;
  vertical-align: middle; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .button-file__text {
      font-size: 1.125rem; } }
  @media screen and (max-width: 47.9375em) {
    .button-file__text {
      font-size: 1.1rem; } }

.button-file__filesize {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 0.625rem;
  border-left: 1px solid #d40000;
  border-top: 1px solid #d40000;
  font-weight: 700; }

.last-publication__inner {
  text-align: center;
  background: rgba(255, 255, 255, 0.8);
  padding: 2.5rem;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18); }

.last-publication__number {
  margin-bottom: 0;
  font-size: 1.75rem; }

.last-publication__date {
  display: block;
  padding-bottom: 1.25rem; }

.last-publication__cta {
  text-transform: uppercase;
  clear: both;
  padding: 1.25rem;
  display: inline-block; }

.last-publication__show-all {
  display: block;
  clear: both; }

.section {
  clear: both; }

.section--eden {
  background: url(../img/background-eden.jpg) no-repeat;
  background-size: cover;
  background-position: center;
  padding: 2.5rem 0; }

.section__intro {
  width: 100%;
  float: left;
  padding-left: 0.625rem;
  padding-right: 0.625rem; }
  @media screen and (min-width: 48em) {
    .section__intro {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

.section--list .title-level2 {
  font-weight: normal;
  margin-bottom: 1.875rem; }

.section--list select {
  width: auto;
  margin: 0 auto;
  display: block;
  font-size: 1.125rem; }

@media screen and (max-width: 47.9375em) {
  .section--eden {
    padding: 0; } }

@media screen and (min-width: 48em) {
  .section--list {
    margin: 3.125rem 0;
    padding: 1.875rem;
    background: #f3f3f3; }
  .section__intro {
    margin: 1.25rem 0 0 0; } }

.search--journal .search__input-field {
  width: 80%;
  display: block;
  float: left; }

.search--journal .search__actions {
  width: 20%;
  display: block;
  float: left;
  padding-left: 0.625rem;
  text-align: center; }

.search--journal .search__actions .search__button {
  width: 100%;
  margin: 0; }

.search--journal .search__actions .search__advanced {
  text-transform: uppercase;
  font-size: 0.75rem;
  font-weight: 600; }

@media screen and (min-width: 64em) {
  .search.search--small {
    margin-top: 1.25rem !important; } }

.search--small:first-child {
  padding-right: 1.25rem !important; }

.search--embed {
  float: right;
  margin-bottom: 1.25rem; }
  .search--embed > .input {
    border: 1px solid #d6d6d6; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .search--embed {
      float: none;
      display: inline-block;
      position: relative;
      left: 50%;
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
      margin-bottom: 0;
      margin-top: -20px; } }

.search-content .search .input {
  border: 1px solid #d6d6d6;
  width: calc( 100% - 45px); }

.search-content .search .button {
  margin-left: -4px; }

@media screen and (min-width: 48em) {
  .search-content {
    width: calc( 100% - 290px);
    display: inline-block; } }

.search.search--embed > input {
  width: 310px; }

@media screen and (min-width: 64em) {
  .search {
    margin-bottom: 1.25rem; } }

.search > input {
  display: inline-block;
  height: 2.5rem;
  padding: 0.625rem;
  vertical-align: middle; }
  @media screen and (min-width: 64em) {
    .search > input {
      width: calc(100% - 50px); } }

.search > button {
  display: inline-block;
  margin-bottom: 0;
  height: 2.5rem;
  vertical-align: middle; }

.search--with-help {
  display: inline-block;
  width: 85%; }

.help {
  display: inline;
  width: 15%;
  padding: 0.625rem; }

.tooltip {
  max-width: 20rem !important;
  z-index: 100 !important; }

.search--small > input {
  display: block;
  width: 50%;
  float: left; }
  .search--small > input   {
    width: 60%; }

.search__button--inline {
  display: block;
  float: left;
  width: calc(50% - 10px);
  margin-left: 10px; }
  .search__button--inline   {
    width: calc(40% - 10px); }

.search__button--icon {
  padding: 6px 10px; }

.search__input-field--big {
  height: 65px;
  font-size: 1.125rem;
  padding-left: 1.25rem; }
  @media screen and (min-width: 64em) {
    .search__input-field--big {
      font-size: 1.3125rem; } }

.search-toolbar__tool {
  margin-right: 3.125rem; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .search-toolbar__tool {
      margin-right: 0.625rem; } }

.search-toolbar__tool label,
.search-toolbar__tool .input-append {
  font-weight: 700; }

.search-toolbar__tool .input-append {
  margin-left: 0.625rem; }

.search-results__content {
  margin-top: 0.625rem; }

.search-results__content--grid .result-item {
  width: 50%;
  float: left;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  margin-left: -2px;
  padding: 0 1.25rem;
  clear: none;
  float: left !important; }
  @media screen and (min-width: 48em) {
    .search-results__content--grid .result-item {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

.search-results__content--grid .result-item:nth-child(odd) {
  padding-left: 0; }

.search-results__content--grid .result-item:nth-child(even) {
  border-left: 1px solid #d6d6d6;
  padding-right: 0; }

.search-results__count {
  margin-bottom: 1.25rem; }

.result-item {
  display: block;
  clear: both;
  font-family: "Droid Serif", Georgia, Times New Roman, serif;
  color: #6d6d6d;
  margin-bottom: 1.25rem; }
  .result-item::before, .result-item::after {
    content: ' ';
    display: table; }
  .result-item::after {
    clear: both; }

.result-item__title {
  font-size: 1rem;
  font-weight: 700;
  color: #d40000;
  padding-bottom: 0.625rem; }

.result-item__subtitle {
  font-size: 0.875rem;
  font-weight: 700;
  color: #515151;
  padding-bottom: 0.625rem; }

.result-item__subtitle:before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #d40000;
  border-radius: 100%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  position: relative;
  margin-right: 0.3125rem; }

.result-item__description {
  padding-bottom: 0.625rem;
  font-size: 0.875rem; }

.result-item__categorie {
  font-size: 0.75rem;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  text-transform: uppercase; }

.search-filters--small {
  position: relative;
  margin-bottom: 0.625rem;
  margin-left: -1.25rem;
  width: calc( 100% + 2.5rem); }

.filter-bloc {
  color: #d40000;
  display: inline-block;
  border-top: 1px solid #d40000;
  border-left: 1px solid #d40000;
  border-bottom: 1px solid #d40000; }

.filter-bloc:hover {
  background: #d40000;
  color: #fefefe;
  fill: #fefefe; }
  .filter-bloc:hover .filter-header__icon .svg-icon {
    fill: #ffffff; }

.filter-bloc:first-child {
  border-left: none; }

.filter-header {
  font-size: 0.6875rem;
  font-weight: bold;
  text-transform: uppercase;
  padding: 0.625rem 0.3125rem; }

.filter-content {
  background-color: #ffffff;
  border: 1px solid #cacaca;
  border-radius: 0;
  display: block;
  font-size: 1rem;
  padding: 1rem;
  position: absolute;
  visibility: hidden;
  width: 300px;
  z-index: 10;
  width: 100%;
  color: #fefefe;
  background: #515151;
  padding: 0;
  border: none; }
  .filter-content.is-open {
    visibility: visible; }

.filter-content ul {
  margin-bottom: 0; }

.filter-content ul li {
  display: block;
  border-bottom: 1px solid #6d6d6d;
  padding: 0.625rem; }

.filter-content ul li a {
  color: #ffffff; }

[id="filter--filters"] .search-toolbar__tool {
  margin: 0;
  padding: 0.625rem 1.25rem;
  display: block; }

[id="filter--filters"] .input-label {
  color: #ffffff; }

[id="filter--filters"] select.is-inline {
  padding-left: 0.625rem;
  padding-right: 1.85rem;
  margin-bottom: 0; }

[id="filter--filters"] .search-filter__button.is-active .svg-icon {
  fill: #d40000; }

.list-items {
  margin: 0 0 1.25rem 0; }

.list-items li {
  display: block;
  border-bottom: 1px solid #d6d6d6;
  margin: 0.625rem 0;
  padding: 0.3125rem;
  vertical-align: top; }
  .list-items li:nth-child(3n) {
    border-right: 0 !important; }
  .list-items li:before {
    content: '';
    background-color: #d40000;
    width: 6px;
    height: 6px;
    display: inline-block;
    border-radius: 100%;
    vertical-align: middle;
    margin-right: 0.3125rem; }

@media screen and (min-width: 48em) {
  .list-items:not(.thumbnails) li {
    border-bottom: none;
    height: auto !important; }
  .list-items.thumbnails li {
    display: inline-block;
    width: 33.33%;
    border-bottom: 0;
    border-right: 1px solid #d6d6d6;
    padding-left: 1.25rem;
    margin-left: -6px; } }

footer.main-footer {
  background: #f3f3f3;
  padding: 1.25rem 0;
  margin-top: 2.5rem; }

.main-footer__shortlinks {
  margin-top: 1.25rem; }

.main-footer__shortlinks li {
  display: block;
  font-weight: 600;
  padding-bottom: 0.3125rem; }

.main-footer__shortlinks li:before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #d40000;
  border-radius: 100%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  position: relative;
  margin-right: 0.3125rem; }

.main-footer__column {
  padding: 1.25rem 0 !important; }

@media screen and (min-width: 48em) {
  .main-footer__column {
    padding: 1.25rem 3.125rem !important; } }

.main-footer .button {
  margin-bottom: 0; }

.copyr {
  padding: 1.25rem;
  text-transform: uppercase;
  font-size: 0.875rem;
  color: #b1b1b1;
  margin-bottom: 0; }

@media screen {
  html,
  body,
  .st-container,
  .st-pusher,
  .st-content {
    height: 100%; }
  .st-content {
    background: #ffffff;
    overflow-y: scroll;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch; }
  .st-content,
  .st-content-inner {
    position: relative; }
  .st-container {
    position: relative;
    overflow: hidden; }
  .st-pusher {
    position: relative;
    left: 0;
    z-index: 99;
    height: 100%;
    perspective: 1000px;
    transition: transform 0.5s; }
  .st-pusher::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    z-index: 101;
    background: rgba(0, 0, 0, 0.2);
    content: '';
    opacity: 0;
    transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s; }
  .st-menu-open .st-pusher::after {
    width: 100%;
    height: 100%;
    opacity: 1;
    transition: opacity 0.5s; }
  .st-menu {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    visibility: hidden;
    width: 250px;
    height: 100%;
    background: #212121;
    transition: all 0.5s;
    overflow-y: scroll; }
  .st-menu::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    content: '';
    opacity: 1;
    transition: opacity 0.5s; }
  .st-menu-open .st-menu::after {
    width: 0;
    height: 0;
    opacity: 0;
    transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s; }
  /* content style */
  .st-menu ul {
    margin: 0;
    padding: 0;
    list-style: none; }
  .st-menu h2 {
    margin: 0;
    padding: 1em;
    color: rgba(0, 0, 0, 0.4);
    text-shadow: 0 0 1px rgba(0, 0, 0, 0.1);
    font-weight: 300;
    font-size: 2em; }
  .st-menu .st-menu__item > a {
    display: block;
    padding: .8em .8em .8em 1em;
    outline: none;
    box-shadow: inset 0 -1px rgba(0, 0, 0, 0.2);
    color: #f3efe0;
    text-transform: uppercase;
    text-shadow: 0 0 1px rgba(255, 255, 255, 0.1);
    letter-spacing: 1px;
    font-weight: 400;
    transition: background 0.3s, box-shadow 0.3s; }
  .shortlinks {
    border-top: 4px solid #d40000; }
  .shortlinks__item {
    box-shadow: none;
    background-color: #6d6d6d; }
  .shortlinks__item > a {
    display: block;
    padding: .2em 1em .2em 1.2em;
    font-size: 1.125rem;
    color: #212121; }
    .shortlinks__item > a:before {
      content: "›";
      display: inline-block;
      color: #212121;
      font-size: 1.3125rem;
      margin-right: 0.3125rem; }
  .st-menu .shortlinks__item:first-child > a {
    box-shadow: none;
    text-transform: none; }
  .st-menu ul li:first-child a {
    box-shadow: inset 0 -1px rgba(0, 0, 0, 0.2), inset 0 1px rgba(0, 0, 0, 0.2); }
  .st-menu ul li a:hover {
    background: rgba(0, 0, 0, 0.2);
    box-shadow: inset 0 -1px transparent;
    color: #fff; }
  /* Effect 4: Slide along */
  .st-effect-4.st-menu-open .st-pusher {
    transform: translate3d(235px, 0, 0); }
  .st-effect-4.st-menu {
    z-index: 1;
    transform: translate3d(-50%, 0, 0); }
  .st-effect-4.st-menu-open .st-effect-4.st-menu {
    visibility: visible;
    transition: transform 0.5s;
    transform: translate3d(0, 0, 0); }
  .st-effect-4.st-menu::after {
    display: none; }
  .lang-switcher a {
    display: block;
    color: #ffffff;
    padding: 1.25rem; } }

.card {
  background: white;
  border: 1px solid #d6d6d6;
  text-align: center;
  font-family: "Droid Serif", Georgia, Times New Roman, serif;
  margin-bottom: 1.875rem; }

.card__link {
  color: #d40000; }

.card--small {
  transition: all .2s ease-out;
  position: relative;
  top: 0; }

.card--small .card__content {
  padding: 1rem;
  display: block;
  top: 50%;
  position: relative; }

.card--small:hover {
  border: 1px solid transparent;
  box-shadow: 0 15px 50px rgba(0, 0, 0, 0.18);
  top: -10px; }

@media screen and (min-width: 48em) {
  .card--small .card__content {
    -ms-transform: translateY(-50%);
        transform: translateY(-50%); } }

.label {
  display: inline-block;
  vertical-align: middle;
  padding: 0.125rem 0.375rem 0.0625rem 0.375rem;
  background: #d6d6d6;
  color: #ffffff;
  color: #515151;
  border-radius: 10px;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 0.6875rem;
  font-weight: 700; }

.search-filter-wrapper {
  background: #f3f3f3;
  padding: 1.25rem;
  margin-bottom: 1.25rem; }

.search-filter {
  display: inline-block;
  margin-right: 1.25rem; }

.search-filter__label {
  font-size: 1rem;
  color: #212121;
  font-weight: bold;
  display: inline-block;
  margin-right: 0.3125rem; }

.search-filter__label--append {
  margin-left: 0.3125rem;
  font-weight: normal; }

.search-filter__select {
  display: inline-block;
  width: auto;
  background-color: transparent;
  background-origin: border-box;
  background-size: 13px;
  border-width: 0 0 1px 0;
  padding: 0 20px 0 0;
  height: auto;
  font-size: 0.875rem;
  margin-bottom: 0;
  vertical-align: middle; }

.search-filters {
  width: 25%;
  float: left;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-right: 3.125rem !important;
  padding-left: 0 !important; }
  @media screen and (min-width: 48em) {
    .search-filters {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .search-filters {
      padding-right: 1.25rem !important; } }

@media screen and (max-width: 47.9375em) {
  .search-filters--small {
    margin-top: 1.25rem; } }

.search-filters__date {
  position: relative; }
  @media screen and (max-width: 47.9375em) {
    .search-filters__date {
      margin: 1.25rem; }
      .search-filters__date:not(:first-child) {
        padding-top: 0; }
      .search-filters__date > input {
        margin: 0; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .search-filters__date > input {
      font-size: 0.75rem; } }

@media screen and (max-width: 47.9375em) {
  .search-filters-mobile {
    display: block;
    clear: both;
    margin-top: 1.25rem; }
    .search-filters-mobile::before, .search-filters-mobile::after {
      content: ' ';
      display: table; }
    .search-filters-mobile::after {
      clear: both; } }

h4.search-filters__title {
  font-size: 1.3125rem; }

.search-filters__title {
  font-size: 1rem;
  font-weight: 700;
  font-family: "Roboto", Helvetica, Arial, sans-serif; }
  @media screen and (max-width: 47.9375em) {
    .search-filters__title {
      color: #ffffff; } }

.facets {
  margin: 0; }

.facets__item {
  margin-bottom: 1.25rem; }

.facets__link .svg-icon-cancel {
  height: 16px;
  vertical-align: text-top;
  fill: #d40000; }

.search-filter__button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0.3125rem;
  transition: fill .2s; }

.search-filter__button:not(.is-active) .svg-icon {
  fill: #b1b1b1; }

.search-filter__button:hover {
  fill: #212121; }

.search-results--list ul {
  margin: 0; }

.search-results--list .result-item__subtitle {
  font-weight: normal; }

.search-results--list .result-item {
  padding: 0.625rem 0; }

.search-results__content {
  margin-top: 0.625rem; }

.search-results__content--grid .result-item {
  width: 50%;
  float: left;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  margin-left: -2px;
  padding: 0 1.25rem;
  clear: none;
  float: left !important; }
  @media screen and (min-width: 48em) {
    .search-results__content--grid .result-item {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

.search-results__content--grid .result-item:nth-child(odd) {
  padding-left: 0; }

.search-results__content--grid .result-item:nth-child(even) {
  border-left: 1px solid #d6d6d6;
  padding-right: 0; }

.search-results__count {
  margin-bottom: 1.25rem; }

.search-results .warning {
  margin-top: 1.25rem; }

.result-item {
  list-style: none;
  font-family: "Droid Serif", Georgia, Times New Roman, serif; }
  @media screen and (min-width: 48em) {
    .result-item {
      padding: 0.625rem; } }

.result-item:hover {
  background: #ebebeb; }

.result-item__subtitle {
  font-weight: 700;
  color: #515151;
  padding-bottom: 0.625rem; }

.result-item__subtitle:before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #d40000;
  border-radius: 100%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  position: relative;
  margin-right: 0.3125rem; }

.result-item__description {
  color: #515151; }

.pagination {
  margin-left: 0;
  margin-bottom: 1.875rem;
  margin-top: 1.875rem; }

.pagination li {
  display: inline-block;
  margin-right: 0.625rem;
  font-size: 1.125rem; }

.pagination li a {
  color: #d40000;
  padding: 0 0.3125rem; }

.pagination a:hover {
  border-bottom: 1px solid #d40000; }

.pagination__previous .svg-icon,
.pagination__next .svg-icon {
  fill: #d40000;
  vertical-align: middle;
  margin-top: -2px; }

.pagination__previous.is-disabled .svg-icon,
.pagination__next.is-disabled .svg-icon {
  fill: #d6d6d6; }

.calendar-nav__button {
  margin: 0; }

@media screen and (max-width: 47.9375em) {
  .calendar-nav {
    margin: 0 auto;
    left: -50%;
    -ms-transform: translateX(50%);
        transform: translateX(50%);
    position: relative; }
    .calendar-nav:last-child {
      margin-top: 2.5rem; } }

.calendar-nav__select {
  display: inline-block;
  width: 6.25rem;
  margin: 0 6px 0 6px;
  vertical-align: middle; }
  @media screen and (min-width: 48em) {
    .calendar-nav__select {
      width: 11.5625rem; } }

.calendar-list {
  clear: both; }
  .calendar-list::before, .calendar-list::after {
    content: ' ';
    display: table; }
  .calendar-list::after {
    clear: both; }

.calendar-list__heading {
  text-align: center;
  font-size: 1.125rem;
  font-weight: 700;
  color: #d40000;
  background: #f3f3f3;
  padding: 0.625rem;
  margin-bottom: 0.625rem; }

.calendar-list__month {
  margin: 2.5rem 0 0 0; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .calendar-list__month:nth-child(3n+1) {
      clear: both; } }

.calendar-list__items {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: center; }

.calendar-list__item {
  padding: 1.25rem 0;
  border-bottom: 1px solid #d6d6d6;
  color: #6d6d6d;
  position: relative;
  z-index: 0;
  transition: z-index .01s; }

.calendar-list__title {
  display: block;
  clear: both;
  font-family: "Droid Serif", Georgia, Times New Roman, serif;
  font-size: 1.125rem;
  font-weight: 700; }

.calendar-list__date {
  display: block;
  font-size: 0.875rem;
  margin-top: -4px; }

.calendar-list__title,
.calendar-list__date {
  position: relative;
  z-index: 1; }

.calendar-list__actions {
  width: 100%;
  display: block;
  position: absolute;
  padding: 5rem 0 0 0;
  top: -1px;
  background-color: #ffffff;
  z-index: 0;
  height: 0px;
  overflow: hidden;
  opacity: 0;
  transition: height 0s , opacity 0s, box-shadow 0s; }

.calendar-list__actions .svg-icon-summary {
  width: 17px;
  height: 17px; }

.calendar-list__item:hover {
  z-index: 10;
  transition: z-index .01s .1s; }

.calendar-list__item:hover .calendar-list__actions {
  height: 8.125rem;
  opacity: 1;
  box-shadow: 0 15px 50px rgba(0, 0, 0, 0.18);
  transition: height .2s , opacity .2s, box-shadow .2s; }

.nav-toolbar {
  position: relative; }
  @media screen and (max-width: 47.9375em) {
    .nav-toolbar {
      margin-top: 1.25rem; } }

.nav-toolbar h1 {
  text-align: center; }
  @media screen and (max-width: 47.9375em) {
    .nav-toolbar h1 {
      padding: 0 40px;
      font-size: 1.3125rem; } }

.nav-toolbar__prev,
.nav-toolbar__next,
.nav-toolbar__print,
.nav-toolbar__summary {
  display: block;
  border: 1px solid #d40000;
  text-align: center;
  width: 30px;
  height: 30px;
  vertical-align: middle;
  position: absolute;
  top: calc(50% - 1.25rem);
  -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
  .nav-toolbar__prev .svg-icon,
  .nav-toolbar__next .svg-icon,
  .nav-toolbar__print .svg-icon,
  .nav-toolbar__summary .svg-icon {
    fill: #d40000; }
  .nav-toolbar__prev:hover,
  .nav-toolbar__next:hover,
  .nav-toolbar__print:hover,
  .nav-toolbar__summary:hover {
    background: #d40000; }
  .nav-toolbar__prev:hover .svg-icon,
  .nav-toolbar__next:hover .svg-icon,
  .nav-toolbar__print:hover .svg-icon,
  .nav-toolbar__summary:hover .svg-icon {
    fill: #ffffff; }

.nav-toolbar__navigation {
  display: block;
  text-align: center;
  margin-top: 1.25rem; }

.nav-toolbar__prev {
  left: 0; }

.nav-toolbar__next {
  right: 0; }

.nav-toolbar__summary {
  display: inline-block; }

.nav-toolbar__navigation .separator {
  height: 30px;
  display: inline-block;
  vertical-align: bottom;
  border-left: 1px #ebebeb solid;
  margin: 0 0.625rem; }

.nav-toolbar--article {
  margin-bottom: 1.25rem; }

.nav-toolbar--article .nav-toolbar__prev,
.nav-toolbar--article .nav-toolbar__next,
.nav-toolbar--article .nav-toolbar__print,
.nav-toolbar--article .nav-toolbar__summary {
  position: relative;
  display: inline-block;
  -ms-transform: none;
      transform: none; }

.nav-toolbar--article .nav-toolbar__print .svg-icon,
.nav-toolbar--article .nav-toolbar__summary .svg-icon {
  width: 21px; }

.nav-toolbar .svg-icon {
  display: block;
  position: relative;
  top: 50%;
  left: 50%;
  -ms-transform: translateY(-50%) translateX(-50%);
      transform: translateY(-50%) translateX(-50%);
  fill: #d40000;
  transition: .2s ease-out; }

.nav-toolbar__theme {
  display: block;
  background: #6d6d6d;
  color: #fefefe;
  padding: 0.3125rem 0.625rem;
  margin-left: 0;
  font-weight: bold;
  font-size: 1.125rem;
  vertical-align: middle;
  text-align: center; }
  @media screen and (max-width: 47.9375em) {
    .nav-toolbar__theme {
      line-height: 1.2rem;
      text-align: left; } }
  .nav-toolbar__theme > li {
    display: inline-block; }
    @media screen and (max-width: 47.9375em) {
      .nav-toolbar__theme > li {
        display: block;
        clear: both;
        font-size: 0.875rem; } }

.nav-toolbar__theme .svg-icon {
  display: inline-block;
  left: 0;
  top: 0;
  -ms-transform: none;
      transform: none;
  fill: #ffffff;
  vertical-align: middle;
  height: 12px; }

@media screen and (min-width: 48em) {
  .nav-toolbar__prev,
  .nav-toolbar__next,
  .nav-toolbar__print,
  .nav-toolbar__summary {
    margin: 0;
    width: 50px;
    height: 50px;
    margin: 0 0.625rem; }
  .nav-toolbar__navigation {
    float: right;
    display: inline-block;
    margin-top: 0; }
  .nav-toolbar__theme {
    display: inline-block;
    float: left;
    text-align: left; }
  .nav-toolbar__navigation .separator {
    height: 50px; } }

.nav-toolbar__label {
  float: left;
  font-weight: bold;
  margin-right: 5px; }

.nav-toolbar__display svg {
  float: left;
  opacity: 0.5; }

.nav-toolbar__display.is-active svg {
  opacity: 1; }

.metas {
  background: #f3f3f3;
  padding: 0.625rem;
  margin-bottom: 1.25rem; }

.metas ul {
  margin: 0; }

.meta {
  list-style: none;
  width: 100%;
  display: inline-block;
  vertical-align: top;
  margin-bottom: 0.625rem; }
  @media screen and (max-width: 47.9375em) {
    .meta {
      line-height: 1.3rem; } }

.meta__label {
  font-weight: bold;
  width: 100%;
  padding: 0;
  margin: 0;
  display: block;
  float: left;
  color: #212121; }

.meta__value {
  padding: 0;
  margin: 0;
  width: 100%;
  display: block;
  float: left; }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  .meta {
    width: 50%;
    margin-left: -6px; } }

@media screen and (min-width: 64em) {
  .meta {
    width: 33%; } }

@media screen and (min-width: 48em) {
  .meta__label {
    width: 55%; }
  .meta__value {
    width: 45%; } }

.icon-hint {
  fill: #d40000; }

.svg-icon {
  fill: #515151; }

.nav-article {
  position: relative;
  text-align: center; }

.nav-article__print,
.nav-article__previous,
.nav-article__summary,
.nav-article__next,
.nav-article__icon,
.nav-article__text {
  display: inline-block;
  vertical-align: middle; }

.nav-article__text {
  vertical-align: text-bottom;
  border-bottom: 1px solid #d40000; }

.nav-article__previous,
.nav-article__next {
  position: absolute;
  top: 0;
  fill: #d40000; }

.nav-article__previous {
  left: 0; }

.nav-article__next {
  right: 0; }

.nav-article__print,
.nav-article__summary {
  display: inline;
  text-align: center;
  border-bottom: 1px solid #d40000; }

.nav-article__print {
  display: inline-block;
  margin-bottom: 1.25rem; }

.input {
  position: relative; }

.input--search {
  background: transparent url("../img/icons/icon-search.svg") no-repeat 0 50%;
  padding-left: 2.5rem !important;
  font-size: 1.125rem; }

.input--search:focus {
  border: none;
  border-bottom: 1px solid #d40000; }

.input--minimal {
  border: 0;
  border-bottom: 1px solid #d6d6d6;
  padding: 0.625rem 0; }

.input.is-inline {
  display: inline-block;
  width: auto; }

.input-label {
  font-size: 1rem; }

label.is-inline {
  display: inline-block;
  margin-right: 0.625rem; }

select.is-inline {
  padding-right: 1.25rem;
  background-position-x: calc(100% + 1.25rem); }

.input--salutation {
  width: 16.66667%;
  float: left;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  margin-left: 0 !important;
  padding-left: 0 !important; }
  @media screen and (min-width: 48em) {
    .input--salutation {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

.input--last_name {
  width: 41.66667%;
  float: left;
  padding-left: 0.625rem;
  padding-right: 0.625rem; }
  @media screen and (min-width: 48em) {
    .input--last_name {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

.input--first_name {
  width: 41.66667%;
  float: left;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  margin-right: 0 !important;
  padding-right: 0 !important; }
  @media screen and (min-width: 48em) {
    .input--first_name {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

.input--email {
  clear: both; }

.datepicker__button {
  width: 24px;
  height: 24px;
  background: url("../img/icons/icon-calendar.svg") no-repeat;
  background-size: 24px 24px;
  background-position: right center;
  background-origin: content-box;
  position: absolute;
  right: 0.625rem;
  bottom: 7px; }

.datepicker:focus {
  border-color: #d40000; }

select.picker__select--month,
select.picker__select--year {
  padding-right: 1.5rem !important; }

.related-files {
  margin: 2.5rem 0; }

.related-file {
  display: block;
  height: 80px;
  border-left: 1px solid #d6d6d6;
  position: relative;
  margin-bottom: 1.25rem; }

.related-file:nth-child(4n+1) {
  border-left: 0px; }

.related-file:hover {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
  border-left-color: transparent; }

.related-file:hover + .related-file {
  border-left-color: transparent; }

.related-file__content {
  position: relative;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  top: 50%;
  padding: 1.25rem; }

.related-file__icon {
  overflow: hidden;
  height: 40px;
  padding-top: 4px; }

.related-file__icon-content {
  position: relative;
  top: -40px;
  transition: all .2s ease-out; }

.related-file:hover .related-file__icon-content {
  top: 0; }

.related-file__icon,
.related-file__infos {
  display: inline-block;
  vertical-align: middle; }

.related-file__name {
  font-weight: 600; }

.related-file__size {
  display: block;
  color: #6d6d6d;
  margin-top: -5px;
  font-size: 0.875rem; }

.tooltip {
  border: 1px solid #d40000; }
  .tooltip::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent transparent #d40000;
    border-bottom-style: solid;
    border-top-width: 0; }
  .tooltip.top::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: #d40000 transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0; }
  .tooltip.left::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent transparent transparent #d40000;
    border-left-style: solid;
    border-right-width: 0; }
  .tooltip.right::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent #d40000 transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .tooltip .red {
    color: #d40000;
    font-weight: 700; }

.has-tip {
  color: #d40000;
  font-size: 1.8em; }

/**
 * #HELPERS
 */
/*------------------------------------*    #ALIGNMENT HELPERS
\*------------------------------------*/
.object-left,
.u-left {
  float: left; }

.object-left,
.object-right {
  margin-bottom: 2.5rem; }

.object-right,
.u-right {
  float: right; }

.u-text-center {
  text-align: center; }

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

.u-clear {
  clear: both; }
  .u-clear::before, .u-clear::after {
    content: ' ';
    display: table; }
  .u-clear::after {
    clear: both; }

.u-cf::before, .u-cf::after {
  content: ' ';
  display: table; }

.u-cf::after {
  clear: both; }

@media screen and (max-width: 47.9375em) {
  .u-clearSmall {
    clear: both; }
    .u-clearSmall::before, .u-clearSmall::after {
      content: ' ';
      display: table; }
    .u-clearSmall::after {
      clear: both; }
  .u-text-centerSmall {
    text-align: center; } }

/*------------------------------------*    #GRID HELPERS
\*------------------------------------*/
.u-wrapper {
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto; }
  .u-wrapper::before, .u-wrapper::after {
    content: ' ';
    display: table; }
  .u-wrapper::after {
    clear: both; }

.u-wrapper-inner {
  width: 100%;
  float: left;
  padding-left: 0.625rem;
  padding-right: 0.625rem; }
  @media screen and (min-width: 48em) {
    .u-wrapper-inner {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

.u-half {
  width: 50%;
  float: left;
  padding-left: 0.625rem;
  padding-right: 0.625rem; }
  @media screen and (min-width: 48em) {
    .u-half {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

.u-quarter {
  width: 25%;
  float: left;
  padding-left: 0.625rem;
  padding-right: 0.625rem; }
  @media screen and (min-width: 48em) {
    .u-quarter {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

.u-collapse {
  padding: 0 !important; }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  .u-thirdTab {
    width: 33.33333%;
    float: left;
    padding-left: 0.625rem;
    padding-right: 0.625rem; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) and (min-width: 48em) {
    .u-thirdTab {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  .u-halfTab {
    width: 50%;
    float: left;
    padding-left: 0.625rem;
    padding-right: 0.625rem; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) and (min-width: 48em) {
    .u-halfTab {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

@media screen and (min-width: 48em) {
  .u-halfTabUp {
    width: 50%;
    float: left;
    padding-left: 0.625rem;
    padding-right: 0.625rem; } }
  @media screen and (min-width: 48em) and (min-width: 48em) {
    .u-halfTabUp {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

@media screen and (min-width: 48em) {
  .u-thirdTabUp {
    width: 33.33333%;
    float: left;
    padding-left: 0.625rem;
    padding-right: 0.625rem; } }
  @media screen and (min-width: 48em) and (min-width: 48em) {
    .u-thirdTabUp {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

@media screen and (min-width: 48em) {
  .u-quarterTabUp {
    width: 25%;
    float: left;
    padding-left: 0.625rem;
    padding-right: 0.625rem; } }
  @media screen and (min-width: 48em) and (min-width: 48em) {
    .u-quarterTabUp {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

@media screen and (min-width: 48em) {
  .u-sixthTabUp {
    width: 16.66667%;
    float: left;
    padding-left: 0.625rem;
    padding-right: 0.625rem; } }
  @media screen and (min-width: 48em) and (min-width: 48em) {
    .u-sixthTabUp {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

@media screen and (min-width: 48em) {
  .u-twothirdsTabUp {
    width: 66.66667%;
    float: left;
    padding-left: 0.625rem;
    padding-right: 0.625rem; } }
  @media screen and (min-width: 48em) and (min-width: 48em) {
    .u-twothirdsTabUp {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

@media screen and (min-width: 48em) {
  .u-nineTabUp {
    width: 75%;
    float: left;
    padding-left: 0.625rem;
    padding-right: 0.625rem; } }
  @media screen and (min-width: 48em) and (min-width: 48em) {
    .u-nineTabUp {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

@media screen and (min-width: 48em) {
  .u-fivesixthTabUp {
    width: 83.33333%;
    float: left;
    padding-left: 0.625rem;
    padding-right: 0.625rem; } }
  @media screen and (min-width: 48em) and (min-width: 48em) {
    .u-fivesixthTabUp {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

@media screen and (min-width: 48em) {
  .u-onesixthTabUp {
    width: 16.66667%;
    float: left;
    padding-left: 0.625rem;
    padding-right: 0.625rem; } }
  @media screen and (min-width: 48em) and (min-width: 48em) {
    .u-onesixthTabUp {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

@media screen and (min-width: 48em) {
  .u-endTabUp:last-child:last-child {
    float: left; } }

@media screen and (min-width: 64em) {
  .u-sixthLarge {
    width: 16.66667%;
    float: left;
    padding-left: 0.625rem;
    padding-right: 0.625rem; } }
  @media screen and (min-width: 64em) and (min-width: 48em) {
    .u-sixthLarge {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

@media screen and (min-width: 64em) {
  .u-thirdLarge {
    width: 33.33333%;
    float: left;
    padding-left: 0.625rem;
    padding-right: 0.625rem; } }
  @media screen and (min-width: 64em) and (min-width: 48em) {
    .u-thirdLarge {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

.u-end:last-child:last-child {
  float: left; }

@media screen and (min-width: 64em) {
  .u-halfLargeUp {
    width: 50%;
    float: left;
    padding-left: 0.625rem;
    padding-right: 0.625rem; } }
  @media screen and (min-width: 64em) and (min-width: 48em) {
    .u-halfLargeUp {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

@media screen and (min-width: 64em) {
  .u-thirdLargeUp {
    width: 33.33333%;
    float: left;
    padding-left: 0.625rem;
    padding-right: 0.625rem; } }
  @media screen and (min-width: 64em) and (min-width: 48em) {
    .u-thirdLargeUp {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

.u-wrapper {
  padding: 0 1.25rem; }
  .u-wrapper .u-wrapper {
    padding: 0; }

/*------------------------------------*    #VISIBILITY HELPERS
\*------------------------------------*/
.u-hide {
  display: none; }

.u-hide-text {
  font-size: 0; }

.u-invisible {
  visibility: hidden;
  opacity: 0; }

.u-visible {
  visibility: visible;
  opacity: 1; }

.u-visuallyhidden {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0; }

/*------------------------------------*    #TEXT HELPERS
\*------------------------------------*/
.u-uppercase {
  text-transform: uppercase; }

.u-text-center {
  text-align: center; }

.u-ellipsis:after {
  content: '\2026'; }

.u-underline {
  text-decoration: underline; }

/*------------------------------------*    #LIST HELPERS
\*------------------------------------*/
.u-no-bullet {
  list-style: none;
  margin-left: 0; }

.u-chromless {
  margin: 0 !important;
  padding: 0 !important; }

.u-panel {
  padding: 1.25rem;
  margin-top: 3.125rem;
  margin-bottom: 3.125rem;
  background: #ebebeb; }

@media screen and (min-width: 48em) {
  .u-panel {
    padding: 3.125rem; } }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJhcHAuc2NzcyIsInZlbmRvci9mb3VuZGF0aW9uL19zZXR0aW5ncy5zY3NzIiwic2V0dGluZ3MvX2dsb2JhbC5zY3NzIiwic2V0dGluZ3MvX3NwYWNpbmcuc2NzcyIsInNldHRpbmdzL19jb2xvcnMuc2NzcyIsInNldHRpbmdzL19mb250cy5zY3NzIiwic2V0dGluZ3MvX3NoYWRvd3Muc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsInNldHRpbmdzL19mb3Jtcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwiYmFzZS9fcGFnZS5zY3NzIiwiYmFzZS9faGVhZGluZ3Muc2NzcyIsImJhc2UvX2Zvcm0uc2NzcyIsImJhc2UvX2xpbmtzLnNjc3MiLCJiYXNlL19maWd1cmUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvaGludC5jc3Mvc3JjL2hpbnQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvaGludC5jc3Mvc3JjL2hpbnQtY29yZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9oaW50LmNzcy9zcmMvaGludC1taXhpbnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvaGludC5jc3Mvc3JjL2hpbnQtdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2hpbnQuY3NzL3NyYy9oaW50LXBvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2hpbnQuY3NzL3NyYy9oaW50LXNpemVzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2hpbnQuY3NzL3NyYy9oaW50LXRoZW1lLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2hpbnQuY3NzL3NyYy9oaW50LWNvbG9yLXR5cGVzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2hpbnQuY3NzL3NyYy9oaW50LWFsd2F5cy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9oaW50LmNzcy9zcmMvaGludC1yb3VuZGVkLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2hpbnQuY3NzL3NyYy9oaW50LWVmZmVjdHMuc2NzcyIsImNvbXBvbmVudHMvX3NlcGFyYXRvcnMuc2NzcyIsInRvb2xzL19taXhpbnMuc2NzcyIsImNvbXBvbmVudHMvX2hhbWJ1cmdlci5zY3NzIiwic2V0dGluZ3MvX2hhbWJ1cmdlci5zY3NzIiwiY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsImNvbXBvbmVudHMvX2xhc3QtcHVibGljYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX3NlY3Rpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiY29tcG9uZW50cy9fc2VhcmNoLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiY29tcG9uZW50cy9fbGlzdC5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19zaWRlYmFyLnNjc3MiLCJjb21wb25lbnRzL19jYXJkLnNjc3MiLCJjb21wb25lbnRzL19sYWJlbC5zY3NzIiwiY29tcG9uZW50cy9fc2VhcmNoLWZpbHRlcnMuc2NzcyIsImNvbXBvbmVudHMvX3NlYXJjaC1yZXN1bHRzLnNjc3MiLCJjb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJjb21wb25lbnRzL19jYWxlbmRhci1saXN0LnNjc3MiLCJjb21wb25lbnRzL19uYXYtdG9vbGJhci5zY3NzIiwiY29tcG9uZW50cy9fbWV0YXMuc2NzcyIsImNvbXBvbmVudHMvX2ljb25zLnNjc3MiLCJjb21wb25lbnRzL19uYXYtYXJ0aWNsZS5zY3NzIiwiY29tcG9uZW50cy9faW5wdXQuc2NzcyIsImNvbXBvbmVudHMvX2RhdGVwaWNrZXIuc2NzcyIsImNvbXBvbmVudHMvX3JlbGF0ZWQtZmlsZS5zY3NzIiwiY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwiaGVscGVycy9fYWxpZ24uc2NzcyIsImhlbHBlcnMvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Jvdy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsImhlbHBlcnMvX3Zpc2liaWxpdHkuc2NzcyIsImhlbHBlcnMvX3RleHQuc2NzcyIsImhlbHBlcnMvX2xpc3Quc2NzcyIsImhlbHBlcnMvX3V0aWxzLnNjc3MiLCJoZWxwZXJzL19wYW5lbC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0tqQjs7R0FFRztBQ1BIOzs7d0NBSXdDO0FDSnhDO3dDQUV3QztBQ0Z4Qzt3Q0FFd0M7QUNGeEM7d0NBRXdDO0FDRnhDO3dDQUV3QztBQ0Z4Qzt3Q0FFd0M7QU5tQnhDOztHQUVHO0FPdkJIOzs7OztHQUtHO0FQMkJIOztHQUVHO0FRa0xELDRFQUE0RTtBQUU1RTs7OztLQUlHO0FBRUg7RUFDRSx3QkFBd0I7RUFBRSxPQUFPO0VBQ2pDLDJCQUEyQjtFQUFFLE9BQU87RUFDcEMsK0JBQStCO0VBQUUsT0FBTyxFQUN6Qzs7QUFFRDs7S0FFRztBQUVIO0VBQ0UsVUFBVSxFQUNYOztBQUVEO2tGQUNnRjtBQUVoRjs7Ozs7S0FLRztBQUVIOzs7Ozs7Ozs7Ozs7O0VBYUUsZUFBZSxFQUNoQjs7QUFFRDs7O0tBR0c7QUFFSDs7OztFQUlFLHNCQUFzQjtFQUFFLE9BQU87RUFDL0IseUJBQXlCO0VBQUUsT0FBTyxFQUNuQzs7QUFFRDs7O0tBR0c7QUFFSDtFQUNFLGNBQWM7RUFDZCxVQUFVLEVBQ1g7O0FBRUQ7OztLQUdHO0FUNUxMOztFU2dNSSxjQUFjLEVBQ2Y7O0FBRUQ7a0ZBQ2dGO0FBRWhGOztLQUVHO0FBRUg7RUFDRSw4QkFBOEIsRUFDL0I7O0FBRUQ7OztLQUdHO0FBRUg7O0VBRUUsV0FBVyxFQUNaOztBQUVEO2tGQUNnRjtBQUVoRjs7S0FFRztBQUVIO0VBQ0UsMEJBQTBCLEVBQzNCOztBQUVEOztLQUVHO0FBRUg7O0VBRUUsa0JBQWtCLEVBQ25COztBQUVEOztLQUVHO0FBRUg7RUFDRSxtQkFBbUIsRUFDcEI7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ZUksVUFBVSxFQUNYOztBQUlIO0VBQ0UsaUJDalFrQjtFRGtRbEIsVUFBVTtFQUNWLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2QsaUNUcFJpQjtFU3FSakIsZUFBZTtFQUNmLHFCVDdMeUI7RVM4THpCLFlBQVksRUFDYjs7QUFHRDs7O0VBR0UsaUJUcE5zQjtFU3FOdEIsb0JUcE4wQjtFU3FOMUIsNkJUbk15QixFU29NMUI7O0FBR0Q7RUFDRSxtQkFBbUIsRUFDcEI7O0FBR0Q7RUFDRSxzQlQ5TWtCO0VTK01sQixxQlQ3TXNCLEVTOE12Qjs7QUFHRDtFQUNFLHFCVGxOc0IsRVNtTnZCOztBQUdEO0VBRUkscUJUdk4yQjtFU3dOM0IsaUJBQWlCLEVBQ2xCOztBQUlIO0VBQ0Usb0JUN055QixFU21PMUI7RUFQRDtJQUlJLHNCVDlOOEI7SVMrTjlCLGtCVHRUbUIsRVN1VHBCOztBQUlIO0VBQ0UsaUJUNVAwQjtFUzZQMUIsdUNDelRrQjtFRDBUbEIsK0JUelVpQixFUytVbEI7RUFURDtJQU1JLGlCVGxRb0I7SVNtUXBCLGVUNVVhLEVTNlVkOztBQUlIO0VBQ0UsZUFBZTtFQUNmLHFCQ3JVa0I7RURzVWxCLGVUcFZlLEVTeVZoQjtFQVJEO0lBTUksdUJBQXVCLEVBQ3hCOztBQUlIO0VBQ0UsZU41WXFCO0VNNllyQixhQUFhO0VBQ2Isa0NUOVZXLEVTK1ZaOztBQUdEO0VBQ0UsNkRUcFRtRTtFU3FUbkUsb0JUNVZ5QjtFUzZWekIsZVRyV1c7RVNzV1gsMEJUeldnQjtFUzBXaEIsMEJUeldpQjtFUzBXakIsc0NDM1ZrQixFRDRWbkI7O0FBR0Q7RUFDRSw0QkMzVlM7RUQ0VlQsVUFBVTtFQUNWLDBCVGxYZ0I7RVNtWGhCLGVUaFhXO0VTaVhYLDZEVGxVbUUsRVN1VXBFOztBRzFZRDtFQUNFLG1CWndJeUI7RVl2SXpCLHNCWndJNEI7RVl2STVCLG9CWnlCeUI7RVl4QnpCLGlCWmtJc0I7RVlqSXRCLGVaY2UsRVliaEI7O0FBR0Q7RUFDRSxnQlowSDhCO0VZekg5QixpQlowSGlCLEVZekhsQjs7QUFHRDtFQUNFLGtC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LG9CQUFvQjtFQUNwQixtQkFBbUIsRUFDbkI7O0FBR0Y7RUFFRSxZRm1Ca0IsRUVsQmxCOztBQUVGO0VBRUUsYUZlb0IsRUVkcEI7O0FBRUY7RUFFRSxhRldtQixFRVZuQjs7QUNsQ0Y7Ozs7O0dBS0c7QXpDMnJESDtFeUN4ckRDOztJQUVHLEVBS0g7RXpDcXJEQztJeUN4ckRBLDhCQUE4QjtJQUM5QiwyQ0FBNEIsRUFDNUI7O0FDZEY7Ozs7Ozs7Ozs7O0dBV0c7QUFjSDs7R0FFRztBQUNIO0VBWEUsMEJKa0NrQjtFSWpDbEIsZ0NBQThCLEVBQzlCOztBQVNGO0VMVkssMEJDaUNlLEVEaENmOztBS1NMO0VMVkssMEJDaUNlLEVEaENmOztBS1NMO0VMTEcsMEJDNEJpQixFRDNCakI7O0FLSUg7RUxWSyw2QkNpQ2UsRURoQ2Y7O0FLU0w7RUxWSyw2QkNpQ2UsRURoQ2Y7O0FLU0w7RUxMRyw2QkM0QmlCLEVEM0JqQjs7QUtJSDtFTExHLDJCQzRCaUIsRUQzQmpCOztBS0lIO0VMTEcsNEJDNEJpQixFRDNCakI7O0FLUUg7O0dBRUc7QUFDSDtFQWxCRSwwQkpxQ29CO0VJcENwQixnQ0FBOEIsRUFDOUI7O0FBZ0JGO0VMakJLLDBCQ29DaUIsRURuQ2pCOztBS2dCTDtFTGpCSywwQkNvQ2lCLEVEbkNqQjs7QUtnQkw7RUxaRywwQkMrQm1CLEVEOUJuQjs7QUtXSDtFTGpCSyw2QkNvQ2lCLEVEbkNqQjs7QUtnQkw7RUxqQkssNkJDb0NpQixFRG5DakI7O0FLZ0JMO0VMWkcsNkJDK0JtQixFRDlCbkI7O0FLV0g7RUxaRywyQkMrQm1CLEVEOUJuQjs7QUtXSDtFTFpHLDRCQytCbUIsRUQ5Qm5COztBS2VIOztHQUVHO0FBQ0g7RUF6QkUsMEJKd0NpQjtFSXZDakIsZ0NBQThCLEVBQzlCOztBQXVCRjtFTHhCSywwQkN1Q2MsRUR0Q2Q7O0FLdUJMO0VMeEJLLDBCQ3VDYyxFRHRDZDs7QUt1Qkw7RUxuQkcsMEJDa0NnQixFRGpDaEI7O0FLa0JIO0VMeEJLLDZCQ3VDYyxFRHRDZDs7QUt1Qkw7RUx4QkssNkJDdUNjLEVEdENkOztBS3VCTDtFTG5CRyw2QkNrQ2dCLEVEakNoQjs7QUtrQkg7RUxuQkcsMkJDa0NnQixFRGpDaEI7O0FLa0JIO0VMbkJHLDRCQ2tDZ0IsRURqQ2hCOztBS3NCSDs7R0FFRztBQUNIO0VBaENFLDBCSjJDb0I7RUkxQ3BCLGdDQUE4QixFQUM5Qjs7QUE4QkY7RUwvQkssMEJDMENpQixFRHpDakI7O0FLOEJMO0VML0JLLDBCQzBDaUIsRUR6Q2pCOztBSzhCTDtFTDFCRywwQkNxQ21CLEVEcENuQjs7QUt5Qkg7RUwvQkssNkJDMENpQixFRHpDakI7O0FLOEJMO0VML0JLLDZCQzBDaUIsRUR6Q2pCOztBSzhCTDtFTDFCRyw2QkNxQ21CLEVEcENuQjs7QUt5Qkg7RUwxQkcsMkJDcUNtQixFRHBDbkI7O0FLeUJIO0VMMUJHLDRCQ3FDbUIsRURwQ25COztBTXhCSDs7Ozs7Ozs7R0FRRztBQUVIO0VBRUUsV0FBVztFQUNYLG9CQUFvQixFQUNwQjs7QUFKRjtFTkZDLGdDQXVCZTtNQXZCZiw0QkF1QmUsRUFHZDs7QU14QkY7RU5GQyxpREF1QmU7TUF2QmYsNkNBdUJlLEVBYWQ7O0FNbENGO0VORkMsZ0NBdUJlO01BdkJmLDRCQXVCZSxFQUdkOztBTXhCRjtFTkZDLGtEQXVCZTtNQXZCZiw4Q0F1QmUsRUFhZDs7QU1sQ0Y7RU5GQyxnQ0F1QmU7TUF2QmYsNEJBdUJlLEVBR2Q7O0FNeEJGO0VORkMsZ0NBdUJlO01BdkJmLDRCQXVCZSxFQWFkOztBTWxDRjtFTkZDLCtCQXVCZTtNQXZCZiwyQkF1QmUsRUFHZDs7QU14QkY7RU5GQyxnREF1QmU7TUF2QmYsNENBdUJlLEVBYWQ7O0FNbENGO0VORkMsK0JBdUJlO01BdkJmLDJCQXVCZSxFQUdkOztBTXhCRjtFTkZDLGlEQXVCZTtNQXZCZiw2Q0F1QmUsRUFhZDs7QU1sQ0Y7RU5GQywrQkF1QmU7TUF2QmYsMkJBdUJlLEVBR2Q7O0FNeEJGO0VORkMsK0JBdUJlO01BdkJmLDJCQXVCZSxFQWFkOztBTWxDRjtFTkZDLGdDQXVCZTtNQXZCZiw0QkF1QmUsRUFHZDs7QU14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RjtNckJ1Q00sd0JBSGdCO01BSWhCLHlCQUpnQixFcUJsQ3JCLEVBQUE7O0FqRW9IQztFaUVoSEY7SXRCckJBLFdDZXNCO0lBK0J0QixZaER5Q3lEO0lnRGpDbkQsdUJBSGdCO0lBSWhCLHdCQUpnQixFcUI1QnJCLEVBQUE7RWpFOEdDO0lpRWhIRjtNckJpQ00sd0JBSGdCO01BSWhCLHlCQUpnQixFcUI1QnJCLEVBQUE7O0FqRThHQztFaUU1R0Y7SXRCekJBLGlCQ2VzQjtJQStCdEIsWWhEeUN5RDtJZ0RqQ25ELHVCQUhnQjtJQUloQix3QkFKZ0IsRXFCeEJyQixFQUFBO0VqRTBHQztJaUU1R0Y7TXJCNkJNLHdCQUhnQjtNQUloQix5QkFKZ0IsRXFCeEJyQixFQUFBOztBakUwR0M7RWlFeEdGO0l0QjdCQSxXQ2VzQjtJQStCdEIsWWhEeUN5RDtJZ0RqQ25ELHVCQUhnQjtJQUloQix3QkFKZ0IsRXFCcEJyQixFQUFBO0VqRXNHQztJaUV4R0Y7TXJCeUJNLHdCQUhnQjtNQUloQix5QkFKZ0IsRXFCcEJyQixFQUFBOztBakVzR0M7RWlFcEdGO0l0QmpDQSxpQkNlc0I7SUErQnRCLFloRHlDeUQ7SWdEakNuRCx1QkFIZ0I7SUFJaEIsd0JBSmdCLEVxQmhCckIsRUFBQTtFakVrR0M7SWlFcEdGO01yQnFCTSx3QkFIZ0I7TUFJaEIseUJBSmdCLEVxQmhCckIsRUFBQTs7QWpFa0dDO0VpRWhHRjtJdEJyQ0EsaUJDZXNCO0lBK0J0QixZaER5Q3lEO0lnRGpDbkQsdUJBSGdCO0lBSWhCLHdCQUpnQixFcUJackIsRUFBQTtFakU4RkM7SWlFaEdGO01yQmlCTSx3QkFIZ0I7TUFJaEIseUJBSmdCLEVxQlpyQixFQUFBOztBakU4RkM7RWlFNUZGO0l0QnpDQSxXQ2VzQjtJQStCdEIsWWhEeUN5RDtJZ0RqQ25ELHVCQUhnQjtJQUloQix3QkFKZ0IsRXFCUnJCLEVBQUE7RWpFMEZDO0lpRTVGRjtNckJhTSx3QkFIZ0I7TUFJaEIseUJBSmdCLEVxQlJyQixFQUFBOztBakUwRkM7RWlFeEZGO0l0QjdDQSxpQkNlc0I7SUErQnRCLFloRHlDeUQ7SWdEakNuRCx1QkFIZ0I7SUFJaEIsd0JBSmdCLEVxQkpyQixFQUFBO0VqRXNGQztJaUV4RkY7TXJCU00sd0JBSGdCO01BSWhCLHlCQUpnQixFcUJKckIsRUFBQTs7QWpFc0ZDO0VpRXBGRjtJdEJqREEsaUJDZXNCO0lBK0J0QixZaER5Q3lEO0lnRGpDbkQsdUJBSGdCO0lBSWhCLHdCQUpnQixFcUJBckIsRUFBQTtFakVrRkM7SWlFcEZGO01yQktNLHdCQUhnQjtNQUloQix5QkFKZ0IsRXFCQXJCLEVBQUE7O0FqRWtGQztFaUVoRkY7SUVyQkUsWXZFdUR1RCxFdUV0RHhELEVBQUE7O0FuRW9HQztFaUUxRUY7SXRCM0RBLGlCQ2VzQjtJQStCdEIsWWhEeUN5RDtJZ0RqQ25ELHVCQUhnQjtJQUloQix3QkFKZ0IsRXFCVXJCLEVBQUE7RWpFd0VDO0lpRTFFRjtNckJMTSx3QkFIZ0I7TUFJaEIseUJBSmdCLEVxQlVyQixFQUFBOztBakV3RUM7RWlFdEVGO0l0Qi9EQSxpQkNlc0I7SUErQnRCLFloRHlDeUQ7SWdEakNuRCx1QkFIZ0I7SUFJaEIsd0JBSmdCLEVxQmNyQixFQUFBO0VqRW9FQztJaUV0RUY7TXJCVE0sd0JBSGdCO01BSWhCLHlCQUpnQixFcUJjckIsRUFBQTs7QUFHSDtFRXBDSSxZdkV1RHVELEV1RXREeEQ7O0FuRW9HQztFaUU1REY7SXRCekVBLFdDZXNCO0lBK0J0QixZaER5Q3lEO0lnRGpDbkQsdUJBSGdCO0lBSWhCLHdCQUpnQixFcUJ3QnJCLEVBQUE7RWpFMERDO0lpRTVERjtNckJuQk0sd0JBSGdCO01BSWhCLHlCQUpnQixFcUJ3QnJCLEVBQUE7O0FqRTBEQztFaUV4REY7SXRCN0VBLGlCQ2VzQjtJQStCdEIsWWhEeUN5RDtJZ0RqQ25ELHVCQUhnQjtJQUloQix3QkFKZ0IsRXFCNEJyQixFQUFBO0VqRXNEQztJaUV4REY7TXJCdkJNLHdCQUhnQjtNQUloQix5QkFKZ0IsRXFCNEJyQixFQUFBOztBQUlEO0VBQ0UsbUJsRWxCa0IsRWtFdUJuQjtFQU5EO0lBSUksV0FBVyxFQUNaOztBR3RHTDt3Q0FFd0M7QUFFeEM7RUFDRSxjQUFjLEVBQ2Y7O0FBRUQ7RUFDRSxhQUFhLEVBQ2Q7O0FBRUQ7RUFDRSxtQkFBbUI7RUFDbkIsV0FBVyxFQUNaOztBQUVEO0VBQ0Usb0JBQW9CO0VBQ3BCLFdBQVcsRUFDWjs7QUFFRDtFQUNFLG1CQUFtQjtFQUNuQixpQkFBaUI7RUFDakIsb0JBQVU7RUFDVixZQUFZO0VBQ1osV0FBVztFQUNYLGFBQWE7RUFDYixXQUFXO0VBQ1gsVUFBVSxFQUNYOztBQy9CRDt3Q0FFd0M7QUFFeEM7RUFDRSwwQkFBMkIsRUFDNUI7O0FBRUQ7RUFDRSxtQkFBb0IsRUFDckI7O0FBRUQ7RUFDRSxpQkFBaUIsRUFDbEI7O0FBRUQ7RUFDRSwyQkFBMkIsRUFDNUI7O0FDbEJEO3dDQUV3QztBQUV4QztFQUNFLGlCQUFpQjtFQUNqQixlQUFlLEVBQ2hCOztBQ1BEO0VBQ0UscUJBQXFCO0VBQ3JCLHNCQUFzQixFQUN2Qjs7QUNIRDtFQUNFLGlCekUrRW9CO0V5RTlFcEIscUJ6RThFb0I7RXlFN0VwQix3QnpFNkVvQjtFeUU1RXBCLG9CaEZVdUIsRWdGVHhCOztBQUVEO0VBQ0U7SUFDRSxrQnpFdUVrQixFeUV0RW5CLEVBQUEiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogI1NFVFRJTkdTXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAjRk9VTkRBVElPTiBTRVRUSU5HU1xuICAgICNQTEVBU0UgRE8gTk9UIE1PRElGWSBUSElTIEZJTEVcbiAgICAjQUREIFlPVVIgU1BFQ0lGSUMgU0VUVElOR1MgSU5UTyBTRVRUSU5HUyBGT0xERVJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSogICAgI0dMT0JBTCBTRVRUSU5HU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAjU1BBQ0lORyBTRVRUSU5HU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAjQ09MT1JTIFNFVFRJTkdTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qICAgICNGT05UUyBTRVRUSU5HU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAjU0hBRE9XIFNFVFRJTkdTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiAjVE9PTFNcbiAqL1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMi4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLyoqXG4gKiAjR0VORVJJQ1xuICovXG4vKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKipcbiAgICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAgICogMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbiAgICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICAgKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICAgKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gICAqIGFuZCBGaXJlZm94LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICAgKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAqL1xuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICAgKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICAgKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gICAqL1xuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogTGlua3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXG4gICAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAgICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICAgKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gICAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAgICovXG5pbWcge1xuICBib3JkZXI6IDA7IH1cblxuLyoqXG4gICAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gICAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICAgKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuLyogRm9ybXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICAgKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gICAqL1xuLyoqXG4gICAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovIH1cblxuLyoqXG4gICAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gICAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gICAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gICAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAgICovXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAgICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAgICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gICAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAgICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAgICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICAgKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAgICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gICAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAgICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gICAqL1xuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qKlxuICAgKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gICAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gICAqXG4gICAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gICAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gICAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gICAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gICAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAgICovXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAgICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICAgKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gICAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAgICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICAgKiBbTk9URV0gV2UgZG9uJ3QgZW5hYmxlIHRoaXMgcnVsZXNldCBpbiBGb3VuZGF0aW9uLCBiZWNhdXNlIHdlIHdhbnQgdGhlIDxmaWVsZHNldD4gZWxlbWVudCB0byBoYXZlIHBsYWluIHN0eWxpbmcuXG4gICAqL1xuLyogZmllbGRzZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gIH0gKi9cbi8qKlxuICAgKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAgICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gICAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAgICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gICAqL1xub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBUYWJsZXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gICAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDhlbSZsYXJnZT02NGVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwge1xuICBmb250LXNpemU6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM1MTUxNTE7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuI21hcF9jYW52YXMgaW1nLFxuI21hcF9jYW52YXMgZW1iZWQsXG4jbWFwX2NhbnZhcyBvYmplY3QsXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICBoMSBzbWFsbCxcbiAgaDIgc21hbGwsXG4gIGgzIHNtYWxsLFxuICBoNCBzbWFsbCxcbiAgaDUgc21hbGwsXG4gIGg2IHNtYWxsIHtcbiAgICBjb2xvcjogI2NhY2FjYTtcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cblxuaDQge1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cblxuaDYge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAzcmVtOyB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTsgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjkzNzVyZW07IH1cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG4gIGg1IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbmEge1xuICBjb2xvcjogIzIxOTllODtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMTU4NWNmOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgY2xlYXI6IGJvdGg7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzhhOGE4YTsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnOyB9XG5cbmFiYnIge1xuICBjb2xvcjogIzUxNTE1MTtcbiAgY3Vyc29yOiBoZWxwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwYTBhMGE7IH1cblxuY29kZSB7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG5rYmQge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM4YThhOGE7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG4ubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH0gfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMjE5OWU4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAwO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjYWNhY2E7IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyB9XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDElO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGhlaWdodDogMi41cmVtOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMSU7IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIG1hcmdpbjogMS4xMjVyZW0gMDsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTM4LCAxMzgsIDEzOCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzYsIDg4LCA2NCwgMC4xKTtcbiAgYm9yZGVyLWNvbG9yOiAjZWM1ODQwOyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNlYzU4NDA7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2VjNTg0MDsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIHRhYmxlIHRoZWFkLFxuICB0YWJsZSB0Ym9keSxcbiAgdGFibGUgdGZvb3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICB0YWJsZSBjYXB0aW9uIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGFibGUgdGhlYWQsXG4gIHRhYmxlIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgdGFibGUgdGhlYWQgdHIsXG4gICAgdGFibGUgdGZvb3QgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICB0YWJsZSB0aGVhZCB0aCxcbiAgICB0YWJsZSB0aGVhZCB0ZCxcbiAgICB0YWJsZSB0Zm9vdCB0aCxcbiAgICB0YWJsZSB0Zm9vdCB0ZCB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxOyB9XG4gIHRhYmxlIHRib2R5IHRoLFxuICB0YWJsZSB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7IH1cblxudGFibGUuaG92ZXIgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC50YWJsZS1zY3JvbGwgdGFibGUge1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bzsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmhhcy10aXAge1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM4YThhOGE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbi50b29sdGlwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuNjQ5NXJlbSk7XG4gIG1heC13aWR0aDogMTByZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ViZWJlYjtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6ICNlYmViZWIgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvOyB9XG4gIC50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNlYmViZWI7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNlYmViZWIgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLyoqXG4gKiAjQkFTRVxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSogICAgI1BBR0VcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IFwiUHJveGltYSBOb3ZhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuYm9keSxcbmh0bWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvdmVyZmxvdzogaW5pdGlhbDsgfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSogICAgI0hFQURJTkdTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuaDEsIGgyLFxuLnRpdGxlLWxldmVsMSB7XG4gIGZvbnQtZmFtaWx5OiBcIkRyb2lkIFNlcmlmXCIsIEdlb3JnaWEsIFRpbWVzIE5ldyBSb21hbiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBoMS5oYXMtaWNvbiAuc3ZnLWljb24sIGgyLmhhcy1pY29uIC5zdmctaWNvbixcbiAgLnRpdGxlLWxldmVsMS5oYXMtaWNvbiAuc3ZnLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIGgxLCBoMixcbiAgICAudGl0bGUtbGV2ZWwxIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgaDEgW2lkPVwiY29udGVudFwiXSBoMSwgaDIgW2lkPVwiY29udGVudFwiXSBoMSxcbiAgICAudGl0bGUtbGV2ZWwxIFtpZD1cImNvbnRlbnRcIl0gaDEge1xuICAgICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfSB9XG5cbi5zdWJ0aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoOyB9XG5cbmgyIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44NzVyZW07IH0gfVxuXG4udGl0bGUtbGV2ZWwyIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbmgzLFxuLnRpdGxlLWxldmVsMyB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogODAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjZDQwMDAwO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW46IDAuNjI1cmVtIDAgMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNHJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgaDMsXG4gICAgLnRpdGxlLWxldmVsMyB7XG4gICAgICBmb250LXNpemU6IDEuNDM3NXJlbTtcbiAgICAgIG1hcmdpbjogMS4yNXJlbSAwIDIuNXJlbTsgfSB9XG5cbi5ib2R5IGgzIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuaDQsXG4udGl0bGUtbGV2ZWw0IHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwIDAgMC42MjVyZW0gMDtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiRHJvaWQgU2VyaWZcIiwgR2VvcmdpYSwgVGltZXMgTmV3IFJvbWFuLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgY29sb3I6ICMyMTIxMjE7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDZkNmQ2OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIGgxLFxuICAudGl0bGUtbGV2ZWwxIHtcbiAgICBmb250LXNpemU6IDEuMzMxMjVyZW07IH1cbiAgaDIsXG4gIC50aXRsZS1sZXZlbDIge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBodG1sIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSogICAgI0ZPUk1cblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNXJlbTtcbiAgYm9yZGVyLWNvbG9yOiAjZDZkNmQ2O1xuICBjb2xvcjogIzZkNmQ2ZDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3N2Zy9pY29uLWNhcmV0LWJvdHRvbS5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogMTRweCA4cHg7IH1cblxuW3R5cGU9XCJ0ZXh0XCJdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q2ZDZkNjsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuc2VsZWN0OmZvY3VzLFxuaW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAjZDQwMDAwICFpbXBvcnRhbnQ7IH1cblxuW3R5cGU9XCJ0ZXh0XCJdOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q0MDAwMDsgfVxuXG4uaXMtcmVxdWlyZWQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIipcIjtcbiAgY29sb3I6ICMyMTk5ZTg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDAuNjI1cmVtOyB9XG5cbmEge1xuICBjb2xvcjogIzIxMjEyMTtcbiAgdHJhbnNpdGlvbjogYWxsIC4yczsgfVxuXG4uYm9keSBhIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNDAwMDA7IH1cblxuYTpob3ZlcixcbmE6Zm9jdXMge1xuICBjb2xvcjogI2Q0MDAwMDsgfVxuXG5hLmlzLXVuZGVybGluZWQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzIxOTllODsgfVxuXG4uc2hvdy1hbGwge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogIzIxMjEyMTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNDAwMDA7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5za2lwLWxpbmtzIHtcbiAgbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDA7IH1cbiAgLnNraXAtbGlua3MgPiBsaSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5za2lwLWxpbmtzIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogI2Q0MDAwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDAuMzEyNXJlbSAwLjYyNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OXB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnNraXAtbGlua3MgYTpmb2N1cyB7XG4gICAgbGVmdDogMDtcbiAgICBvdXRsaW5lLWNvbG9yOiAjZDZkNmQ2OyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4ub2JqZWN0LWxlZnQgZmlndXJlIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtOyB9XG5cbi5vYmplY3QtcmlnaHQgZmlndXJlIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxuLyoqXG4gKiAjT0JKRUNUU1xuICovXG4vKipcbiAqICNWRU5ET1JcbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlx0SElOVC5jc3MgLSBBIENTUyB0b29sdGlwIGxpYnJhcnlcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBISU5ULmNzcyBpcyBhIHRvb2x0aXAgbGlicmFyeSBtYWRlIGluIHB1cmUgQ1NTLlxuICpcbiAqIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2NoaW5jaGFuZy9oaW50LmNzc1xuICogRGVtbzogaHR0cDovL2t1c2hhZ3JhZ291ci5pbi9sYWIvaGludC9cbiAqXG4gKiBSZWxlYXNlIHVuZGVyIFRoZSBNSVQgTGljZW5zZVxuICpcbiAqL1xuLyoqXG4gKiBzb3VyY2U6IGhpbnQtY29yZS5zY3NzXG4gKlxuICogRGVmaW5lcyB0aGUgYmFzaWMgc3R5bGluZyBmb3IgdGhlIHRvb2x0aXAuXG4gKiBFYWNoIHRvb2x0aXAgaXMgbWFkZSBvZiAyIHBhcnRzOlxuICogXHQxKSBib2R5ICg6YWZ0ZXIpXG4gKiBcdDIpIGFycm93ICg6YmVmb3JlKVxuICpcbiAqIENsYXNzZXMgYWRkZWQ6XG4gKiBcdDEpIGhpbnRcbiAqL1xuW2NsYXNzKj1cImhpbnQtLVwiXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKipcblx0ICogdG9vbHRpcCBhcnJvd1xuXHQgKi9cbiAgLyoqXG5cdCAqIHRvb2x0aXAgYm9keVxuXHQgKi8gfVxuICBbY2xhc3MqPVwiaGludC0tXCJdOmJlZm9yZSwgW2NsYXNzKj1cImhpbnQtLVwiXTphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAxMDAwMDAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC4zcyBlYXNlO1xuICAgIC1tb3otdHJhbnNpdGlvbjogMC4zcyBlYXNlO1xuICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDBtcztcbiAgICAtbW96LXRyYW5zaXRpb24tZGVsYXk6IDBtcztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwbXM7IH1cbiAgW2NsYXNzKj1cImhpbnQtLVwiXTpob3ZlcjpiZWZvcmUsIFtjbGFzcyo9XCJoaW50LS1cIl06aG92ZXI6YWZ0ZXIge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTsgfVxuICBbY2xhc3MqPVwiaGludC0tXCJdOmhvdmVyOmJlZm9yZSwgW2NsYXNzKj1cImhpbnQtLVwiXTpob3ZlcjphZnRlciB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAxMDBtcztcbiAgICAtbW96LXRyYW5zaXRpb24tZGVsYXk6IDEwMG1zO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEwMG1zOyB9XG4gIFtjbGFzcyo9XCJoaW50LS1cIl06YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgei1pbmRleDogMTAwMDAwMTsgfVxuICBbY2xhc3MqPVwiaGludC0tXCJdOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzgzODM4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIFtjbGFzcyo9XCJoaW50LS1cIl1bYXJpYS1sYWJlbF06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGF0dHIoYXJpYS1sYWJlbCk7IH1cbiAgW2NsYXNzKj1cImhpbnQtLVwiXVtkYXRhLWhpbnRdOmFmdGVyIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtaGludCk7IH1cblxuW2FyaWEtbGFiZWw9JyddOmJlZm9yZSwgW2FyaWEtbGFiZWw9JyddOmFmdGVyLFxuW2RhdGEtaGludD0nJ106YmVmb3JlLFxuW2RhdGEtaGludD0nJ106YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gKiBzb3VyY2U6IGhpbnQtcG9zaXRpb24uc2Nzc1xuICpcbiAqIERlZmluZXMgdGhlIHBvc2l0b25pbmcgbG9naWMgZm9yIHRoZSB0b29sdGlwcy5cbiAqXG4gKiBDbGFzc2VzIGFkZGVkOlxuICogXHQxKSBoaW50LS10b3BcbiAqIFx0MikgaGludC0tYm90dG9tXG4gKiBcdDMpIGhpbnQtLWxlZnRcbiAqIFx0NCkgaGludC0tcmlnaHRcbiAqL1xuLyoqXG4gKiBzZXQgZGVmYXVsdCBjb2xvciBmb3IgdG9vbHRpcCBhcnJvd3NcbiAqL1xuLmhpbnQtLXRvcC1sZWZ0OmJlZm9yZSB7XG4gIGJvcmRlci10b3AtY29sb3I6ICMzODM4Mzg7IH1cblxuLmhpbnQtLXRvcC1yaWdodDpiZWZvcmUge1xuICBib3JkZXItdG9wLWNvbG9yOiAjMzgzODM4OyB9XG5cbi5oaW50LS10b3A6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzM4MzgzODsgfVxuXG4uaGludC0tYm90dG9tLWxlZnQ6YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzM4MzgzODsgfVxuXG4uaGludC0tYm90dG9tLXJpZ2h0OmJlZm9yZSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMzODM4Mzg7IH1cblxuLmhpbnQtLWJvdHRvbTpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMzgzODM4OyB9XG5cbi5oaW50LS1sZWZ0OmJlZm9yZSB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjMzgzODM4OyB9XG5cbi5oaW50LS1yaWdodDpiZWZvcmUge1xuICBib3JkZXItcmlnaHQtY29sb3I6ICMzODM4Mzg7IH1cblxuLyoqXG4gKiB0b3AgdG9vbHRpcFxuICovXG4uaGludC0tdG9wOmJlZm9yZSB7XG4gIG1hcmdpbi1ib3R0b206IC0xMXB4OyB9XG5cbi5oaW50LS10b3A6YmVmb3JlLCAuaGludC0tdG9wOmFmdGVyIHtcbiAgYm90dG9tOiAxMDAlO1xuICBsZWZ0OiA1MCU7IH1cblxuLmhpbnQtLXRvcDpiZWZvcmUge1xuICBsZWZ0OiBjYWxjKDUwJSAtIDZweCk7IH1cblxuLmhpbnQtLXRvcDphZnRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5oaW50LS10b3A6aG92ZXI6YmVmb3JlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7IH1cblxuLmhpbnQtLXRvcDpob3ZlcjphZnRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLThweCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLThweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC04cHgpOyB9XG5cbi8qKlxuICogYm90dG9tIHRvb2x0aXBcbiAqL1xuLmhpbnQtLWJvdHRvbTpiZWZvcmUge1xuICBtYXJnaW4tdG9wOiAtMTFweDsgfVxuXG4uaGludC0tYm90dG9tOmJlZm9yZSwgLmhpbnQtLWJvdHRvbTphZnRlciB7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogNTAlOyB9XG5cbi5oaW50LS1ib3R0b206YmVmb3JlIHtcbiAgbGVmdDogY2FsYyg1MCUgLSA2cHgpOyB9XG5cbi5oaW50LS1ib3R0b206YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4uaGludC0tYm90dG9tOmhvdmVyOmJlZm9yZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XG5cbi5oaW50LS1ib3R0b206aG92ZXI6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDhweCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoOHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoOHB4KTsgfVxuXG4vKipcbiAqIHJpZ2h0IHRvb2x0aXBcbiAqL1xuLmhpbnQtLXJpZ2h0OmJlZm9yZSB7XG4gIG1hcmdpbi1sZWZ0OiAtMTFweDtcbiAgbWFyZ2luLWJvdHRvbTogLTZweDsgfVxuXG4uaGludC0tcmlnaHQ6YWZ0ZXIge1xuICBtYXJnaW4tYm90dG9tOiAtMTRweDsgfVxuXG4uaGludC0tcmlnaHQ6YmVmb3JlLCAuaGludC0tcmlnaHQ6YWZ0ZXIge1xuICBsZWZ0OiAxMDAlO1xuICBib3R0b206IDUwJTsgfVxuXG4uaGludC0tcmlnaHQ6aG92ZXI6YmVmb3JlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7IH1cblxuLmhpbnQtLXJpZ2h0OmhvdmVyOmFmdGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7IH1cblxuLyoqXG4gKiBsZWZ0IHRvb2x0aXBcbiAqL1xuLmhpbnQtLWxlZnQ6YmVmb3JlIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMTFweDtcbiAgbWFyZ2luLWJvdHRvbTogLTZweDsgfVxuXG4uaGludC0tbGVmdDphZnRlciB7XG4gIG1hcmdpbi1ib3R0b206IC0xNHB4OyB9XG5cbi5oaW50LS1sZWZ0OmJlZm9yZSwgLmhpbnQtLWxlZnQ6YWZ0ZXIge1xuICByaWdodDogMTAwJTtcbiAgYm90dG9tOiA1MCU7IH1cblxuLmhpbnQtLWxlZnQ6aG92ZXI6YmVmb3JlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLThweCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC04cHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLThweCk7IH1cblxuLmhpbnQtLWxlZnQ6aG92ZXI6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOHB4KTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLThweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOHB4KTsgfVxuXG4vKipcbiAqIHRvcC1sZWZ0IHRvb2x0aXBcbiAqL1xuLmhpbnQtLXRvcC1sZWZ0OmJlZm9yZSB7XG4gIG1hcmdpbi1ib3R0b206IC0xMXB4OyB9XG5cbi5oaW50LS10b3AtbGVmdDpiZWZvcmUsIC5oaW50LS10b3AtbGVmdDphZnRlciB7XG4gIGJvdHRvbTogMTAwJTtcbiAgbGVmdDogNTAlOyB9XG5cbi5oaW50LS10b3AtbGVmdDpiZWZvcmUge1xuICBsZWZ0OiBjYWxjKDUwJSAtIDZweCk7IH1cblxuLmhpbnQtLXRvcC1sZWZ0OmFmdGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLmhpbnQtLXRvcC1sZWZ0OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cblxuLmhpbnQtLXRvcC1sZWZ0OmhvdmVyOmJlZm9yZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOyB9XG5cbi5oaW50LS10b3AtbGVmdDpob3ZlcjphZnRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSB0cmFuc2xhdGVZKC04cHgpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgdHJhbnNsYXRlWSgtOHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSB0cmFuc2xhdGVZKC04cHgpOyB9XG5cbi8qKlxuICogdG9wLXJpZ2h0IHRvb2x0aXBcbiAqL1xuLmhpbnQtLXRvcC1yaWdodDpiZWZvcmUge1xuICBtYXJnaW4tYm90dG9tOiAtMTFweDsgfVxuXG4uaGludC0tdG9wLXJpZ2h0OmJlZm9yZSwgLmhpbnQtLXRvcC1yaWdodDphZnRlciB7XG4gIGJvdHRvbTogMTAwJTtcbiAgbGVmdDogNTAlOyB9XG5cbi5oaW50LS10b3AtcmlnaHQ6YmVmb3JlIHtcbiAgbGVmdDogY2FsYyg1MCUgLSA2cHgpOyB9XG5cbi5oaW50LS10b3AtcmlnaHQ6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uaGludC0tdG9wLXJpZ2h0OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IC0xMnB4OyB9XG5cbi5oaW50LS10b3AtcmlnaHQ6aG92ZXI6YmVmb3JlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7IH1cblxuLmhpbnQtLXRvcC1yaWdodDpob3ZlcjphZnRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOyB9XG5cbi8qKlxuICogYm90dG9tLWxlZnQgdG9vbHRpcFxuICovXG4uaGludC0tYm90dG9tLWxlZnQ6YmVmb3JlIHtcbiAgbWFyZ2luLXRvcDogLTExcHg7IH1cblxuLmhpbnQtLWJvdHRvbS1sZWZ0OmJlZm9yZSwgLmhpbnQtLWJvdHRvbS1sZWZ0OmFmdGVyIHtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiA1MCU7IH1cblxuLmhpbnQtLWJvdHRvbS1sZWZ0OmJlZm9yZSB7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gNnB4KTsgfVxuXG4uaGludC0tYm90dG9tLWxlZnQ6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4uaGludC0tYm90dG9tLWxlZnQ6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogMTJweDsgfVxuXG4uaGludC0tYm90dG9tLWxlZnQ6aG92ZXI6YmVmb3JlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cblxuLmhpbnQtLWJvdHRvbS1sZWZ0OmhvdmVyOmFmdGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHRyYW5zbGF0ZVkoOHB4KTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHRyYW5zbGF0ZVkoOHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSB0cmFuc2xhdGVZKDhweCk7IH1cblxuLyoqXG4gKiBib3R0b20tcmlnaHQgdG9vbHRpcFxuICovXG4uaGludC0tYm90dG9tLXJpZ2h0OmJlZm9yZSB7XG4gIG1hcmdpbi10b3A6IC0xMXB4OyB9XG5cbi5oaW50LS1ib3R0b20tcmlnaHQ6YmVmb3JlLCAuaGludC0tYm90dG9tLXJpZ2h0OmFmdGVyIHtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiA1MCU7IH1cblxuLmhpbnQtLWJvdHRvbS1yaWdodDpiZWZvcmUge1xuICBsZWZ0OiBjYWxjKDUwJSAtIDZweCk7IH1cblxuLmhpbnQtLWJvdHRvbS1yaWdodDphZnRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5oaW50LS1ib3R0b20tcmlnaHQ6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogLTEycHg7IH1cblxuLmhpbnQtLWJvdHRvbS1yaWdodDpob3ZlcjpiZWZvcmUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsgfVxuXG4uaGludC0tYm90dG9tLXJpZ2h0OmhvdmVyOmFmdGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cblxuLyoqXG4gKiBzb3VyY2U6IGhpbnQtc2l6ZXMuc2Nzc1xuICpcbiAqIERlZmluZXMgd2lkdGggcmVzdHJpY3RlZCB0b29sdGlwcyB0aGF0IGNhbiBzcGFuXG4gKiBhY3Jvc3MgbXVsdGlwbGUgbGluZXMuXG4gKlxuICogQ2xhc3NlcyBhZGRlZDpcbiAqIFx0MSkgaGludC0tc21hbGxcbiAqIFx0MikgaGludC0tbWVkaXVtXG4gKiBcdDMpIGhpbnQtLWxhcmdlXG4gKlxuICovXG4uaGludC0tc21hbGw6YWZ0ZXIsXG4uaGludC0tbWVkaXVtOmFmdGVyLFxuLmhpbnQtLWxhcmdlOmFmdGVyIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNGVtOyB9XG5cbi5oaW50LS1zbWFsbDphZnRlciB7XG4gIHdpZHRoOiA4MHB4OyB9XG5cbi5oaW50LS1tZWRpdW06YWZ0ZXIge1xuICB3aWR0aDogMTUwcHg7IH1cblxuLmhpbnQtLWxhcmdlOmFmdGVyIHtcbiAgd2lkdGg6IDMwMHB4OyB9XG5cbi8qKlxuICogc291cmNlOiBoaW50LXRoZW1lLnNjc3NcbiAqXG4gKiBEZWZpbmVzIGJhc2ljIHRoZW1lIGZvciB0b29sdGlwcy5cbiAqXG4gKi9cbltjbGFzcyo9XCJoaW50LS1cIl0ge1xuICAvKipcblx0ICogdG9vbHRpcCBib2R5XG5cdCAqLyB9XG4gIFtjbGFzcyo9XCJoaW50LS1cIl06YWZ0ZXIge1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMHB4IGJsYWNrO1xuICAgIGJveC1zaGFkb3c6IDRweCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4vKipcbiAqIHNvdXJjZTogaGludC1jb2xvci10eXBlcy5zY3NzXG4gKlxuICogQ29udGFpbnMgdG9vbHRpcHMgb2YgdmFyaW91cyB0eXBlcyBiYXNlZCBvbiBjb2xvciBkaWZmZXJlbmNlcy5cbiAqXG4gKiBDbGFzc2VzIGFkZGVkOlxuICogXHQxKSBoaW50LS1lcnJvclxuICogXHQyKSBoaW50LS13YXJuaW5nXG4gKiBcdDMpIGhpbnQtLWluZm9cbiAqIFx0NCkgaGludC0tc3VjY2Vzc1xuICpcbiAqL1xuLyoqXG4gKiBFcnJvclxuICovXG4uaGludC0tZXJyb3I6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjM0ZTRkO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDBweCAjNTkyNzI2OyB9XG5cbi5oaW50LS1lcnJvci5oaW50LS10b3AtbGVmdDpiZWZvcmUge1xuICBib3JkZXItdG9wLWNvbG9yOiAjYjM0ZTRkOyB9XG5cbi5oaW50LS1lcnJvci5oaW50LS10b3AtcmlnaHQ6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2IzNGU0ZDsgfVxuXG4uaGludC0tZXJyb3IuaGludC0tdG9wOmJlZm9yZSB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNiMzRlNGQ7IH1cblxuLmhpbnQtLWVycm9yLmhpbnQtLWJvdHRvbS1sZWZ0OmJlZm9yZSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNiMzRlNGQ7IH1cblxuLmhpbnQtLWVycm9yLmhpbnQtLWJvdHRvbS1yaWdodDpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjYjM0ZTRkOyB9XG5cbi5oaW50LS1lcnJvci5oaW50LS1ib3R0b206YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2IzNGU0ZDsgfVxuXG4uaGludC0tZXJyb3IuaGludC0tbGVmdDpiZWZvcmUge1xuICBib3JkZXItbGVmdC1jb2xvcjogI2IzNGU0ZDsgfVxuXG4uaGludC0tZXJyb3IuaGludC0tcmlnaHQ6YmVmb3JlIHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjYjM0ZTRkOyB9XG5cbi8qKlxuICogV2FybmluZ1xuICovXG4uaGludC0td2FybmluZzphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMDk4NTQ7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMHB4ICM2YzUzMjg7IH1cblxuLmhpbnQtLXdhcm5pbmcuaGludC0tdG9wLWxlZnQ6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2MwOTg1NDsgfVxuXG4uaGludC0td2FybmluZy5oaW50LS10b3AtcmlnaHQ6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2MwOTg1NDsgfVxuXG4uaGludC0td2FybmluZy5oaW50LS10b3A6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2MwOTg1NDsgfVxuXG4uaGludC0td2FybmluZy5oaW50LS1ib3R0b20tbGVmdDpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjYzA5ODU0OyB9XG5cbi5oaW50LS13YXJuaW5nLmhpbnQtLWJvdHRvbS1yaWdodDpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjYzA5ODU0OyB9XG5cbi5oaW50LS13YXJuaW5nLmhpbnQtLWJvdHRvbTpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjYzA5ODU0OyB9XG5cbi5oaW50LS13YXJuaW5nLmhpbnQtLWxlZnQ6YmVmb3JlIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNjMDk4NTQ7IH1cblxuLmhpbnQtLXdhcm5pbmcuaGludC0tcmlnaHQ6YmVmb3JlIHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjYzA5ODU0OyB9XG5cbi8qKlxuICogSW5mb1xuICovXG4uaGludC0taW5mbzphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzOTg2YWM7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMHB4ICMxYTNjNGQ7IH1cblxuLmhpbnQtLWluZm8uaGludC0tdG9wLWxlZnQ6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzM5ODZhYzsgfVxuXG4uaGludC0taW5mby5oaW50LS10b3AtcmlnaHQ6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzM5ODZhYzsgfVxuXG4uaGludC0taW5mby5oaW50LS10b3A6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzM5ODZhYzsgfVxuXG4uaGludC0taW5mby5oaW50LS1ib3R0b20tbGVmdDpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMzk4NmFjOyB9XG5cbi5oaW50LS1pbmZvLmhpbnQtLWJvdHRvbS1yaWdodDpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMzk4NmFjOyB9XG5cbi5oaW50LS1pbmZvLmhpbnQtLWJvdHRvbTpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMzk4NmFjOyB9XG5cbi5oaW50LS1pbmZvLmhpbnQtLWxlZnQ6YmVmb3JlIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICMzOTg2YWM7IH1cblxuLmhpbnQtLWluZm8uaGludC0tcmlnaHQ6YmVmb3JlIHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMzk4NmFjOyB9XG5cbi8qKlxuICogU3VjY2Vzc1xuICovXG4uaGludC0tc3VjY2VzczphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NTg3NDY7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMHB4ICMxYTMyMWE7IH1cblxuLmhpbnQtLXN1Y2Nlc3MuaGludC0tdG9wLWxlZnQ6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzQ1ODc0NjsgfVxuXG4uaGludC0tc3VjY2Vzcy5oaW50LS10b3AtcmlnaHQ6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzQ1ODc0NjsgfVxuXG4uaGludC0tc3VjY2Vzcy5oaW50LS10b3A6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzQ1ODc0NjsgfVxuXG4uaGludC0tc3VjY2Vzcy5oaW50LS1ib3R0b20tbGVmdDpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjNDU4NzQ2OyB9XG5cbi5oaW50LS1zdWNjZXNzLmhpbnQtLWJvdHRvbS1yaWdodDpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjNDU4NzQ2OyB9XG5cbi5oaW50LS1zdWNjZXNzLmhpbnQtLWJvdHRvbTpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjNDU4NzQ2OyB9XG5cbi5oaW50LS1zdWNjZXNzLmhpbnQtLWxlZnQ6YmVmb3JlIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICM0NTg3NDY7IH1cblxuLmhpbnQtLXN1Y2Nlc3MuaGludC0tcmlnaHQ6YmVmb3JlIHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjNDU4NzQ2OyB9XG5cbi8qKlxuICogc291cmNlOiBoaW50LWFsd2F5cy5zY3NzXG4gKlxuICogRGVmaW5lcyBhIHBlcnNpc3RlZCB0b29sdGlwIHdoaWNoIHNob3dzIGFsd2F5cy5cbiAqXG4gKiBDbGFzc2VzIGFkZGVkOlxuICogXHQxKSBoaW50LS1hbHdheXNcbiAqXG4gKi9cbi5oaW50LS1hbHdheXM6YWZ0ZXIsIC5oaW50LS1hbHdheXM6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uaGludC0tYWx3YXlzLmhpbnQtLXRvcDpiZWZvcmUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTsgfVxuXG4uaGludC0tYWx3YXlzLmhpbnQtLXRvcDphZnRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLThweCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLThweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC04cHgpOyB9XG5cbi5oaW50LS1hbHdheXMuaGludC0tdG9wLWxlZnQ6YmVmb3JlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7IH1cblxuLmhpbnQtLWFsd2F5cy5oaW50LS10b3AtbGVmdDphZnRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSB0cmFuc2xhdGVZKC04cHgpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgdHJhbnNsYXRlWSgtOHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSB0cmFuc2xhdGVZKC04cHgpOyB9XG5cbi5oaW50LS1hbHdheXMuaGludC0tdG9wLXJpZ2h0OmJlZm9yZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOyB9XG5cbi5oaW50LS1hbHdheXMuaGludC0tdG9wLXJpZ2h0OmFmdGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7IH1cblxuLmhpbnQtLWFsd2F5cy5oaW50LS1ib3R0b206YmVmb3JlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cblxuLmhpbnQtLWFsd2F5cy5oaW50LS1ib3R0b206YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDhweCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoOHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoOHB4KTsgfVxuXG4uaGludC0tYWx3YXlzLmhpbnQtLWJvdHRvbS1sZWZ0OmJlZm9yZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XG5cbi5oaW50LS1hbHdheXMuaGludC0tYm90dG9tLWxlZnQ6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgdHJhbnNsYXRlWSg4cHgpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgdHJhbnNsYXRlWSg4cHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHRyYW5zbGF0ZVkoOHB4KTsgfVxuXG4uaGludC0tYWx3YXlzLmhpbnQtLWJvdHRvbS1yaWdodDpiZWZvcmUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsgfVxuXG4uaGludC0tYWx3YXlzLmhpbnQtLWJvdHRvbS1yaWdodDphZnRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XG5cbi5oaW50LS1hbHdheXMuaGludC0tbGVmdDpiZWZvcmUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOHB4KTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLThweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOHB4KTsgfVxuXG4uaGludC0tYWx3YXlzLmhpbnQtLWxlZnQ6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOHB4KTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLThweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOHB4KTsgfVxuXG4uaGludC0tYWx3YXlzLmhpbnQtLXJpZ2h0OmJlZm9yZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpOyB9XG5cbi5oaW50LS1hbHdheXMuaGludC0tcmlnaHQ6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTsgfVxuXG4vKipcbiAqIHNvdXJjZTogaGludC1yb3VuZGVkLnNjc3NcbiAqXG4gKiBEZWZpbmVzIHJvdW5kZWQgY29ybmVyIHRvb2x0aXBzLlxuICpcbiAqIENsYXNzZXMgYWRkZWQ6XG4gKiBcdDEpIGhpbnQtLXJvdW5kZWRcbiAqXG4gKi9cbi5oaW50LS1yb3VuZGVkOmFmdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG5cbi8qKlxuICogc291cmNlOiBoaW50LWVmZmVjdHMuc2Nzc1xuICpcbiAqIERlZmluZXMgdmFyaW91cyB0cmFuc2l0aW9uIGVmZmVjdHMgZm9yIHRoZSB0b29sdGlwcy5cbiAqXG4gKiBDbGFzc2VzIGFkZGVkOlxuICogXHQxKSBoaW50LS1uby1hbmltYXRlXG4gKiBcdDIpIGhpbnQtLWJvdW5jZVxuICpcbiAqL1xuLmhpbnQtLW5vLWFuaW1hdGU6YmVmb3JlLCAuaGludC0tbm8tYW5pbWF0ZTphZnRlciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMG1zO1xuICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246IDBtcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMG1zOyB9XG5cbi5oaW50LS1ib3VuY2U6YmVmb3JlLCAuaGludC0tYm91bmNlOmFmdGVyIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgdmlzaWJpbGl0eSAwLjNzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuNzEsIDEuNywgMC43NywgMS4yNCk7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UsIHZpc2liaWxpdHkgMC4zcyBlYXNlLCAtbW96LXRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjcxLCAxLjcsIDAuNzcsIDEuMjQpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgdmlzaWJpbGl0eSAwLjNzIGVhc2UsIHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjcxLCAxLjcsIDAuNzcsIDEuMjQpOyB9XG5cbi8qKlxuICogI0NPTVBPTkVOVFNcbiAqL1xuaHIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q2ZDZkNjsgfVxuXG5oci5zdHJvbmcge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q2ZDZkNjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7IH1cblxuLmhhbWJ1cmdlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogMTVweDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zczsgfVxuXG4uaGFtYnVyZ2VyOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uaGFtYnVyZ2VyX19iYXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDZweDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogM3B4O1xuICBiYWNrZ3JvdW5kOiAjZDQwMDAwOyB9XG5cbi5oYW1idXJnZXJfX2Jhcjo6YmVmb3JlLFxuLmhhbWJ1cmdlcl9fYmFyOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0MDAwMDtcbiAgY29udGVudDogXCJcIjtcbiAgdHJhbnNpdGlvbjogdG9wIC4zcyAuM3MsIGJvdHRvbSAuM3MgLjNzLCB0cmFuc2Zvcm0gLjNzIDBzOyB9XG5cbi5oYW1idXJnZXJfX2Jhcjo6YmVmb3JlIHtcbiAgdG9wOiAtNnB4OyB9XG5cbi5oYW1idXJnZXJfX2Jhcjo6YWZ0ZXIge1xuICBib3R0b206IC02cHg7IH1cblxuLmhhbWJ1cmdlcl9fbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTNweDsgfVxuXG4uaGFtYnVyZ2VyLS1odHgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uaGFtYnVyZ2VyLS1odHggLmhhbWJ1cmdlcl9fYmFyIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwcyAwLjNzOyB9XG5cbi5oYW1idXJnZXItLWh0eCAuaGFtYnVyZ2VyX19iYXI6OmJlZm9yZSxcbi5oYW1idXJnZXItLWh0eCAuaGFtYnVyZ2VyX19iYXI6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogdG9wIC4zcyAuM3MsIGJvdHRvbSAuM3MgLjNzLCB0cmFuc2Zvcm0gLjNzIDBzOyB9XG5cbi8qIGFjdGl2ZSBzdGF0ZSwgaS5lLiBtZW51IG9wZW4gKi9cbi5zaWRlYmFyLWJ1dHRvbi5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc2lkZWJhci1idXR0b24uaXMtYWN0aXZlIC5oYW1idXJnZXJfX2JhciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLnNpZGViYXItYnV0dG9uLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyX19iYXI6OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG5cbi5zaWRlYmFyLWJ1dHRvbi5pcy1hY3RpdmUgLmhhbWJ1cmdlcl9fYmFyOjphZnRlciB7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4uc2lkZWJhci1idXR0b24uaXMtYWN0aXZlIC5oYW1idXJnZXJfX2Jhcjo6YmVmb3JlLFxuLnNpZGViYXItYnV0dG9uLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyX19iYXI6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogdG9wIC4zcyAwcywgYm90dG9tIC4zcyAwcywgdHJhbnNmb3JtIC4zcyAuM3M7IH1cblxuLmJyZWFkY3J1bWJzLXdyYXBwZXIge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uYnJlYWRjcnVtYnMgLmJyZWFkY3J1bWJzX19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogIzUxNTE1MTsgfVxuICAuYnJlYWRjcnVtYnMgLmJyZWFkY3J1bWJzX19pdGVtOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9pY29ucy9pY29uLWFycm93LWxpbmUuc3ZnXCIpO1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7IH1cblxuLmJyZWFkY3J1bWJzIC5icmVhZGNydW1ic19fbGluayB7XG4gIGNvbG9yOiAjNTE1MTUxO1xuICBwYWRkaW5nLWJvdHRvbTogMXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q0MDAwMDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4yczsgfVxuICAuYnJlYWRjcnVtYnMgLmJyZWFkY3J1bWJzX19saW5rOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZDQwMDAwOyB9XG5cbi5oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkgYW5kIChtaW4tcmVzb2x1dGlvbjogNzJkcGkpIHtcbiAgLmhlYWRlciB7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDNzIGVhc2Utb3V0OyB9XG4gIC5zdC1tZW51LW9wZW4gLmhlYWRlciB7XG4gICAgbGVmdDogMzAwcHg7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAuNHMgZWFzZS1vdXQ7IH0gfVxuXG4uaGVhZGVyX19jb250YWluZXIge1xuICBwYWRkaW5nOiA2cmVtIDAgMC42MjVyZW0gMDsgfVxuXG4uaGVhZGVyX19sb2dvLWpkbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDc1JTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTc1JSk7XG4gIHotaW5kZXg6IDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oZWFkZXJfX2xvZ28tamRtIHN2ZyB7XG4gICAgd2lkdGg6IDMwMHB4OyB9IH1cblxuLmhlYWRlcl9fYnVyZ2VyIHtcbiAgbGVmdDogMDtcbiAgdG9wOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07IH1cblxuLmhlYWRlcl9fc2VhcmNoLWljb24ge1xuICByaWdodDogMDtcbiAgdG9wOiAxMDAlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgfVxuXG4uaGVhZGVyX19zZWFyY2gtaWNvbiAuc3ZnLWljb24ge1xuICBmaWxsOiAjZDQwMDAwOyB9XG5cbi5oZWFkZXJfX2xvZ28tZ3BwbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMTAwJTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG4gIHBhZGRpbmctdG9wOiA1cHg7IH1cblxuLmhlYWRlcl9fdHJpZ2dlciB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHdpZHRoOiAyMTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmhlYWRlcl9fdHJpZ2dlci1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgY29sb3I6ICM1MTUxNTE7IH1cblxuLmhlYWRlcl9fbGFuZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIHBhZGRpbmc6IDAuMzEyNXJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLW91dDsgfVxuXG4uaGVhZGVyX19sYW5nIGEge1xuICBjb2xvcjogIzZkNmQ2ZDsgfVxuXG4uaGVhZGVyX19sYW5nIGEuY3VycmVudCxcbi5oZWFkZXJfX2xhbmcgYTpob3ZlciB7XG4gIGNvbG9yOiAjZDQwMDAwOyB9XG5cbi5oZWFkZXIge1xuICB6LWluZGV4OiAxMDA7XG4gIHRvcDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5oZWFkZXJfX2NvbnRhaW5lciB7XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuXG4uaGVhZGVyX19sb2dvLWpkbSBzdmcge1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaGVhZGVyX19jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6IDUwcHg7IH1cbiAgLmhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmhlYWRlciAuaGVhZGVyX19sb2dvLWpkbSBzdmcge1xuICAgIGhlaWdodDogMzVweDtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oZWFkZXJfX2NvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaGVhZGVyLS1sYXJnZSB7XG4gICAgaGVpZ2h0OiAxMDZweDsgfVxuICAuaGVhZGVyLS1sYXJnZSAuaGVhZGVyX19jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiA5NnB4OyB9XG4gIC5oZWFkZXItLXNtYWxsIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMTVweCA1MHB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7IH1cbiAgLmhlYWRlci0tc21hbGwgLmhlYWRlcl9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDsgfVxuICAuaGVhZGVyLS1zbWFsbCAuaGVhZGVyX19sb2dvLWpkbSBzdmcge1xuICAgIGhlaWdodDogMzVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuaGVhZGVyLS1zbWFsbCAuaGVhZGVyX19sYW5nIHtcbiAgICB0b3A6IC0yMHB4OyB9IH1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDQwMDAwO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE1ODNjYztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH1cblxuLmJ1dHRvbl9faWNvbi0tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuXG4uYnV0dG9uIC5zdmctaWNvbiB7XG4gIGZpbGw6ICNmZmZmZmY7IH1cblxuLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMTAwMDA7IH1cblxuLmJ1dHRvbi0tcHJpbWFyeS1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ExMDAwMDsgfVxuXG4uYnV0dG9uLS1jaHJvbWxlc3Mge1xuICBtYXJnaW46IDA7IH1cblxuLmJ1dHRvbi0tbGluayB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4uYnV0dG9uLS1saW5rOmhvdmVyLFxuLmJ1dHRvbi0tbGluazpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLmJ1dHRvbi0tbGluazpob3ZlciAuYnV0dG9uX190ZXh0IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmZmZmY7IH1cblxuLmJ1dHRvbi0tdGlueSB7XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gIHBhZGRpbmc6IDAuMzEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmJ1dHRvbi0tc21hbGwge1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgaGVpZ2h0OiAxLjg3NXJlbTsgfVxuICAuYnV0dG9uLS1zbWFsbC5oYXMtaWNvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDsgfVxuXG4uYnV0dG9uLS1sYXJnZSB7XG4gIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnV0dG9uLS1sYXJnZSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuLmJ1dHRvbi0tYmlnIHtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxLjMxMjVyZW07IH1cblxuLmJ1dHRvbi0taG9sbG93LFxuLmJ1dHRvbi0taG9sbG93OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiMWIxYjE7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgY29sb3I6ICM1MTUxNTE7XG4gIHRyYW5zaXRpb246IGFsbCAuMnM7IH1cbiAgLmJ1dHRvbi0taG9sbG93OmhvdmVyLFxuICAuYnV0dG9uLS1ob2xsb3c6Zm9jdXM6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2Q0MDAwMDtcbiAgICBjb2xvcjogI2Q0MDAwMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4uYnV0dG9uLS10YWIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDZkNmQ2O1xuICBjb2xvcjogIzZkNmQ2ZDsgfVxuICAuYnV0dG9uLS10YWIuaXMtYWN0aXZlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZDogI2Q0MDAwMDsgfVxuXG4uYnV0dG9uLS10YWI6bm90KC5pcy1hY3RpdmUpOmhvdmVyLFxuLmJ1dHRvbi0tdGFiOm5vdCguaXMtYWN0aXZlKTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogI2Q0MDAwMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICM2ZDZkNmQ7IH1cblxuLmlzLXNxdWFyZSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmJ1dHRvbi0taG9sbG93IC5zdmctaWNvbiB7XG4gIGZpbGw6ICM1MTUxNTE7IH1cblxuLmJ1dHRvbi1maWxlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q0MDAwMDtcbiAgcGFkZGluZzogMS44NzVyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMzUwcHg7XG4gIG1hcmdpbjogMS44NzVyZW0gYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuYnV0dG9uLWZpbGUge1xuICAgICAgcGFkZGluZzogMS4yNXJlbTsgfSB9XG5cbi5idXR0b24tZmlsZV9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICBmaWxsOiAjZDQwMDAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5idXR0b24tZmlsZV9faWNvbiBzdmcge1xuICAgICAgd2lkdGg6IDQwcHg7IH0gfVxuXG4uYnV0dG9uLWZpbGVfX2ljb24gLnN2Zy1pY29uIHtcbiAgZmlsbDogI2Q0MDAwMDsgfVxuXG4uYnV0dG9uLWZpbGVfX3RleHQge1xuICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuYnV0dG9uLWZpbGVfX3RleHQge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5idXR0b24tZmlsZV9fdGV4dCB7XG4gICAgICBmb250LXNpemU6IDEuMXJlbTsgfSB9XG5cbi5idXR0b24tZmlsZV9fZmlsZXNpemUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDAuNjI1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkNDAwMDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDQwMDAwO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5sYXN0LXB1YmxpY2F0aW9uX19pbm5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICBwYWRkaW5nOiAyLjVyZW07XG4gIGJveC1zaGFkb3c6IDAgNnB4IDE4cHggcmdiYSgwLCAwLCAwLCAwLjE4KTsgfVxuXG4ubGFzdC1wdWJsaWNhdGlvbl9fbnVtYmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxLjc1cmVtOyB9XG5cbi5sYXN0LXB1YmxpY2F0aW9uX19kYXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5sYXN0LXB1YmxpY2F0aW9uX19jdGEge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjbGVhcjogYm90aDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5sYXN0LXB1YmxpY2F0aW9uX19zaG93LWFsbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDsgfVxuXG4uc2VjdGlvbiB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5zZWN0aW9uLS1lZGVuIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9iYWNrZ3JvdW5kLWVkZW4uanBnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgcGFkZGluZzogMi41cmVtIDA7IH1cblxuLnNlY3Rpb25fX2ludHJvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNlY3Rpb25fX2ludHJvIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuLnNlY3Rpb24tLWxpc3QgLnRpdGxlLWxldmVsMiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG5cbi5zZWN0aW9uLS1saXN0IHNlbGVjdCB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5zZWN0aW9uLS1lZGVuIHtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc2VjdGlvbi0tbGlzdCB7XG4gICAgbWFyZ2luOiAzLjEyNXJlbSAwO1xuICAgIHBhZGRpbmc6IDEuODc1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmM2YzZjM7IH1cbiAgLnNlY3Rpb25fX2ludHJvIHtcbiAgICBtYXJnaW46IDEuMjVyZW0gMCAwIDA7IH0gfVxuXG4uc2VhcmNoLS1qb3VybmFsIC5zZWFyY2hfX2lucHV0LWZpZWxkIHtcbiAgd2lkdGg6IDgwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5zZWFyY2gtLWpvdXJuYWwgLnNlYXJjaF9fYWN0aW9ucyB7XG4gIHdpZHRoOiAyMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zZWFyY2gtLWpvdXJuYWwgLnNlYXJjaF9fYWN0aW9ucyAuc2VhcmNoX19idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5zZWFyY2gtLWpvdXJuYWwgLnNlYXJjaF9fYWN0aW9ucyAuc2VhcmNoX19hZHZhbmNlZCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zZWFyY2guc2VhcmNoLS1zbWFsbCB7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbSAhaW1wb3J0YW50OyB9IH1cblxuLnNlYXJjaC0tc21hbGw6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnNlYXJjaC0tZW1iZWQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLnNlYXJjaC0tZW1iZWQgPiAuaW5wdXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNmQ2ZDY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5zZWFyY2gtLWVtYmVkIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi10b3A6IC0yMHB4OyB9IH1cblxuLnNlYXJjaC1jb250ZW50IC5zZWFyY2ggLmlucHV0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q2ZDZkNjtcbiAgd2lkdGg6IGNhbGMoIDEwMCUgLSA0NXB4KTsgfVxuXG4uc2VhcmNoLWNvbnRlbnQgLnNlYXJjaCAuYnV0dG9uIHtcbiAgbWFyZ2luLWxlZnQ6IC00cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc2VhcmNoLWNvbnRlbnQge1xuICAgIHdpZHRoOiBjYWxjKCAxMDAlIC0gMjkwcHgpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG5cbi5zZWFyY2guc2VhcmNoLS1lbWJlZCA+IGlucHV0IHtcbiAgd2lkdGg6IDMxMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNlYXJjaCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG5cbi5zZWFyY2ggPiBpbnB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIHBhZGRpbmc6IDAuNjI1cmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VhcmNoID4gaW5wdXQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpOyB9IH1cblxuLnNlYXJjaCA+IGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLnNlYXJjaC0td2l0aC1oZWxwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogODUlOyB9XG5cbi5oZWxwIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICB3aWR0aDogMTUlO1xuICBwYWRkaW5nOiAwLjYyNXJlbTsgfVxuXG4udG9vbHRpcCB7XG4gIG1heC13aWR0aDogMjByZW0gIWltcG9ydGFudDtcbiAgei1pbmRleDogMTAwICFpbXBvcnRhbnQ7IH1cblxuLnNlYXJjaC0tc21hbGwgPiBpbnB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNTAlO1xuICBmbG9hdDogbGVmdDsgfVxuICAuc2VhcmNoLS1zbWFsbCA+IGlucHV0IMKgIHtcbiAgICB3aWR0aDogNjAlOyB9XG5cbi5zZWFyY2hfX2J1dHRvbi0taW5saW5lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgLnNlYXJjaF9fYnV0dG9uLS1pbmxpbmUgwqAge1xuICAgIHdpZHRoOiBjYWxjKDQwJSAtIDEwcHgpOyB9XG5cbi5zZWFyY2hfX2J1dHRvbi0taWNvbiB7XG4gIHBhZGRpbmc6IDZweCAxMHB4OyB9XG5cbi5zZWFyY2hfX2lucHV0LWZpZWxkLS1iaWcge1xuICBoZWlnaHQ6IDY1cHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNlYXJjaF9faW5wdXQtZmllbGQtLWJpZyB7XG4gICAgICBmb250LXNpemU6IDEuMzEyNXJlbTsgfSB9XG5cbi5zZWFyY2gtdG9vbGJhcl9fdG9vbCB7XG4gIG1hcmdpbi1yaWdodDogMy4xMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5zZWFyY2gtdG9vbGJhcl9fdG9vbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9IH1cblxuLnNlYXJjaC10b29sYmFyX190b29sIGxhYmVsLFxuLnNlYXJjaC10b29sYmFyX190b29sIC5pbnB1dC1hcHBlbmQge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5zZWFyY2gtdG9vbGJhcl9fdG9vbCAuaW5wdXQtYXBwZW5kIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG5cbi5zZWFyY2gtcmVzdWx0c19fY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9XG5cbi5zZWFyY2gtcmVzdWx0c19fY29udGVudC0tZ3JpZCAucmVzdWx0LWl0ZW0ge1xuICB3aWR0aDogNTAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICBwYWRkaW5nOiAwIDEuMjVyZW07XG4gIGNsZWFyOiBub25lO1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc2VhcmNoLXJlc3VsdHNfX2NvbnRlbnQtLWdyaWQgLnJlc3VsdC1pdGVtIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuLnNlYXJjaC1yZXN1bHRzX19jb250ZW50LS1ncmlkIC5yZXN1bHQtaXRlbTpudGgtY2hpbGQob2RkKSB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc2VhcmNoLXJlc3VsdHNfX2NvbnRlbnQtLWdyaWQgLnJlc3VsdC1pdGVtOm50aC1jaGlsZChldmVuKSB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2Q2ZDZkNjtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uc2VhcmNoLXJlc3VsdHNfX2NvdW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4ucmVzdWx0LWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtZmFtaWx5OiBcIkRyb2lkIFNlcmlmXCIsIEdlb3JnaWEsIFRpbWVzIE5ldyBSb21hbiwgc2VyaWY7XG4gIGNvbG9yOiAjNmQ2ZDZkO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5yZXN1bHQtaXRlbTo6YmVmb3JlLCAucmVzdWx0LWl0ZW06OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnJlc3VsdC1pdGVtOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnJlc3VsdC1pdGVtX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNkNDAwMDA7XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfVxuXG4ucmVzdWx0LWl0ZW1fX3N1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICM1MTUxNTE7XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfVxuXG4ucmVzdWx0LWl0ZW1fX3N1YnRpdGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQ6ICNkNDAwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG4ucmVzdWx0LWl0ZW1fX2Rlc2NyaXB0aW9uIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5yZXN1bHQtaXRlbV9fY2F0ZWdvcmllIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uc2VhcmNoLWZpbHRlcnMtLXNtYWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtO1xuICB3aWR0aDogY2FsYyggMTAwJSArIDIuNXJlbSk7IH1cblxuLmZpbHRlci1ibG9jIHtcbiAgY29sb3I6ICNkNDAwMDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkNDAwMDA7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2Q0MDAwMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNDAwMDA7IH1cblxuLmZpbHRlci1ibG9jOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2Q0MDAwMDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZpbGw6ICNmZWZlZmU7IH1cbiAgLmZpbHRlci1ibG9jOmhvdmVyIC5maWx0ZXItaGVhZGVyX19pY29uIC5zdmctaWNvbiB7XG4gICAgZmlsbDogI2ZmZmZmZjsgfVxuXG4uZmlsdGVyLWJsb2M6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogbm9uZTsgfVxuXG4uZmlsdGVyLWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogMC42MjVyZW0gMC4zMTI1cmVtOyB9XG5cbi5maWx0ZXItY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDFyZW07XG4gIHBhZGRpbmc6IDFyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogMzAwcHg7XG4gIHotaW5kZXg6IDEwO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGJhY2tncm91bmQ6ICM1MTUxNTE7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTsgfVxuICAuZmlsdGVyLWNvbnRlbnQuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uZmlsdGVyLWNvbnRlbnQgdWwge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5maWx0ZXItY29udGVudCB1bCBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzZkNmQ2ZDtcbiAgcGFkZGluZzogMC42MjVyZW07IH1cblxuLmZpbHRlci1jb250ZW50IHVsIGxpIGEge1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG5baWQ9XCJmaWx0ZXItLWZpbHRlcnNcIl0gLnNlYXJjaC10b29sYmFyX190b29sIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5baWQ9XCJmaWx0ZXItLWZpbHRlcnNcIl0gLmlucHV0LWxhYmVsIHtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuW2lkPVwiZmlsdGVyLS1maWx0ZXJzXCJdIHNlbGVjdC5pcy1pbmxpbmUge1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjg1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbltpZD1cImZpbHRlci0tZmlsdGVyc1wiXSAuc2VhcmNoLWZpbHRlcl9fYnV0dG9uLmlzLWFjdGl2ZSAuc3ZnLWljb24ge1xuICBmaWxsOiAjZDQwMDAwOyB9XG5cbi5saXN0LWl0ZW1zIHtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbSAwOyB9XG5cbi5saXN0LWl0ZW1zIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDZkNmQ2O1xuICBtYXJnaW46IDAuNjI1cmVtIDA7XG4gIHBhZGRpbmc6IDAuMzEyNXJlbTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAubGlzdC1pdGVtcyBsaTpudGgtY2hpbGQoM24pIHtcbiAgICBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAubGlzdC1pdGVtcyBsaTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNDAwMDA7XG4gICAgd2lkdGg6IDZweDtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmxpc3QtaXRlbXM6bm90KC50aHVtYm5haWxzKSBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAubGlzdC1pdGVtcy50aHVtYm5haWxzIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDMzLjMzJTtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkNmQ2ZDY7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtNnB4OyB9IH1cblxuZm9vdGVyLm1haW4tZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogI2YzZjNmMztcbiAgcGFkZGluZzogMS4yNXJlbSAwO1xuICBtYXJnaW4tdG9wOiAyLjVyZW07IH1cblxuLm1haW4tZm9vdGVyX19zaG9ydGxpbmtzIHtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuXG4ubWFpbi1mb290ZXJfX3Nob3J0bGlua3MgbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZy1ib3R0b206IDAuMzEyNXJlbTsgfVxuXG4ubWFpbi1mb290ZXJfX3Nob3J0bGlua3MgbGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZDogI2Q0MDAwMDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9XG5cbi5tYWluLWZvb3Rlcl9fY29sdW1uIHtcbiAgcGFkZGluZzogMS4yNXJlbSAwICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWFpbi1mb290ZXJfX2NvbHVtbiB7XG4gICAgcGFkZGluZzogMS4yNXJlbSAzLjEyNXJlbSAhaW1wb3J0YW50OyB9IH1cblxuLm1haW4tZm9vdGVyIC5idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jb3B5ciB7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjYjFiMWIxO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4ge1xuICBodG1sLFxuICBib2R5LFxuICAuc3QtY29udGFpbmVyLFxuICAuc3QtcHVzaGVyLFxuICAuc3QtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5zdC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG4gIC5zdC1jb250ZW50LFxuICAuc3QtY29udGVudC1pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zdC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5zdC1wdXNoZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDk5O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwZXJzcGVjdGl2ZTogMTAwMHB4O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC41cztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41czsgfVxuICAuc3QtcHVzaGVyOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgei1pbmRleDogMTAxO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBjb250ZW50OiAnJztcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCB3aWR0aCAwLjFzIDAuNXMsIGhlaWdodCAwLjFzIDAuNXM7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCB3aWR0aCAwLjFzIDAuNXMsIGhlaWdodCAwLjFzIDAuNXM7IH1cbiAgLnN0LW1lbnUtb3BlbiAuc3QtcHVzaGVyOjphZnRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzOyB9XG4gIC5zdC1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICMyMTIxMjE7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgLnN0LW1lbnU6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgY29udGVudDogJyc7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7IH1cbiAgLnN0LW1lbnUtb3BlbiAuc3QtbWVudTo6YWZ0ZXIge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCB3aWR0aCAwLjFzIDAuNXMsIGhlaWdodCAwLjFzIDAuNXM7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCB3aWR0aCAwLjFzIDAuNXMsIGhlaWdodCAwLjFzIDAuNXM7IH1cbiAgLyogY29udGVudCBzdHlsZSAqL1xuICAuc3QtbWVudSB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuc3QtbWVudSBoMiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgIHRleHQtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMmVtOyB9XG4gIC5zdC1tZW51IC5zdC1tZW51X19pdGVtID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogLjhlbSAuOGVtIC44ZW0gMWVtO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBjb2xvcjogI2YzZWZlMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtc2hhZG93OiAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MsIGJveC1zaGFkb3cgMC4zcztcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MsIGJveC1zaGFkb3cgMC4zczsgfVxuICAuc2hvcnRsaW5rcyB7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICNkNDAwMDA7IH1cbiAgLnNob3J0bGlua3NfX2l0ZW0ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZkNmQ2ZDsgfVxuICAuc2hvcnRsaW5rc19faXRlbSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IC4yZW0gMWVtIC4yZW0gMS4yZW07XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBjb2xvcjogIzIxMjEyMTsgfVxuICAgIC5zaG9ydGxpbmtzX19pdGVtID4gYTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLigLpcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuICAuc3QtbWVudSAuc2hvcnRsaW5rc19faXRlbTpmaXJzdC1jaGlsZCA+IGEge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLnN0LW1lbnUgdWwgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgaW5zZXQgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gIC5zdC1tZW51IHVsIGxpIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLyogRWZmZWN0IDQ6IFNsaWRlIGFsb25nICovXG4gIC5zdC1lZmZlY3QtNC5zdC1tZW51LW9wZW4gLnN0LXB1c2hlciB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIzNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIzNXB4LCAwLCAwKTsgfVxuICAuc3QtZWZmZWN0LTQuc3QtbWVudSB7XG4gICAgei1pbmRleDogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTsgfVxuICAuc3QtZWZmZWN0LTQuc3QtbWVudS1vcGVuIC5zdC1lZmZlY3QtNC5zdC1tZW51IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC41cztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAuc3QtZWZmZWN0LTQuc3QtbWVudTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmxhbmctc3dpdGNoZXIgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogMS4yNXJlbTsgfSB9XG5cbi5jYXJkIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNmQ2ZDY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiRHJvaWQgU2VyaWZcIiwgR2VvcmdpYSwgVGltZXMgTmV3IFJvbWFuLCBzZXJpZjtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cblxuLmNhcmRfX2xpbmsge1xuICBjb2xvcjogI2Q0MDAwMDsgfVxuXG4uY2FyZC0tc21hbGwge1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2Utb3V0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDsgfVxuXG4uY2FyZC0tc21hbGwgLmNhcmRfX2NvbnRlbnQge1xuICBwYWRkaW5nOiAxcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiA1MCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY2FyZC0tc21hbGw6aG92ZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAxNXB4IDUwcHggcmdiYSgwLCAwLCAwLCAwLjE4KTtcbiAgdG9wOiAtMTBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jYXJkLS1zbWFsbCAuY2FyZF9fY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9IH1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjM3NXJlbSAwLjA2MjVyZW0gMC4zNzVyZW07XG4gIGJhY2tncm91bmQ6ICNkNmQ2ZDY7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzUxNTE1MTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5zZWFyY2gtZmlsdGVyLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjZjNmM2YzO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5zZWFyY2gtZmlsdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07IH1cblxuLnNlYXJjaC1maWx0ZXJfX2xhYmVsIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzIxMjEyMTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cblxuLnNlYXJjaC1maWx0ZXJfX2xhYmVsLS1hcHBlbmQge1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5zZWFyY2gtZmlsdGVyX19zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtc2l6ZTogMTNweDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gIHBhZGRpbmc6IDAgMjBweCAwIDA7XG4gIGhlaWdodDogYXV0bztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uc2VhcmNoLWZpbHRlcnMge1xuICB3aWR0aDogMjUlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDMuMTI1cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc2VhcmNoLWZpbHRlcnMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnNlYXJjaC1maWx0ZXJzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW0gIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuc2VhcmNoLWZpbHRlcnMtLXNtYWxsIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9IH1cblxuLnNlYXJjaC1maWx0ZXJzX19kYXRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zZWFyY2gtZmlsdGVyc19fZGF0ZSB7XG4gICAgICBtYXJnaW46IDEuMjVyZW07IH1cbiAgICAgIC5zZWFyY2gtZmlsdGVyc19fZGF0ZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgICAuc2VhcmNoLWZpbHRlcnNfX2RhdGUgPiBpbnB1dCB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuc2VhcmNoLWZpbHRlcnNfX2RhdGUgPiBpbnB1dCB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnNlYXJjaC1maWx0ZXJzLW1vYmlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICAgIC5zZWFyY2gtZmlsdGVycy1tb2JpbGU6OmJlZm9yZSwgLnNlYXJjaC1maWx0ZXJzLW1vYmlsZTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAuc2VhcmNoLWZpbHRlcnMtbW9iaWxlOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfSB9XG5cbmg0LnNlYXJjaC1maWx0ZXJzX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtOyB9XG5cbi5zZWFyY2gtZmlsdGVyc19fdGl0bGUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zZWFyY2gtZmlsdGVyc19fdGl0bGUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH0gfVxuXG4uZmFjZXRzIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5mYWNldHNfX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5mYWNldHNfX2xpbmsgLnN2Zy1pY29uLWNhbmNlbCB7XG4gIGhlaWdodDogMTZweDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICBmaWxsOiAjZDQwMDAwOyB9XG5cbi5zZWFyY2gtZmlsdGVyX19idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwLjMxMjVyZW07XG4gIHRyYW5zaXRpb246IGZpbGwgLjJzOyB9XG5cbi5zZWFyY2gtZmlsdGVyX19idXR0b246bm90KC5pcy1hY3RpdmUpIC5zdmctaWNvbiB7XG4gIGZpbGw6ICNiMWIxYjE7IH1cblxuLnNlYXJjaC1maWx0ZXJfX2J1dHRvbjpob3ZlciB7XG4gIGZpbGw6ICMyMTIxMjE7IH1cblxuLnNlYXJjaC1yZXN1bHRzLS1saXN0IHVsIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5zZWFyY2gtcmVzdWx0cy0tbGlzdCAucmVzdWx0LWl0ZW1fX3N1YnRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4uc2VhcmNoLXJlc3VsdHMtLWxpc3QgLnJlc3VsdC1pdGVtIHtcbiAgcGFkZGluZzogMC42MjVyZW0gMDsgfVxuXG4uc2VhcmNoLXJlc3VsdHNfX2NvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgfVxuXG4uc2VhcmNoLXJlc3VsdHNfX2NvbnRlbnQtLWdyaWQgLnJlc3VsdC1pdGVtIHtcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTJweDtcbiAgcGFkZGluZzogMCAxLjI1cmVtO1xuICBjbGVhcjogbm9uZTtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNlYXJjaC1yZXN1bHRzX19jb250ZW50LS1ncmlkIC5yZXN1bHQtaXRlbSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5zZWFyY2gtcmVzdWx0c19fY29udGVudC0tZ3JpZCAucmVzdWx0LWl0ZW06bnRoLWNoaWxkKG9kZCkge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNlYXJjaC1yZXN1bHRzX19jb250ZW50LS1ncmlkIC5yZXN1bHQtaXRlbTpudGgtY2hpbGQoZXZlbikge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkNmQ2ZDY7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLnNlYXJjaC1yZXN1bHRzX19jb3VudCB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLnNlYXJjaC1yZXN1bHRzIC53YXJuaW5nIHtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuXG4ucmVzdWx0LWl0ZW0ge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBmb250LWZhbWlseTogXCJEcm9pZCBTZXJpZlwiLCBHZW9yZ2lhLCBUaW1lcyBOZXcgUm9tYW4sIHNlcmlmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmVzdWx0LWl0ZW0ge1xuICAgICAgcGFkZGluZzogMC42MjVyZW07IH0gfVxuXG4ucmVzdWx0LWl0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZWJlYmViOyB9XG5cbi5yZXN1bHQtaXRlbV9fc3VidGl0bGUge1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzUxNTE1MTtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG5cbi5yZXN1bHQtaXRlbV9fc3VidGl0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZDogI2Q0MDAwMDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9XG5cbi5yZXN1bHQtaXRlbV9fZGVzY3JpcHRpb24ge1xuICBjb2xvcjogIzUxNTE1MTsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cblxuLnBhZ2luYXRpb24gbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuLnBhZ2luYXRpb24gbGkgYSB7XG4gIGNvbG9yOiAjZDQwMDAwO1xuICBwYWRkaW5nOiAwIDAuMzEyNXJlbTsgfVxuXG4ucGFnaW5hdGlvbiBhOmhvdmVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNDAwMDA7IH1cblxuLnBhZ2luYXRpb25fX3ByZXZpb3VzIC5zdmctaWNvbixcbi5wYWdpbmF0aW9uX19uZXh0IC5zdmctaWNvbiB7XG4gIGZpbGw6ICNkNDAwMDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi10b3A6IC0ycHg7IH1cblxuLnBhZ2luYXRpb25fX3ByZXZpb3VzLmlzLWRpc2FibGVkIC5zdmctaWNvbixcbi5wYWdpbmF0aW9uX19uZXh0LmlzLWRpc2FibGVkIC5zdmctaWNvbiB7XG4gIGZpbGw6ICNkNmQ2ZDY7IH1cblxuLmNhbGVuZGFyLW5hdl9fYnV0dG9uIHtcbiAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuY2FsZW5kYXItbmF2IHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBsZWZ0OiAtNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jYWxlbmRhci1uYXY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjVyZW07IH0gfVxuXG4uY2FsZW5kYXItbmF2X19zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA2LjI1cmVtO1xuICBtYXJnaW46IDAgNnB4IDAgNnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FsZW5kYXItbmF2X19zZWxlY3Qge1xuICAgICAgd2lkdGg6IDExLjU2MjVyZW07IH0gfVxuXG4uY2FsZW5kYXItbGlzdCB7XG4gIGNsZWFyOiBib3RoOyB9XG4gIC5jYWxlbmRhci1saXN0OjpiZWZvcmUsIC5jYWxlbmRhci1saXN0OjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5jYWxlbmRhci1saXN0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLmNhbGVuZGFyLWxpc3RfX2hlYWRpbmcge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjZDQwMDAwO1xuICBiYWNrZ3JvdW5kOiAjZjNmM2YzO1xuICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cblxuLmNhbGVuZGFyLWxpc3RfX21vbnRoIHtcbiAgbWFyZ2luOiAyLjVyZW0gMCAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5jYWxlbmRhci1saXN0X19tb250aDpudGgtY2hpbGQoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuXG4uY2FsZW5kYXItbGlzdF9faXRlbXMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY2FsZW5kYXItbGlzdF9faXRlbSB7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNmQ2ZDY7XG4gIGNvbG9yOiAjNmQ2ZDZkO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zaXRpb246IHotaW5kZXggLjAxczsgfVxuXG4uY2FsZW5kYXItbGlzdF9fdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtZmFtaWx5OiBcIkRyb2lkIFNlcmlmXCIsIEdlb3JnaWEsIFRpbWVzIE5ldyBSb21hbiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmNhbGVuZGFyLWxpc3RfX2RhdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luLXRvcDogLTRweDsgfVxuXG4uY2FsZW5kYXItbGlzdF9fdGl0bGUsXG4uY2FsZW5kYXItbGlzdF9fZGF0ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuXG4uY2FsZW5kYXItbGlzdF9fYWN0aW9ucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiA1cmVtIDAgMCAwO1xuICB0b3A6IC0xcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHotaW5kZXg6IDA7XG4gIGhlaWdodDogMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMHMgLCBvcGFjaXR5IDBzLCBib3gtc2hhZG93IDBzOyB9XG5cbi5jYWxlbmRhci1saXN0X19hY3Rpb25zIC5zdmctaWNvbi1zdW1tYXJ5IHtcbiAgd2lkdGg6IDE3cHg7XG4gIGhlaWdodDogMTdweDsgfVxuXG4uY2FsZW5kYXItbGlzdF9faXRlbTpob3ZlciB7XG4gIHotaW5kZXg6IDEwO1xuICB0cmFuc2l0aW9uOiB6LWluZGV4IC4wMXMgLjFzOyB9XG5cbi5jYWxlbmRhci1saXN0X19pdGVtOmhvdmVyIC5jYWxlbmRhci1saXN0X19hY3Rpb25zIHtcbiAgaGVpZ2h0OiA4LjEyNXJlbTtcbiAgb3BhY2l0eTogMTtcbiAgYm94LXNoYWRvdzogMCAxNXB4IDUwcHggcmdiYSgwLCAwLCAwLCAwLjE4KTtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IC4ycyAsIG9wYWNpdHkgLjJzLCBib3gtc2hhZG93IC4yczsgfVxuXG4ubmF2LXRvb2xiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLm5hdi10b29sYmFyIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH0gfVxuXG4ubmF2LXRvb2xiYXIgaDEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLm5hdi10b29sYmFyIGgxIHtcbiAgICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtOyB9IH1cblxuLm5hdi10b29sYmFyX19wcmV2LFxuLm5hdi10b29sYmFyX19uZXh0LFxuLm5hdi10b29sYmFyX19wcmludCxcbi5uYXYtdG9vbGJhcl9fc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDQwMDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLm5hdi10b29sYmFyX19wcmV2IC5zdmctaWNvbixcbiAgLm5hdi10b29sYmFyX19uZXh0IC5zdmctaWNvbixcbiAgLm5hdi10b29sYmFyX19wcmludCAuc3ZnLWljb24sXG4gIC5uYXYtdG9vbGJhcl9fc3VtbWFyeSAuc3ZnLWljb24ge1xuICAgIGZpbGw6ICNkNDAwMDA7IH1cbiAgLm5hdi10b29sYmFyX19wcmV2OmhvdmVyLFxuICAubmF2LXRvb2xiYXJfX25leHQ6aG92ZXIsXG4gIC5uYXYtdG9vbGJhcl9fcHJpbnQ6aG92ZXIsXG4gIC5uYXYtdG9vbGJhcl9fc3VtbWFyeTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Q0MDAwMDsgfVxuICAubmF2LXRvb2xiYXJfX3ByZXY6aG92ZXIgLnN2Zy1pY29uLFxuICAubmF2LXRvb2xiYXJfX25leHQ6aG92ZXIgLnN2Zy1pY29uLFxuICAubmF2LXRvb2xiYXJfX3ByaW50OmhvdmVyIC5zdmctaWNvbixcbiAgLm5hdi10b29sYmFyX19zdW1tYXJ5OmhvdmVyIC5zdmctaWNvbiB7XG4gICAgZmlsbDogI2ZmZmZmZjsgfVxuXG4ubmF2LXRvb2xiYXJfX25hdmlnYXRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG5cbi5uYXYtdG9vbGJhcl9fcHJldiB7XG4gIGxlZnQ6IDA7IH1cblxuLm5hdi10b29sYmFyX19uZXh0IHtcbiAgcmlnaHQ6IDA7IH1cblxuLm5hdi10b29sYmFyX19zdW1tYXJ5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5uYXYtdG9vbGJhcl9fbmF2aWdhdGlvbiAuc2VwYXJhdG9yIHtcbiAgaGVpZ2h0OiAzMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIGJvcmRlci1sZWZ0OiAxcHggI2ViZWJlYiBzb2xpZDtcbiAgbWFyZ2luOiAwIDAuNjI1cmVtOyB9XG5cbi5uYXYtdG9vbGJhci0tYXJ0aWNsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLm5hdi10b29sYmFyLS1hcnRpY2xlIC5uYXYtdG9vbGJhcl9fcHJldixcbi5uYXYtdG9vbGJhci0tYXJ0aWNsZSAubmF2LXRvb2xiYXJfX25leHQsXG4ubmF2LXRvb2xiYXItLWFydGljbGUgLm5hdi10b29sYmFyX19wcmludCxcbi5uYXYtdG9vbGJhci0tYXJ0aWNsZSAubmF2LXRvb2xiYXJfX3N1bW1hcnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNmb3JtOiBub25lOyB9XG5cbi5uYXYtdG9vbGJhci0tYXJ0aWNsZSAubmF2LXRvb2xiYXJfX3ByaW50IC5zdmctaWNvbixcbi5uYXYtdG9vbGJhci0tYXJ0aWNsZSAubmF2LXRvb2xiYXJfX3N1bW1hcnkgLnN2Zy1pY29uIHtcbiAgd2lkdGg6IDIxcHg7IH1cblxuLm5hdi10b29sYmFyIC5zdmctaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICBmaWxsOiAjZDQwMDAwO1xuICB0cmFuc2l0aW9uOiAuMnMgZWFzZS1vdXQ7IH1cblxuLm5hdi10b29sYmFyX190aGVtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiAjNmQ2ZDZkO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgcGFkZGluZzogMC4zMTI1cmVtIDAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubmF2LXRvb2xiYXJfX3RoZW1lIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLm5hdi10b29sYmFyX190aGVtZSA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5uYXYtdG9vbGJhcl9fdGhlbWUgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG5cbi5uYXYtdG9vbGJhcl9fdGhlbWUgLnN2Zy1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgZmlsbDogI2ZmZmZmZjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgaGVpZ2h0OiAxMnB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm5hdi10b29sYmFyX19wcmV2LFxuICAubmF2LXRvb2xiYXJfX25leHQsXG4gIC5uYXYtdG9vbGJhcl9fcHJpbnQsXG4gIC5uYXYtdG9vbGJhcl9fc3VtbWFyeSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBtYXJnaW46IDAgMC42MjVyZW07IH1cbiAgLm5hdi10b29sYmFyX19uYXZpZ2F0aW9uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLm5hdi10b29sYmFyX190aGVtZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm5hdi10b29sYmFyX19uYXZpZ2F0aW9uIC5zZXBhcmF0b3Ige1xuICAgIGhlaWdodDogNTBweDsgfSB9XG5cbi5uYXYtdG9vbGJhcl9fbGFiZWwge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1yaWdodDogNXB4OyB9XG5cbi5uYXYtdG9vbGJhcl9fZGlzcGxheSBzdmcge1xuICBmbG9hdDogbGVmdDtcbiAgb3BhY2l0eTogMC41OyB9XG5cbi5uYXYtdG9vbGJhcl9fZGlzcGxheS5pcy1hY3RpdmUgc3ZnIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4ubWV0YXMge1xuICBiYWNrZ3JvdW5kOiAjZjNmM2YzO1xuICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4ubWV0YXMgdWwge1xuICBtYXJnaW46IDA7IH1cblxuLm1ldGEge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubWV0YSB7XG4gICAgICBsaW5lLWhlaWdodDogMS4zcmVtOyB9IH1cblxuLm1ldGFfX2xhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgY29sb3I6ICMyMTIxMjE7IH1cblxuLm1ldGFfX3ZhbHVlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLm1ldGEge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC02cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZXRhIHtcbiAgICB3aWR0aDogMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWV0YV9fbGFiZWwge1xuICAgIHdpZHRoOiA1NSU7IH1cbiAgLm1ldGFfX3ZhbHVlIHtcbiAgICB3aWR0aDogNDUlOyB9IH1cblxuLmljb24taGludCB7XG4gIGZpbGw6ICNkNDAwMDA7IH1cblxuLnN2Zy1pY29uIHtcbiAgZmlsbDogIzUxNTE1MTsgfVxuXG4ubmF2LWFydGljbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubmF2LWFydGljbGVfX3ByaW50LFxuLm5hdi1hcnRpY2xlX19wcmV2aW91cyxcbi5uYXYtYXJ0aWNsZV9fc3VtbWFyeSxcbi5uYXYtYXJ0aWNsZV9fbmV4dCxcbi5uYXYtYXJ0aWNsZV9faWNvbixcbi5uYXYtYXJ0aWNsZV9fdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ubmF2LWFydGljbGVfX3RleHQge1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDQwMDAwOyB9XG5cbi5uYXYtYXJ0aWNsZV9fcHJldmlvdXMsXG4ubmF2LWFydGljbGVfX25leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgZmlsbDogI2Q0MDAwMDsgfVxuXG4ubmF2LWFydGljbGVfX3ByZXZpb3VzIHtcbiAgbGVmdDogMDsgfVxuXG4ubmF2LWFydGljbGVfX25leHQge1xuICByaWdodDogMDsgfVxuXG4ubmF2LWFydGljbGVfX3ByaW50LFxuLm5hdi1hcnRpY2xlX19zdW1tYXJ5IHtcbiAgZGlzcGxheTogaW5saW5lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDQwMDAwOyB9XG5cbi5uYXYtYXJ0aWNsZV9fcHJpbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLmlucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5pbnB1dC0tc2VhcmNoIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1nL2ljb25zL2ljb24tc2VhcmNoLnN2Z1wiKSBuby1yZXBlYXQgMCA1MCU7XG4gIHBhZGRpbmctbGVmdDogMi41cmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuLmlucHV0LS1zZWFyY2g6Zm9jdXMge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDQwMDAwOyB9XG5cbi5pbnB1dC0tbWluaW1hbCB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNmQ2ZDY7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDA7IH1cblxuLmlucHV0LmlzLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87IH1cblxuLmlucHV0LWxhYmVsIHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmxhYmVsLmlzLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuXG5zZWxlY3QuaXMtaW5saW5lIHtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKDEwMCUgKyAxLjI1cmVtKTsgfVxuXG4uaW5wdXQtLXNhbHV0YXRpb24ge1xuICB3aWR0aDogMTYuNjY2NjclO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaW5wdXQtLXNhbHV0YXRpb24ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG4uaW5wdXQtLWxhc3RfbmFtZSB7XG4gIHdpZHRoOiA0MS42NjY2NyU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmlucHV0LS1sYXN0X25hbWUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG4uaW5wdXQtLWZpcnN0X25hbWUge1xuICB3aWR0aDogNDEuNjY2NjclO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5pbnB1dC0tZmlyc3RfbmFtZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5pbnB1dC0tZW1haWwge1xuICBjbGVhcjogYm90aDsgfVxuXG4uZGF0ZXBpY2tlcl9fYnV0dG9uIHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ljb25zL2ljb24tY2FsZW5kYXIuc3ZnXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAyNHB4IDI0cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwLjYyNXJlbTtcbiAgYm90dG9tOiA3cHg7IH1cblxuLmRhdGVwaWNrZXI6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICNkNDAwMDA7IH1cblxuc2VsZWN0LnBpY2tlcl9fc2VsZWN0LS1tb250aCxcbnNlbGVjdC5waWNrZXJfX3NlbGVjdC0teWVhciB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5yZWxhdGVkLWZpbGVzIHtcbiAgbWFyZ2luOiAyLjVyZW0gMDsgfVxuXG4ucmVsYXRlZC1maWxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogODBweDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZDZkNmQ2O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLnJlbGF0ZWQtZmlsZTpudGgtY2hpbGQoNG4rMSkge1xuICBib3JkZXItbGVmdDogMHB4OyB9XG5cbi5yZWxhdGVkLWZpbGU6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDZweCAxOHB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4ucmVsYXRlZC1maWxlOmhvdmVyICsgLnJlbGF0ZWQtZmlsZSB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4ucmVsYXRlZC1maWxlX19jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRvcDogNTAlO1xuICBwYWRkaW5nOiAxLjI1cmVtOyB9XG5cbi5yZWxhdGVkLWZpbGVfX2ljb24ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmctdG9wOiA0cHg7IH1cblxuLnJlbGF0ZWQtZmlsZV9faWNvbi1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC00MHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2Utb3V0OyB9XG5cbi5yZWxhdGVkLWZpbGU6aG92ZXIgLnJlbGF0ZWQtZmlsZV9faWNvbi1jb250ZW50IHtcbiAgdG9wOiAwOyB9XG5cbi5yZWxhdGVkLWZpbGVfX2ljb24sXG4ucmVsYXRlZC1maWxlX19pbmZvcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ucmVsYXRlZC1maWxlX19uYW1lIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ucmVsYXRlZC1maWxlX19zaXplIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjNmQ2ZDZkO1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi50b29sdGlwIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q0MDAwMDsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2Q0MDAwMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XG4gIC50b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogI2Q0MDAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XG4gIC50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNkNDAwMDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDsgfVxuICAudG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2Q0MDAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG4gIC50b29sdGlwIC5yZWQge1xuICAgIGNvbG9yOiAjZDQwMDAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmhhcy10aXAge1xuICBjb2xvcjogI2Q0MDAwMDtcbiAgZm9udC1zaXplOiAxLjhlbTsgfVxuXG4vKipcbiAqICNIRUxQRVJTXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAjQUxJR05NRU5UIEhFTFBFUlNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ub2JqZWN0LWxlZnQsXG4udS1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLm9iamVjdC1sZWZ0LFxuLm9iamVjdC1yaWdodCB7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuXG4ub2JqZWN0LXJpZ2h0LFxuLnUtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnUtdGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnUtdGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi51LWNsZWFyIHtcbiAgY2xlYXI6IGJvdGg7IH1cbiAgLnUtY2xlYXI6OmJlZm9yZSwgLnUtY2xlYXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnUtY2xlYXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udS1jZjo6YmVmb3JlLCAudS1jZjo6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi51LWNmOjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAudS1jbGVhclNtYWxsIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAgIC51LWNsZWFyU21hbGw6OmJlZm9yZSwgLnUtY2xlYXJTbWFsbDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAudS1jbGVhclNtYWxsOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAudS10ZXh0LWNlbnRlclNtYWxsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSogICAgI0dSSUQgSEVMUEVSU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51LXdyYXBwZXIge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC51LXdyYXBwZXI6OmJlZm9yZSwgLnUtd3JhcHBlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAudS13cmFwcGVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnUtd3JhcHBlci1pbm5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC51LXdyYXBwZXItaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG4udS1oYWxmIHtcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudS1oYWxmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuLnUtcXVhcnRlciB7XG4gIHdpZHRoOiAyNSU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnUtcXVhcnRlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG5cbi51LWNvbGxhcHNlIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnUtdGhpcmRUYWIge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnUtdGhpcmRUYWIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC51LWhhbGZUYWIge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnUtaGFsZlRhYiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnUtaGFsZlRhYlVwIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC51LWhhbGZUYWJVcCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnUtdGhpcmRUYWJVcCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudS10aGlyZFRhYlVwIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAudS1xdWFydGVyVGFiVXAge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnUtcXVhcnRlclRhYlVwIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAudS1zaXh0aFRhYlVwIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC51LXNpeHRoVGFiVXAge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC51LXR3b3RoaXJkc1RhYlVwIHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC51LXR3b3RoaXJkc1RhYlVwIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAudS1uaW5lVGFiVXAge1xuICAgIHdpZHRoOiA3NSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnUtbmluZVRhYlVwIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAudS1maXZlc2l4dGhUYWJVcCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudS1maXZlc2l4dGhUYWJVcCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnUtb25lc2l4dGhUYWJVcCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudS1vbmVzaXh0aFRhYlVwIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAudS1lbmRUYWJVcDpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudS1zaXh0aExhcmdlIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC51LXNpeHRoTGFyZ2Uge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC51LXRoaXJkTGFyZ2Uge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnUtdGhpcmRMYXJnZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG5cbi51LWVuZDpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICBmbG9hdDogbGVmdDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC51LWhhbGZMYXJnZVVwIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC51LWhhbGZMYXJnZVVwIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudS10aGlyZExhcmdlVXAge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnUtdGhpcmRMYXJnZVVwIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuLnUtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDAgMS4yNXJlbTsgfVxuICAudS13cmFwcGVyIC51LXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qICAgICNWSVNJQklMSVRZIEhFTFBFUlNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udS1oaWRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udS1oaWRlLXRleHQge1xuICBmb250LXNpemU6IDA7IH1cblxuLnUtaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwOyB9XG5cbi51LXZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxOyB9XG5cbi51LXZpc3VhbGx5aGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qICAgICNURVhUIEhFTFBFUlNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udS11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi51LXRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi51LWVsbGlwc2lzOmFmdGVyIHtcbiAgY29udGVudDogJ1xcMjAyNic7IH1cblxuLnUtdW5kZXJsaW5lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qICAgICNMSVNUIEhFTFBFUlNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udS1uby1idWxsZXQge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4udS1jaHJvbWxlc3Mge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi51LXBhbmVsIHtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgbWFyZ2luLXRvcDogMy4xMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtO1xuICBiYWNrZ3JvdW5kOiAjZWJlYmViOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnUtcGFuZWwge1xuICAgIHBhZGRpbmc6IDMuMTI1cmVtOyB9IH1cbiIsIlxuQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG5cblxuLyoqXG4gKiAjU0VUVElOR1NcbiAqL1xuXG5AaW1wb3J0IFwidmVuZG9yL2ZvdW5kYXRpb24vc2V0dGluZ3NcIjsgLy8gZGVmYXVsdCBmb3VuZGF0aW9uIHNldHRpbmdzXG5AaW1wb3J0IFwic2V0dGluZ3MvZ2xvYmFsXCI7XG5AaW1wb3J0IFwic2V0dGluZ3Mvc3BhY2luZ1wiO1xuQGltcG9ydCBcInNldHRpbmdzL2NvbG9yc1wiO1xuQGltcG9ydCBcInNldHRpbmdzL2ZvbnRzXCI7XG5AaW1wb3J0IFwic2V0dGluZ3Mvc2hhZG93c1wiO1xuQGltcG9ydCBcInNldHRpbmdzL2hhbWJ1cmdlclwiO1xuQGltcG9ydCBcInNldHRpbmdzL2Zvcm1zXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvYW5pbWF0aW9uXCI7XG5cblxuXG4vKipcbiAqICNUT09MU1xuICovXG5cbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xuLy9AaW1wb3J0ICdtb3Rpb24tdWknO1xuLy9AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XG5AaW1wb3J0ICd0b29scy9taXhpbnMnO1xuXG5cblxuLyoqXG4gKiAjR0VORVJJQ1xuICovXG5cbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG5cblxuXG4vKipcbiAqICNCQVNFXG4gKi9cblxuQGltcG9ydCAnYmFzZS9wYWdlJztcbkBpbXBvcnQgJ2Jhc2UvaGVhZGluZ3MnO1xuQGltcG9ydCAnYmFzZS9mb3JtJztcbkBpbXBvcnQgJ2Jhc2UvbGlua3MnO1xuQGltcG9ydCAnYmFzZS9maWd1cmUnO1xuXG5cbi8qKlxuICogI09CSkVDVFNcbiAqL1xuXG5cblxuXG4vKipcbiAqICNWRU5ET1JcbiAqL1xuXG5AaW1wb3J0ICdoaW50JztcblxuLyoqXG4gKiAjQ09NUE9ORU5UU1xuICovXG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2VwYXJhdG9ycyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2hhbWJ1cmdlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGVhZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFzdC1wdWJsaWNhdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NlY3Rpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9zZWFyY2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy9saXN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm9vdGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2lkZWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NlYXJjaC1maWx0ZXJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2VhcmNoLXJlc3VsdHMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsZW5kYXItbGlzdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL25hdi10b29sYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWV0YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9pY29ucyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL25hdi1hcnRpY2xlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaW5wdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kYXRlcGlja2VyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVsYXRlZC1maWxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cblxuLyoqXG4gKiAjSEVMUEVSU1xuICovXG5cbkBpbXBvcnQgJ2hlbHBlcnMvYWxpZ24nO1xuQGltcG9ydCAnaGVscGVycy9ncmlkJztcbkBpbXBvcnQgJ2hlbHBlcnMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdoZWxwZXJzL3RleHQnO1xuQGltcG9ydCAnaGVscGVycy9saXN0JztcbkBpbXBvcnQgJ2hlbHBlcnMvdXRpbHMnO1xuQGltcG9ydCAnaGVscGVycy9wYW5lbCc7IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAjRk9VTkRBVElPTiBTRVRUSU5HU1xuICAgICNQTEVBU0UgRE8gTk9UIE1PRElGWSBUSElTIEZJTEVcbiAgICAjQUREIFlPVVIgU1BFQ0lGSUMgU0VUVElOR1MgSU5UTyBTRVRUSU5HUyBGT0xERVJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENsb3NlIEJ1dHRvblxuLy8gIDE1LiBEcmlsbGRvd25cbi8vICAxNi4gRHJvcGRvd25cbi8vICAxNy4gRHJvcGRvd24gTWVudVxuLy8gIDE4LiBGbGV4IFZpZGVvXG4vLyAgMTkuIEZvcm1zXG4vLyAgMjAuIExhYmVsXG4vLyAgMjEuIE1lZGlhIE9iamVjdFxuLy8gIDIyLiBNZW51XG4vLyAgMjMuIE1ldGVyXG4vLyAgMjQuIE9mZi1jYW52YXNcbi8vICAyNS4gT3JiaXRcbi8vICAyNi4gUGFnaW5hdGlvblxuLy8gIDI3LiBQcm9ncmVzcyBCYXJcbi8vICAyOC4gUmV2ZWFsXG4vLyAgMjkuIFNsaWRlclxuLy8gIDMwLiBTd2l0Y2hcbi8vICAzMS4gVGFibGVcbi8vICAzMi4gVGFic1xuLy8gIDMzLiBUaHVtYm5haWxcbi8vICAzNC4gVGl0bGUgQmFyXG4vLyAgMzUuIFRvb2x0aXBcbi8vICAzNi4gVG9wIEJhclxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gICAgICAgIHByaW1hcnk6ICMyMTk5ZTgsXG4gICAgICAgIHNlY29uZGFyeTogIzc3NyxcbiAgICAgICAgc3VjY2VzczogIzNhZGI3NixcbiAgICAgICAgd2FybmluZzogI2ZmYWUwMCxcbiAgICAgICAgYWxlcnQ6ICNlYzU4NDAsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGJsYWNrOiAjMGEwYTBhO1xuJHdoaXRlOiAjZmVmZWZlO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogZmFsc2U7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICAgICAgICBzbWFsbDogMCxcbiAgICAgICAgbWVkaXVtOiA3NjhweCxcbiAgICAgICAgbGFyZ2U6IDEwMjRweCxcbiAgICAgICAgeGxhcmdlOiAxMjAwcHgsXG4gICAgICAgIHh4bGFyZ2U6IDE0NDBweCxcbik7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gICAgICAgIHNtYWxsOiAyMHB4LFxuICAgICAgICBtZWRpdW06IDMwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IGZhbHNlO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLXNpemVzOiAoXG4gICAgICAgIHNtYWxsOiAoXG4gICAgICAgICAgICAgICAgJ2gxJzogMjQsXG4gICAgICAgICAgICAgICAgJ2gyJzogMjAsXG4gICAgICAgICAgICAgICAgJ2gzJzogMTksXG4gICAgICAgICAgICAgICAgJ2g0JzogMTgsXG4gICAgICAgICAgICAgICAgJ2g1JzogMTcsXG4gICAgICAgICAgICAgICAgJ2g2JzogMTYsXG4gICAgICAgICksXG4gICAgICAgIG1lZGl1bTogKFxuICAgICAgICAgICAgICAgICdoMSc6IDQ4LFxuICAgICAgICAgICAgICAgICdoMic6IDQwLFxuICAgICAgICAgICAgICAgICdoMyc6IDMxLFxuICAgICAgICAgICAgICAgICdoNCc6IDI1LFxuICAgICAgICAgICAgICAgICdoNSc6IDIwLFxuICAgICAgICAgICAgICAgICdoNic6IDE2LFxuICAgICAgICApLFxuKTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiBmb3JlZ3JvdW5kKCRiYWRnZS1iYWNrZ3JvdW5kKTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWU7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1zaXplczogKFxuICAgICAgICB0aW55OiAwLjZyZW0sXG4gICAgICAgIHNtYWxsOiAwLjc1cmVtLFxuICAgICAgICBkZWZhdWx0OiAwLjlyZW0sXG4gICAgICAgIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IDFyZW07XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAwLjVyZW07XG4kY2xvc2VidXR0b24tc2l6ZTogMmVtO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTUuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbi8vIDE2LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgICAgICAgdGlueTogMTAwcHgsXG4gICAgICAgIHNtYWxsOiAyMDBweCxcbiAgICAgICAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTcuIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG5cbi8vIDE4LiBGbGV4IFZpZGVvXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kZmxleHZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRmbGV4dmlkZW8tcmF0aW86IDQgYnkgMztcbiRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbjogMTYgYnkgOTtcblxuLy8gMTkuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBkZWZhdWx0O1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMC4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6IGZvcmVncm91bmQoJGxhYmVsLWJhY2tncm91bmQpO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIyLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1tYXJnaW4tbmVzdGVkOiAxcmVtO1xuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyAyMy4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI0LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4O1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRvZmZjYW52YXMtemluZGV4OiAtMTtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcbiRtYWluY29udGVudC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjUpO1xuXG4vLyAyNS4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI2LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogZm9yZWdyb3VuZCgkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCk7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjcuIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOC4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDI5LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzMC4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDMxLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuXG4vLyAzMi4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyAzMy4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzQuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDM1LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNi4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMXJlbTtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI0dMT0JBTCBTRVRUSU5HU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuJGJyYW5kLWNvbG9yIDogcmdiKDIxMiwgMCwgMCk7XG5cbiRnbG9iYWwtZm9udC1zaXplIDogMTAwJTtcbiRnbG9iYWwtd2lkdGggOiByZW0tY2FsYygxMjAwKTtcbiRnbG9iYWwtbGluZWhlaWdodCA6IDEuNTtcbiRnbG9iYWwtYm9yZGVyLXJhZGl1cyA6IDZweDsiLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNTUEFDSU5HIFNFVFRJTkdTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4kc3BhY2luZy10aW55ICAgIDogcmVtLWNhbGMoNSk7XG4kc3BhY2luZy1zbWFsbGVyIDogcmVtLWNhbGMoMTApO1xuJHNwYWNpbmctc21hbGwgICA6IHJlbS1jYWxjKDIwKTtcbiRzcGFjaW5nLW1lZGl1bSAgOiByZW0tY2FsYygzMCk7XG4kc3BhY2luZy1sYXJnZSAgIDogcmVtLWNhbGMoNDApO1xuJHNwYWNpbmctbGFyZ2VyICA6IHJlbS1jYWxjKDUwKTsiLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNDT0xPUlMgU0VUVElOR1NcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vIEdsb2JhbCBjb2xvcnMgc2V0dGluZ3NcblxuJGNvbG9yLWJyYW5kOiAgICAgICAgICAkYnJhbmQtY29sb3I7XG4kY29sb3ItcHJpbWFyeTogICAgICAgICRjb2xvci1icmFuZDtcbiRjb2xvci1wcmltYXJ5LWRhcmtlcjogcmdiKDE1NCwwLDApO1xuXG4kY29sb3ItYmxhY2s6ICMwMDAwMDA7XG4kY29sb3Itd2hpdGU6ICNmZmZmZmY7XG5cbiRjb2xvci1ncmF5LWJyaWdodDogICByZ2IoMjQzLDI0MywyNDMpO1xuJGNvbG9yLWdyYXktbGlnaHRlcjogIHJnYigyMzUsMjM1LDIzNSk7XG4kY29sb3ItZ3JheS1saWdodDogICAgcmdiKDIxNCwyMTQsMjE0KTtcbiRjb2xvci1ncmF5OiAgICAgICAgICByZ2IoMTc3LDE3NywxNzcpO1xuJGNvbG9yLWdyYXktbWVkaXVtOiAgIHJnYigxMzgsMTM4LDEzOCk7XG4kY29sb3ItZ3JheS1kYXJrOiAgICAgcmdiKDEwOSwxMDksMTA5KTtcbiRjb2xvci1ncmF5LWRhcmtlcjogICByZ2IoODEsODEsODEpO1xuJGNvbG9yLWdyYXktZGVlcDogICAgIHJnYigzMywzMywzMyk7XG5cbiRjb2xvci1ibHVlOiAgICAgICAgICByZ2IoODUsMjAwLDIyMik7XG4kY29sb3ItcmVkOiAgICAgICAgICAgcmdiKDIxMiwgMCwgMCk7XG5cbi8vIFBhZ2UgLSBTcGVjaWZpYyBGb3VuZGF0aW9uIHNldHRpbmdzXG4kYm9keS1iYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAkY29sb3ItZ3JheS1kYXJrZXI7XG5cbi8vIEJ1dHRvbnNcbiRjb2xvci1idG4tYmc6ICRjb2xvci1wcmltYXJ5O1xuJGNvbG9yLWJ0bi1iZy1kYXJrZXI6IGRhcmtlbigkY29sb3ItcHJpbWFyeSwgMTApO1xuJGNvbG9yLWJ0bi1ob2xsb3c6ICRjb2xvci1ncmF5O1xuXG4vLyBMaW5rc1xuJGNvbG9yLWxpbmtzOiAkY29sb3ItcHJpbWFyeTtcblxuLy8gU2VwYXJhdG9yc1xuJGNvbG9yLXNlcGFyYXRvcjogJGNvbG9yLWdyYXktbGlnaHQ7XG5cbi8vIEZvcm1zXG4kY29sb3ItbGFiZWw6ICAgICAgICAgICAgICRjb2xvci1ibGFjaztcbiRjb2xvci1sYWJlbC1yZXF1aXJlZDogICAgJGNvbG9yLXByaW1hcnk7XG4kY29sb3ItbGFiZWwtbWV0YTogICAgICAgICRjb2xvci1ncmF5LWRhcms7XG4kY29sb3ItbGFiZWwtYmc6ICAgICAgICAgICRjb2xvci1ncmF5LWxpZ2h0ZXI7XG4kY29sb3ItaW5wdXQtcGxhY2Vob2xkZXI6ICRjb2xvci1ncmF5O1xuJGNvbG9yLWlucHV0LWhlbHA6ICAgICAgICAkY29sb3ItZ3JheS1kYXJrO1xuJGNvbG9yLWlucHV0LWJvcmRlcjogICAgICAkY29sb3ItZ3JheS1saWdodDtcbiRjb2xvci1pbnB1dC1kaXNhYmxlZC1iZzogJGNvbG9yLWdyYXktbGlnaHRlcjtcblxuLy8gVG9vbHRpcFxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXktbGlnaHRlcjtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICRjb2xvci1ibGFjazsiLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNGT05UUyBTRVRUSU5HU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuJGZvbnRiYXNlOiBcIlJvYm90b1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGZvbnRiYXNlLXNlcmlmOiBcIkRyb2lkIFNlcmlmXCIsIEdlb3JnaWEsIFRpbWVzIE5ldyBSb21hbiwgc2VyaWY7XG5cbiRib2R5LWZvbnQtZmFtaWx5OiAkZm9udGJhc2U7XG4kZm9udC1mYW1pbHktc2VyaWY6ICRmb250YmFzZS1zZXJpZjtcblxuJGZvbnRzaXplLXRpbnk6ICAgIHJlbS1jYWxjKDExKTtcbiRmb250c2l6ZS1zbWFsbGVyOiByZW0tY2FsYygxMik7XG4kZm9udHNpemUtc21hbGw6ICAgcmVtLWNhbGMoMTQpO1xuJGZvbnRzaXplLWJhc2U6ICAgIHJlbS1jYWxjKDE2KTtcbiRmb250c2l6ZS1sYXJnZTogICByZW0tY2FsYygxOCk7XG4kZm9udHNpemUtbGFyZ2VyOiAgcmVtLWNhbGMoMjEpO1xuJGZvbnRzaXplLWJpZzogICAgIHJlbS1jYWxjKDI4KTtcblxuJGZvbnR3ZWlnaHQtc2VtaTogIDYwMDtcbiRmb250d2VpZ2h0LWhlYXZ5OiA3MDA7XG4kZm9udHdlaWdodC1ibGFjazogODAwOyIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI1NIQURPVyBTRVRUSU5HU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuJGJveC1zaGFkb3cgICAgICA6IDAgNnB4IDE4cHggcmdiYSgwLCAwLCAwLCAuMTgpO1xuJGJveC1zaGFkb3ctZGVlcCA6IDAgMTVweCA1MHB4IHJnYmEoMCwgMCwgMCwgLjE4KTsiLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi4yLjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgtdmlkZW8nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKCRmbGV4OiBmYWxzZSkge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtdmlkZW87XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIENvbG9yVmFyaWFibGUsIFF1YWxpZnlpbmdFbGVtZW50LCBWZW5kb3JQcmVmaXhcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMyMTk5ZTgsXG4gIHNlY29uZGFyeTogIzc3NyxcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNlYzU4NDAsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZSAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4kc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcblxuLy8gUmVtb3ZlIHRoaXMgaW4gNi4zXG4kLXpmLW1lbnUtaWNvbi1pbXBvcnRlZDogZmFsc2U7XG4kLXpmLWZsZXgtY2xhc3Nlcy1pbXBvcnRlZDogZmFsc2U7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcblxuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJZFNlbGVjdG9yXG4gICNtYXBfY2FudmFzLFxuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvKipcbiAgICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAgICogMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbiAgICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICAgKi9cblxuICBodG1sIHtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICAgKi9cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gICAqIGFuZCBGaXJlZm94LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICAgKi9cblxuICBhcnRpY2xlLFxuICBhc2lkZSxcbiAgZGV0YWlscyxcbiAgZmlnY2FwdGlvbixcbiAgZmlndXJlLFxuICBmb290ZXIsXG4gIGhlYWRlcixcbiAgaGdyb3VwLFxuICBtYWluLFxuICBtZW51LFxuICBuYXYsXG4gIHNlY3Rpb24sXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gICAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICovXG5cbiAgYXVkaW8sXG4gIGNhbnZhcyxcbiAgcHJvZ3Jlc3MsXG4gIHZpZGVvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICAgKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICAgKi9cblxuICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAgICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICAgKi9cblxuICBbaGlkZGVuXSxcbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvKiBMaW5rc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICovXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvKipcbiAgICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gICAqL1xuXG4gIGE6YWN0aXZlLFxuICBhOmhvdmVyIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBkZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gICAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAgICovXG5cbiAgbWFyayB7XG4gICAgYmFja2dyb3VuZDogI2ZmMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAgKi9cblxuICBpbWcge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAgICovXG5cbiAgc3ZnOm5vdCg6cm9vdCkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICAgKi9cblxuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMWVtIDQwcHg7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICAgKi9cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgY29kZSxcbiAga2JkLFxuICBwcmUsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxuXG4gIC8qIEZvcm1zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAgICovXG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgbWFyZ2luOiAwOyAvKiAzICovXG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuXG4gIGJ1dHRvbiB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICAgKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICAgKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICAgKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKi9cblxuICBidXR0b25bZGlzYWJsZWRdLFxuICBodG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gICAqL1xuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAgICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gICAqL1xuXG4gIGlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgLyoqXG4gICAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAgICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAgICpcbiAgICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAgICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAgICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAgICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAgICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICAgKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gICAqIFtOT1RFXSBXZSBkb24ndCBlbmFibGUgdGhpcyBydWxlc2V0IGluIEZvdW5kYXRpb24sIGJlY2F1c2Ugd2Ugd2FudCB0aGUgPGZpZWxkc2V0PiBlbGVtZW50IHRvIGhhdmUgcGxhaW4gc3R5bGluZy5cbiAgICovXG5cbiAgLyogZmllbGRzZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gIH0gKi9cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gICAqL1xuXG4gIGxlZ2VuZCB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICAgKi9cblxuICBvcHRncm91cCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAvKiBUYWJsZXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICAgKi9cblxuICB0YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgfVxuXG4gIHRkLFxuICB0aCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogZmxvb3IoKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKSk7XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyZWQoJGNvbG9yKX0sICN7Z3JlZW4oJGNvbG9yKX0sICN7Ymx1ZSgkY29sb3IpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSkge1xuICAkbWFwOiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbWFwOiBtYXAtcmVtb3ZlKCRtYXAsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRzaXplIGluICRtYXAge1xuICAgICQtemYtc2l6ZTogJHNpemUgIWdsb2JhbDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+4oCUPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgb2YgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzaXplcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc2l6ZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAyNCxcbiAgICAnaDInOiAyMCxcbiAgICAnaDMnOiAxOSxcbiAgICAnaDQnOiAxOCxcbiAgICAnaDUnOiAxNyxcbiAgICAnaDYnOiAxNixcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogNDgsXG4gICAgJ2gyJzogNDAsXG4gICAgJ2gzJzogMzEsXG4gICAgJ2g0JzogMjUsXG4gICAgJ2g1JzogMjAsXG4gICAgJ2g2JzogMTYsXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVvY3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZWhlaWdodDtcblxuICAgIHNtYWxsIHtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHNpemVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICAgI3skaGVhZGVyfSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciB7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgfVxuXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuICAvLyBTdG9yZSB0aGUgdmFsdWVzIG9mIHRoZSBtYXAgYXMgYSBsaXN0LCBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gd2l0aCBudGhcbiAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcblxuICAvLyBHaGV0dG8gZm9yIGxvb3BcbiAgJGk6IDE7XG4gICRmb3VuZDogZmFsc2U7XG4gIEBlYWNoICR2YWwgaW4gbWFwLWtleXMoJG1hcCkge1xuICAgIEBpZiAkZm91bmQgPT0gZmFsc2Uge1xuICAgICAgQGlmICgka2V5ID09ICR2YWwpIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfVxuICAgICAgJGk6ICRpICsgMTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAkaSA+IGxlbmd0aCgkbWFwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBudGgoJHZhbHVlcywgJGkpO1xuICB9XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAuIElmIHRoZSBjb25maWcgbWFwIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC4gSWYgdGhlIGNvbmZpZyBtYXAgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIElucHV0IGNvbmZpZyBtYXAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8gTGVnYWN5IGJyZWFrcG9pbnQgdmFyaWFibGVzXG4vLyBUaGVzZSB3aWxsIGJlIHJlbW92ZWQgaW4gNi4zXG4kc21hbGwtdXA6IG51bGw7XG4kc21hbGwtb25seTogbnVsbDtcbiRtZWRpdW0tdXA6IG51bGw7XG4kbWVkaXVtLW9ubHk6IG51bGw7XG4kbGFyZ2UtdXA6IG51bGw7XG4kbGFyZ2Utb25seTogbnVsbDtcbiR4bGFyZ2UtdXA6IG51bGw7XG4keGxhcmdlLW9ubHk6IG51bGw7XG4keHhsYXJnZS11cDogbnVsbDtcbiR4eGxhcmdlLW9ubHk6IG51bGw7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gVXNlIHRvIHJlbW92ZSB0aGUgYnVsbGV0cyBmcm9tIGFuIHVub3JkZXJlZCBsaXN0XG4gIC5uby1idWxsZXQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIGFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuXG4gICAgICBbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICBbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIDE5LiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRpbnB1dC1oZWlnaHQtYmFzZTogcmVtLWNhbGMoNDApO1xuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuJGlucHV0LXNoYWRvdzogMDtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDA7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBkZWZhdWx0O1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzOyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAsICRnbG9iYWwtcmFkaXVzIDAgMCAkZ2xvYmFsLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGdsb2JhbC1yYWRpdXMgMCAwICRnbG9iYWwtcmFkaXVzLCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMSU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nU2VsZWN0b3JcbiAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIpO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWFscGhhIFswLjFdIC0gVHJhbnNwYXJlbmN5IGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1hbHBoYTogMC4xXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtYWxwaGEpO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIE1lcmdlYWJsZVNlbGVjdG9yLCBRdWFsaWZ5aW5nRWxlbWVudFxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuXG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0ciB7XG4gICAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cblxuICAgIC8vRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsaWdodG5lc3Mgb2YgYCRjb2xvcmAsIGFuZCBpZiBpdCBwYXNzZXMgdGhlIGAkdGhyZXNob2xkYCBvZiBsaWdodG5lc3MsIGl0IHJldHVybnMgdGhlIGAkeWVzYCBjb2xvci4gT3RoZXJ3aXNlLCBpdCByZXR1cm5zIHRoZSBgJG5vYCBjb2xvci4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gZHluYW1pY2FsbHkgb3V0cHV0IGEgZm9yZWdyb3VuZCBjb2xvciBiYXNlZCBvbiBhIGdpdmVuIGJhY2tncm91bmQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbGlnaHRuZXNzIG9mLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR5ZXMgWyRibGFja10gLSBDb2xvciB0byByZXR1cm4gaWYgYCRjb2xvcmAgaXMgbGlnaHQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJG5vIFskd2hpdGVdIC0gQ29sb3IgdG8gcmV0dXJuIGlmIGAkY29sb3JgIGlzIGRhcmsuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs2MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBUaGUgJHllcyBjb2xvciBvciAkbm8gY29sb3IuXG5AZnVuY3Rpb24gZm9yZWdyb3VuZCgkY29sb3IsICR5ZXM6ICRibGFjaywgJG5vOiAkd2hpdGUsICR0aHJlc2hvbGQ6IDYwJSkge1xuICBAaWYgJGNvbG9yID09IHRyYW5zcGFyZW50IHtcbiAgICAkY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gIH1cbiAgQGlmIChsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQpIHtcbiAgICBAcmV0dXJuICR5ZXM7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJG5vO1xuICB9XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBsaWdodGVyIGlmIGl0J3MgbGlnaHQsIG9yIGRhcmtlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCB2YXJpYWJsZSBpbnRvIHRoZSBsZWdhY3kgY29sb3IgdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgbWF4LXdpZHRoOiAxMHJlbSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG5cbiAgJi50b3A6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgfVxuXG4gICYubGVmdDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG5cbiAgJi5yaWdodDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI1BBR0VcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogXCJQcm94aW1hIE5vdmFcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuYm9keSxcbmh0bWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvdmVyZmxvdzogaW5pdGlhbDtcbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNIRUFESU5HU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuaDEsIGgyLFxuLnRpdGxlLWxldmVsMXtcbiAgZm9udC1mYW1pbHk6ICRmb250YmFzZS1zZXJpZjtcbiAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJGNvbG9yLWdyYXktZGVlcDtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbWVkaXVtO1xuXG4gICYuaGFzLWljb24gLnN2Zy1pY29ue1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNSk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gZG93biApe1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCBzbWFsbCBvbmx5ICkge1xuICAgIFtpZD1cImNvbnRlbnRcIl0gaDEge1xuICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctc21hbGw7XG4gICAgfVxuICB9XG59XG5cbi5zdWJ0aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogJGZvbnRzaXplLWJhc2U7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbn1cblxuaDIge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1zbWFsbGVyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSBkb3duICl7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgfVxufVxuXG4udGl0bGUtbGV2ZWwyIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG59XG5cbmgzLFxuLnRpdGxlLWxldmVsM3tcbiAgZm9udC1mYW1pbHk6ICRmb250YmFzZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250d2VpZ2h0LWJsYWNrO1xuICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcbiAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy1zbWFsbGVyO1xuICBtYXJnaW46ICRzcGFjaW5nLXNtYWxsZXIgMCAkc3BhY2luZy1zbWFsbDtcbiAgbGluZS1oZWlnaHQ6IDEuNHJlbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMyk7XG4gICAgbWFyZ2luOiAkc3BhY2luZy1zbWFsbCAwICRzcGFjaW5nLWxhcmdlO1xuICB9XG59XG5cbi5ib2R5IGgzIHtcbiAgY2xlYXIgOiBib3RoO1xufVxuXG5oNCxcbi50aXRsZS1sZXZlbDQge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDAgMCAkc3BhY2luZy1zbWFsbGVyIDA7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXNtYWxsO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlcmlmO1xuICBmb250LXNpemU6ICRmb250c2l6ZS1sYXJnZTtcbiAgY29sb3I6ICRjb2xvci1ncmF5LWRlZXA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JheS1saWdodDtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgaDEsXG4gIC50aXRsZS1sZXZlbDF7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMS4zKTtcbiAgfVxuXG4gIGgyLFxuICAudGl0bGUtbGV2ZWwyIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgfVxuXG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgfVxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI0ZPUk1cblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbnNlbGVjdCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlO1xuICBib3JkZXItY29sb3I6ICRjb2xvci1pbnB1dC1ib3JkZXI7XG4gIGNvbG9yOiAkY29sb3ItZ3JheS1kYXJrO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9zdmcvaWNvbi1jYXJldC1ib3R0b20uc3ZnJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTRweCA4cHggO1xufVxuXG5cblt0eXBlPVwidGV4dFwiXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1pbnB1dC1ib3JkZXI7XG59XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuc2VsZWN0OmZvY3VzLFxuaW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAkY29sb3ItcHJpbWFyeSAhaW1wb3J0YW50O1xufVxuXG5bdHlwZT1cInRleHRcIl06Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcbn1cblxuLmlzLXJlcXVpcmVkOmFmdGVyIHtcbiAgY29udGVudDogXCIqXCI7XG4gIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbn0iLCJhIHtcbiAgY29sb3I6ICRjb2xvci1ncmF5LWRlZXA7XG4gIHRyYW5zaXRpb246IGFsbCAuMnM7XG59XG5cbi5ib2R5IGF7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcbn1cblxuYTpob3ZlcixcbmE6Zm9jdXMge1xuICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG59XG5cbmEuaXMtdW5kZXJsaW5lZCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbn1cblxuLnNob3ctYWxsIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY2xlYXI6IGJvdGg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6ICRjb2xvci1ncmF5LWRlZXA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcbiAgZm9udC1zaXplOiAkZm9udHNpemUtdGlueTtcbiAgZm9udC13ZWlnaHQ6ICRmb250d2VpZ2h0LXNlbWk7XG59XG5cbi5za2lwLWxpbmtzIHtcbiAgbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDA7XG4gIFxuICA+IGxpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnNraXAtbGlua3MgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICBmb250LXNpemU6ICRmb250c2l6ZS1zbWFsbDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6ICRzcGFjaW5nLXRpbnkgJHNwYWNpbmctc21hbGxlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OXB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIFxuICAmOmZvY3VzIHtcbiAgICBsZWZ0OiAwO1xuICAgIG91dGxpbmUtY29sb3I6ICRjb2xvci1ncmF5LWxpZ2h0O1xuICB9XG59IiwiZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4ub2JqZWN0LWxlZnQgZmlndXJlIHtcbiAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy1zbWFsbDtcbn1cblxuLm9iamVjdC1yaWdodCBmaWd1cmUge1xuICBtYXJnaW4tbGVmdDogJHNwYWNpbmctc21hbGw7XG59IiwiLy8gaGludC5zY3NzXG4vL1xuLy8gQWdncmVnYXRlcyBhbGwgb3RoZXIgc2FzcyBmaWxlcy5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdEhJTlQuY3NzIC0gQSBDU1MgdG9vbHRpcCBsaWJyYXJ5XG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4vKipcbiAqIEhJTlQuY3NzIGlzIGEgdG9vbHRpcCBsaWJyYXJ5IG1hZGUgaW4gcHVyZSBDU1MuXG4gKlxuICogU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vY2hpbmNoYW5nL2hpbnQuY3NzXG4gKiBEZW1vOiBodHRwOi8va3VzaGFncmFnb3VyLmluL2xhYi9oaW50L1xuICpcbiAqIFJlbGVhc2UgdW5kZXIgVGhlIE1JVCBMaWNlbnNlXG4gKlxuICovXG5cbkBpbXBvcnQgXCJoaW50LXZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImhpbnQtbWl4aW5zXCI7XG5AaW1wb3J0IFwiaGludC1jb3JlXCI7XG5AaW1wb3J0IFwiaGludC1wb3NpdGlvblwiO1xuQGltcG9ydCBcImhpbnQtc2l6ZXNcIjtcbkBpbXBvcnQgXCJoaW50LXRoZW1lXCI7XG5AaW1wb3J0IFwiaGludC1jb2xvci10eXBlc1wiO1xuQGltcG9ydCBcImhpbnQtYWx3YXlzXCI7XG5AaW1wb3J0IFwiaGludC1yb3VuZGVkXCI7XG5AaW1wb3J0IFwiaGludC1lZmZlY3RzXCI7XG4iLCIvKipcbiAqIHNvdXJjZTogaGludC1jb3JlLnNjc3NcbiAqXG4gKiBEZWZpbmVzIHRoZSBiYXNpYyBzdHlsaW5nIGZvciB0aGUgdG9vbHRpcC5cbiAqIEVhY2ggdG9vbHRpcCBpcyBtYWRlIG9mIDIgcGFydHM6XG4gKiBcdDEpIGJvZHkgKDphZnRlcilcbiAqIFx0MikgYXJyb3cgKDpiZWZvcmUpXG4gKlxuICogQ2xhc3NlcyBhZGRlZDpcbiAqIFx0MSkgaGludFxuICovXG5cbltjbGFzcyo9XCIjeyRoaW50UHJlZml4fVwiXSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdCY6YmVmb3JlLCAmOmFmdGVyIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cblx0XHQvLyBIQUNLOiBUcmlnZ2VyIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHJlbmRlcmluZywgb3RoZXJ3aXNlIHRyYW5zZm9ybSB3YXMgbm90XG5cdFx0Ly8gd29ya2luZyBvbiBhIGhpZGRlbiBlbGVtZW50XG5cdFx0QGluY2x1ZGUgdmVuZG9yKCd0cmFuc2Zvcm0nLCB0cmFuc2xhdGUzZCgwLCAwLCAwKSk7XG5cblx0XHQvLyBIQUNLOiB2aXNpYmlsaXR5IGlzIHNldCB0byBoaWRkZW4gYmVjYXVzZSBJRSAmIE9wZXJhIGRvbid0IHN1cHBvcnRcblx0XHQvLyBwb2ludGVyLWV2ZW50cyBvbiBIVE1MIGNvbnRlbnQgeWV0IGJlY2F1c2Ugb2Ygd2hpY2ggaG92ZXJpbmcgYSBoaWRkZW4gdG9vbHRpcFxuXHRcdC8vIHNob3dzIHRoZSB0b29sdGlwLlxuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHotaW5kZXg6ICRoaW50WkluZGV4O1xuXHRcdC8vIHNob3VsZG4ndCByZWNlaXZlIHBvaW50ZXIgZXZlbnRzLCBvdGhlcndpc2UgZXZlbiBob3ZlcmluZyB0b29sdGlwIHdpbGwgbWFrZSBpdCBhcHBlYXJcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblxuXHRcdEBpbmNsdWRlIHZlbmRvcigndHJhbnNpdGlvbicsIDAuM3MgZWFzZSk7XG5cdFx0QGluY2x1ZGUgdmVuZG9yKCd0cmFuc2l0aW9uLWRlbGF5JywgJGhpbnRIaWRlRGVsYXkpO1xuXHR9XG5cblx0Jjpob3ZlcjpiZWZvcmUsICY6aG92ZXI6YWZ0ZXIge1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXG5cdCY6aG92ZXI6YmVmb3JlLCAmOmhvdmVyOmFmdGVyIHtcblx0XHQvLyAkaGludFNob3dEZWxheSB3aWxsIGFwcGx5IGFzIHNvb24gYXMgZWxlbWVudCBpcyBob3ZlcmVkLlxuXHRcdEBpbmNsdWRlIHZlbmRvcigndHJhbnNpdGlvbi1kZWxheScsICRoaW50U2hvd0RlbGF5KTtcblx0fVxuXG5cdC8qKlxuXHQgKiB0b29sdGlwIGFycm93XG5cdCAqL1xuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlcjogJGhpbnRBcnJvd0JvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdC8vIG1vdmUgei1pbmRleCAxIHVwIHRoYW4gOmFmdGVyIHNvIHRoYXQgaXQgc2hvd3Mgb3ZlciBib3gtc2hhZG93XG5cdFx0ei1pbmRleDogJGhpbnRaSW5kZXggKyAxO1xuXHR9XG5cblx0LyoqXG5cdCAqIHRvb2x0aXAgYm9keVxuXHQgKi9cblx0JjphZnRlciB7XG5cdFx0YmFja2dyb3VuZDogJGhpbnREZWZhdWx0Q29sb3I7XG5cdFx0Y29sb3I6IHdoaXRlO1xuXHRcdHBhZGRpbmc6ICRoaW50VmVydGljYWxQYWRkaW5nICRoaW50SG9yaXpvbnRhbFBhZGRpbmc7XG5cdFx0Zm9udC1zaXplOiAkaGludEZvbnRTaXplO1xuXHRcdGZvbnQtZmFtaWx5OiAkaGludEZvbnRGYW1pbHk7XG5cdFx0bGluZS1oZWlnaHQ6ICRoaW50Rm9udFNpemU7IC8vIFZlcnRpY2FsIGNlbnRlcmluZy5cblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBQcmV2ZW50IGJyZWFraW5nIHRvIG5ldyBsaW5lLlxuXHR9XG5cdC8vIEFsd2F5cyBnZXQgY29udGVudCBmcm9tIGFyaWEtbGFiZWwgYXR0cmlidXRlLlxuXHQmW2FyaWEtbGFiZWxdOmFmdGVyIHtcblx0XHRjb250ZW50OiBhdHRyKGFyaWEtbGFiZWwpOyAvLyBUaGUgbWFnaWMhXG5cdH1cblx0Ly8gSWYgdGhlIGBkYXRhLWhpbnRgIGF0dHJpYnV0ZSBpcyBwcmVzZW50LCB1c2UgaXQuXG5cdC8vIFRoaXMgbWlnaHQgYmUgZGVwcmVjYXRlZCBpbiBmdXR1cmUgaW4gc3VwcG9ydCBvZiBhMTF5LlxuXHQmW2RhdGEtaGludF06YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IGF0dHIoZGF0YS1oaW50KTsgLy8gVGhlIG1hZ2ljIVxuXHR9XG59XG5cbi8vIEhpZGUgdG9vbHRpcHMgaWYgYW55IG9mIHRoZSBzdXBwb3J0ZWQgYXR0cmlidXRlcyBpcyBlbXB0eS5cblthcmlhLWxhYmVsPScnXSxcbltkYXRhLWhpbnQ9JyddIHtcblx0JjpiZWZvcmUsICY6YWZ0ZXIge1xuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0fVxufVxuIiwiLy8gaGludC1taXhpbnMuc2Nzc1xuLy9cbi8vIFBsYWNlIHRvIHN0b3JlIGNvbW1vbiBtaXhpbnMuXG5cbi8vIFZlbmRvciBwcmVmaXhlciBtaXhpbi5cbkBtaXhpbiB2ZW5kb3IoJHByb3BlcnR5LCAkdmFsdWUpIHtcblx0LXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcblx0LW1vei0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcblx0I3skcHJvcGVydHl9OiAkdmFsdWU7XG59XG5cbi8vIEdlbmVyYXRlcyBib3JkZXItY29sb3IgcnVsZXMgZm9yIGFsbCBwb3NzaWJsZSBwb3NpdGlvbnNcbkBtaXhpbiBhcnJvdy1ib3JkZXItY29sb3IoJGNvbG9yKSB7XG5cdEBlYWNoICRwb3NpdGlvbiBpbiB0b3AsIGJvdHRvbSwgbGVmdCwgcmlnaHQge1xuXHRcdEBpZiAkcG9zaXRpb24gPT0gdG9wIG9yICRwb3NpdGlvbiA9PSBib3R0b20ge1xuXHRcdFx0Ly8gTG9vcCBmdXJ0aGVyIGZvciBjbGFzc2VzIGxpa2UgLnRvcC1sZWZ0LCBib3R0b20tcmlnaHQgZXRjXG5cdFx0XHRAZWFjaCAkeERpciBpbiBsZWZ0LCByaWdodCB7XG5cdFx0XHRcdCYuI3skaGludFByZWZpeH0jeyRwb3NpdGlvbn0tI3skeERpcn06YmVmb3JlIHtcblx0XHRcdFx0XHRib3JkZXItI3skcG9zaXRpb259LWNvbG9yOiAkY29sb3I7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Ji4jeyRoaW50UHJlZml4fSN7JHBvc2l0aW9ufTpiZWZvcmUge1xuXHRcdFx0Ym9yZGVyLSN7JHBvc2l0aW9ufS1jb2xvcjogJGNvbG9yO1xuXHRcdH1cblx0fVxufVxuXG4vLyBtaXhpbiB0byBzZXQgbWFyZ2luIG9uIHRvb2x0aXAgdXNpbmcgdHJhbnNsYXRlIHRyYW5zZm9ybVxuLy8gJHByb3BlcnR5XG5AbWl4aW4gc2V0LW1hcmdpbigkcHJvcGVydHksICR0cmFuc2l0aW9uRGlyZWN0aW9uLCAkdHJhbnNsYXRlWDogMCkge1xuXHQkdmFsdWU6IHVucXVvdGUoXCIjeyRwcm9wZXJ0eX0oI3skaGludFRyYW5zaXRpb25EaXN0YW5jZSAqICR0cmFuc2l0aW9uRGlyZWN0aW9ufSlcIik7XG5cdCY6YmVmb3JlIHtcblx0XHRAaW5jbHVkZSB2ZW5kb3IoJ3RyYW5zZm9ybScsICR2YWx1ZSk7XG5cdH1cblx0JjphZnRlciB7XG5cdFx0QGlmICR0cmFuc2xhdGVYICE9IDAge1xuXHRcdFx0Ly8gRm9yIHZlcnRpY2FsIHRvb2x0aXBzLCB3ZSBuZWVkIHRvIGFuaW1hdGUgaW4geS1kaXJlY3Rpb25cblx0XHRcdC8vIHJldGFpbmluZyBpdHMgeC10cmFuc2Zvcm0uXG5cdFx0XHRAaW5jbHVkZSB2ZW5kb3IoJ3RyYW5zZm9ybScsIHRyYW5zbGF0ZVgoJHRyYW5zbGF0ZVgpICR2YWx1ZSk7XG5cdFx0fVxuXHRcdEBlbHNlIHtcblx0XHRcdEBpbmNsdWRlIHZlbmRvcigndHJhbnNmb3JtJywgJHZhbHVlKTtcblx0XHR9XG5cdH1cbn1cbiIsIi8vIGhpbnQtdmFyaWFibGVzLnNjc3Ncbi8vXG4vLyBEZWNsYXJlcyBzb21lIHZhcmlhYmxlcyB1c2VkIHdpdGhpbiB0aGUgbGlicmFyeS5cblxuLy8gUHJlZml4IGZvciBhbGwgY2xhc3Nlcy4gQnkgZGVmYXVsdCwgQkVNIG5hbWluZyBjb252ZW50aW9uIGlzIHVzZWRcbiRoaW50UHJlZml4OiAnaGludC0tJyAhZGVmYXVsdDtcblxuLy8gZm9udCBzaXplXG4kaGludEZvbnRTaXplOiAxMnB4ICFkZWZhdWx0O1xuXG4vLyBkZWZhdWx0IGZvbnQgZmFtaWx5XG4kaGludEZvbnRGYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIHBhZGRpbmdzXG4kaGludFZlcnRpY2FsUGFkZGluZzogOHB4ICFkZWZhdWx0O1xuJGhpbnRIb3Jpem9udGFsUGFkZGluZzogMTBweCAhZGVmYXVsdDtcblxuLy8gZGVmYXVsdCB0b29sdGlwIGhlaWdodFxuJGhpbnRUb29sdGlwSGVpZ2h0OiAkaGludEZvbnRTaXplICsgMiAqICRoaW50VmVydGljYWxQYWRkaW5nICFkZWZhdWx0O1xuXG4vLyBib3JkZXItd2lkdGggZm9yIHRvb2x0aXAgYXJyb3dcbiRoaW50QXJyb3dCb3JkZXJXaWR0aDogNnB4ICFkZWZhdWx0O1xuXG4vLyBob3Jpem9udGFsIGFycm93IG9mZnNldFxuJGhpbnRBcnJvd09mZnNldFg6IDIgKiAkaGludEFycm93Qm9yZGVyV2lkdGggIWRlZmF1bHQ7XG5cbi8vIHRleHQtc2hhZG93IGRhcmtlbiBwZXJjZW50YWdlXG4kaGludFRleHRTaGFkb3dEYXJrZW5BbW91bnQ6IDI1JSAhZGVmYXVsdDtcblxuLy8gdHJhbnNpdGlvbiBkaXN0YW5jZVxuJGhpbnRUcmFuc2l0aW9uRGlzdGFuY2U6IDhweCAhZGVmYXVsdDtcblxuLy8gRGVsYXkgaW4gc2hvd2luZyB0aGUgdG9vbHRpcHMuXG4kaGludFNob3dEZWxheTogMTAwbXMgIWRlZmF1bHQ7XG5cbi8vIERlbGF5IGluIGhpZGluZyB0aGUgdG9vbHRpcHMuXG4kaGludEhpZGVEZWxheTogMG1zICFkZWZhdWx0O1xuXG4vLyB6LWluZGV4IGZvciB0b29sdGlwc1xuJGhpbnRaSW5kZXg6IDEwMDAwMDAgIWRlZmF1bHQ7XG5cbi8vIFNpemUgb3B0aW9uc1xuJGhpbnRTaXplU21hbGw6IDgwcHggIWRlZmF1bHQ7XG4kaGludFNpemVNZWRpdW06IDE1MHB4ICFkZWZhdWx0O1xuJGhpbnRTaXplTGFyZ2U6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLyBWYXJpb3VzIGNvbG9yc1xuLy8gRGVmYXVsdCBjb2xvciBpcyBibGFja2lzaFxuJGhpbnREZWZhdWx0Q29sb3I6IGhzbCgwLCAwJSwgMjIlKSAhZGVmYXVsdDtcblxuLy8gRXJyb3IgY29sb3JcbiRoaW50RXJyb3JDb2xvcjogaHNsKDEsIDQwJSwgNTAlKSAhZGVmYXVsdDtcblxuLy8gV2FybmluZyBjb2xvclxuJGhpbnRXYXJuaW5nQ29sb3I6IGhzbCgzOCwgNDYlLCA1NCUpICFkZWZhdWx0O1xuXG4vLyBJbmZvIENvbG9yXG4kaGludEluZm9Db2xvcjogaHNsKDIwMCwgNTAlLCA0NSUpICFkZWZhdWx0O1xuXG4vLyBTdWNjZXNzIENvbG9yXG4kaGludFN1Y2Nlc3NDb2xvcjogaHNsKDEyMSwgMzIlLCA0MCUpICFkZWZhdWx0O1xuIiwiLyoqXG4gKiBzb3VyY2U6IGhpbnQtcG9zaXRpb24uc2Nzc1xuICpcbiAqIERlZmluZXMgdGhlIHBvc2l0b25pbmcgbG9naWMgZm9yIHRoZSB0b29sdGlwcy5cbiAqXG4gKiBDbGFzc2VzIGFkZGVkOlxuICogXHQxKSBoaW50LS10b3BcbiAqIFx0MikgaGludC0tYm90dG9tXG4gKiBcdDMpIGhpbnQtLWxlZnRcbiAqIFx0NCkgaGludC0tcmlnaHRcbiAqL1xuXG5AbWl4aW4gdmVydGljYWwtcG9zaXRpb25lZC10b29sdGlwKCRwcm9wZXJ0eVksICR0cmFuc2l0aW9uRGlyZWN0aW9uLCAkeERpcmVjdGlvbjowKSB7XG5cdCY6YmVmb3JlIHtcblx0XHQvLyBicmluZyBhcnJvdyBpbnNpZGUgc28gdGhhdCBpdCBhbmltYXRlcyB0byBub3JtYWwgcG9zaXRpb24gd2hlbiBzaG93bi5cblx0XHQvLyBIQUNLOiArMXB4IHRvIGF2b2lkIHRoZSAxIHB4IHdoaXRlIHNwYWNlIGJldHdlZW4gYXJyb3cgYW5kIGJvZHkgZHVyaW5nIHRyYW5zaXRpb24uXG5cdFx0bWFyZ2luLSN7JHByb3BlcnR5WX06IC0yICogJGhpbnRBcnJvd0JvcmRlcldpZHRoICsgMXB4O1xuXHR9XG5cblx0JjpiZWZvcmUsICY6YWZ0ZXIge1xuXHRcdCN7JHByb3BlcnR5WX06IDEwMCU7XG5cdFx0bGVmdDogNTAlOyAvLyBnZXQgdG9wLWxlZnQgY29ybmVyIGluIGNlbnRlclxuXHR9XG5cblx0JjpiZWZvcmUge1xuXHRcdGxlZnQ6IGNhbGMoNTAlIC0gI3skaGludEFycm93Qm9yZGVyV2lkdGh9KTsgLy8gZ2V0IGFycm93IGNlbnRlciBhbGlnbmVkIHdpdGggY29udGVudFxuXHR9XG5cblx0JHRyYW5zbGF0ZVg6IC01MCU7XG5cdEBpZiAkeERpcmVjdGlvbiA9PSAtMSB7XG5cdFx0JHRyYW5zbGF0ZVg6IC0xMDAlO1xuXHR9XG5cdEBlbHNlaWYgJHhEaXJlY3Rpb24gPT0gMSB7XG5cdFx0JHRyYW5zbGF0ZVg6IDA7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHRAaW5jbHVkZSB2ZW5kb3IoJ3RyYW5zZm9ybScsIHRyYW5zbGF0ZVgoJHRyYW5zbGF0ZVgpKTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdEBpZiAkeERpcmVjdGlvbiAhPSAwIHtcblx0XHRcdC8vIGJyaW5nIGJhY2sgdGhlIHRvb2x0aXAgYnkgc29tZSBvZmZzZXQgc28gdGhhdCBhcnJvdyBkb2Vzbid0IHN0aWNrIGF0IGVuZFxuXHRcdFx0bWFyZ2luLWxlZnQ6IC0keERpcmVjdGlvbiAqICRoaW50QXJyb3dPZmZzZXRYO1xuXHRcdH1cblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdEBpbmNsdWRlIHNldC1tYXJnaW4oJ3RyYW5zbGF0ZVknLCAkdHJhbnNpdGlvbkRpcmVjdGlvbiwgJHRyYW5zbGF0ZVgpO1xuXHR9XG59XG5cbkBtaXhpbiBob3Jpem9udGFsLXBvc2l0aW9uZWQtdG9vbHRpcCgkcHJvcGVydHlYLCAkdHJhbnNpdGlvbkRpcmVjdGlvbikge1xuXHQmOmJlZm9yZSB7XG5cdFx0Ly8gYnJpbmcgYXJyb3cgaW5zaWRlIHNvIHRoYXQgaXQgYW5pbWF0ZXMgdG8gbm9ybWFsIHBvc2l0aW9uIHdoZW4gc2hvd25cblx0XHQvLyBIQUNLOiArMXB4IHRvIGF2b2lkIHRoZSAxIHB4IHdoaXRlIHNwYWNlIGJldHdlZW4gYXJyb3cgYW5kIGJvZHkgZHVyaW5nIHRyYW5zaXRpb24uXG5cdFx0bWFyZ2luLSN7JHByb3BlcnR5WH06IC0yICogJGhpbnRBcnJvd0JvcmRlcldpZHRoICsgMXB4O1xuXHRcdC8vIGJyaW5nIGJhY2sgdG8gY2VudGVyIHZlcnRpY2FsbHlcblx0XHRtYXJnaW4tYm90dG9tOiAtMSAqICRoaW50QXJyb3dCb3JkZXJXaWR0aDtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdC8vIGJyaW5nIGJhY2sgdG8gY2VudGVyXG5cdFx0bWFyZ2luLWJvdHRvbTogLTEgKiBmbG9vcigkaGludFRvb2x0aXBIZWlnaHQgLyAyKTtcblx0fVxuXG5cdCY6YmVmb3JlLCAmOmFmdGVyIHtcblx0XHQjeyRwcm9wZXJ0eVh9OiAxMDAlO1xuXHRcdGJvdHRvbTogNTAlO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0QGluY2x1ZGUgc2V0LW1hcmdpbigndHJhbnNsYXRlWCcsICR0cmFuc2l0aW9uRGlyZWN0aW9uKTtcblx0fVxufVxuXG5cbi8qKlxuICogc2V0IGRlZmF1bHQgY29sb3IgZm9yIHRvb2x0aXAgYXJyb3dzXG4gKi9cbkBpbmNsdWRlIGFycm93LWJvcmRlci1jb2xvcigkaGludERlZmF1bHRDb2xvcik7XG5cbi8qKlxuICogdG9wIHRvb2x0aXBcbiAqL1xuLiN7JGhpbnRQcmVmaXh9dG9wIHtcblx0QGluY2x1ZGUgdmVydGljYWwtcG9zaXRpb25lZC10b29sdGlwKCdib3R0b20nLCAtMSk7XG59XG5cbi8qKlxuICogYm90dG9tIHRvb2x0aXBcbiAqL1xuLiN7JGhpbnRQcmVmaXh9Ym90dG9tIHtcblx0QGluY2x1ZGUgdmVydGljYWwtcG9zaXRpb25lZC10b29sdGlwKCd0b3AnLCAxKTtcbn1cblxuLyoqXG4gKiByaWdodCB0b29sdGlwXG4gKi9cbi4jeyRoaW50UHJlZml4fXJpZ2h0IHtcblx0QGluY2x1ZGUgaG9yaXpvbnRhbC1wb3NpdGlvbmVkLXRvb2x0aXAoJ2xlZnQnLCAxKTtcbn1cblxuLyoqXG4gKiBsZWZ0IHRvb2x0aXBcbiAqL1xuLiN7JGhpbnRQcmVmaXh9bGVmdCB7XG5cdEBpbmNsdWRlIGhvcml6b250YWwtcG9zaXRpb25lZC10b29sdGlwKCdyaWdodCcsIC0xKTtcbn1cblxuLyoqXG4gKiB0b3AtbGVmdCB0b29sdGlwXG4gKi9cbi4jeyRoaW50UHJlZml4fXRvcC1sZWZ0IHtcblx0QGluY2x1ZGUgdmVydGljYWwtcG9zaXRpb25lZC10b29sdGlwKCdib3R0b20nLCAtMSwgLTEpO1xufVxuXG5cbi8qKlxuICogdG9wLXJpZ2h0IHRvb2x0aXBcbiAqL1xuLiN7JGhpbnRQcmVmaXh9dG9wLXJpZ2h0IHtcblx0QGluY2x1ZGUgdmVydGljYWwtcG9zaXRpb25lZC10b29sdGlwKCdib3R0b20nLCAtMSwgMSk7XG59XG5cbi8qKlxuICogYm90dG9tLWxlZnQgdG9vbHRpcFxuICovXG4uI3skaGludFByZWZpeH1ib3R0b20tbGVmdCB7XG5cdEBpbmNsdWRlIHZlcnRpY2FsLXBvc2l0aW9uZWQtdG9vbHRpcCgndG9wJywgMSwgLTEpO1xufVxuXG5cbi8qKlxuICogYm90dG9tLXJpZ2h0IHRvb2x0aXBcbiAqL1xuLiN7JGhpbnRQcmVmaXh9Ym90dG9tLXJpZ2h0IHtcblx0QGluY2x1ZGUgdmVydGljYWwtcG9zaXRpb25lZC10b29sdGlwKCd0b3AnLCAxLCAxKTtcbn0iLCIvKipcbiAqIHNvdXJjZTogaGludC1zaXplcy5zY3NzXG4gKlxuICogRGVmaW5lcyB3aWR0aCByZXN0cmljdGVkIHRvb2x0aXBzIHRoYXQgY2FuIHNwYW5cbiAqIGFjcm9zcyBtdWx0aXBsZSBsaW5lcy5cbiAqXG4gKiBDbGFzc2VzIGFkZGVkOlxuICogXHQxKSBoaW50LS1zbWFsbFxuICogXHQyKSBoaW50LS1tZWRpdW1cbiAqIFx0MykgaGludC0tbGFyZ2VcbiAqXG4gKi9cblxuXG4uI3skaGludFByZWZpeH1zbWFsbCxcbi4jeyRoaW50UHJlZml4fW1lZGl1bSxcbi4jeyRoaW50UHJlZml4fWxhcmdlIHtcblx0JjphZnRlciB7XG5cdFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcblx0XHRsaW5lLWhlaWdodDogMS40ZW07XG5cdH1cbn1cblxuLiN7JGhpbnRQcmVmaXh9c21hbGwge1xuXHQmOmFmdGVyIHtcblx0XHR3aWR0aDogJGhpbnRTaXplU21hbGw7XG5cdH1cbn1cbi4jeyRoaW50UHJlZml4fW1lZGl1bSB7XG5cdCY6YWZ0ZXIge1xuXHRcdHdpZHRoOiAkaGludFNpemVNZWRpdW07XG5cdH1cbn1cbi4jeyRoaW50UHJlZml4fWxhcmdlIHtcblx0JjphZnRlciB7XG5cdFx0d2lkdGg6ICRoaW50U2l6ZUxhcmdlO1xuXHR9XG59IiwiLyoqXG4gKiBzb3VyY2U6IGhpbnQtdGhlbWUuc2Nzc1xuICpcbiAqIERlZmluZXMgYmFzaWMgdGhlbWUgZm9yIHRvb2x0aXBzLlxuICpcbiAqL1xuXG5bY2xhc3MqPVwiI3skaGludFByZWZpeH1cIl0ge1xuXHQvKipcblx0ICogdG9vbHRpcCBib2R5XG5cdCAqL1xuXHQmOmFmdGVyIHtcblx0XHR0ZXh0LXNoYWRvdzogMCAtMXB4IDBweCBkYXJrZW4oJGhpbnREZWZhdWx0Q29sb3IsICRoaW50VGV4dFNoYWRvd0RhcmtlbkFtb3VudCk7XG5cdFx0Ym94LXNoYWRvdzogNHB4IDRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuXHR9XG59IiwiLyoqXG4gKiBzb3VyY2U6IGhpbnQtY29sb3ItdHlwZXMuc2Nzc1xuICpcbiAqIENvbnRhaW5zIHRvb2x0aXBzIG9mIHZhcmlvdXMgdHlwZXMgYmFzZWQgb24gY29sb3IgZGlmZmVyZW5jZXMuXG4gKlxuICogQ2xhc3NlcyBhZGRlZDpcbiAqIFx0MSkgaGludC0tZXJyb3JcbiAqIFx0MikgaGludC0td2FybmluZ1xuICogXHQzKSBoaW50LS1pbmZvXG4gKiBcdDQpIGhpbnQtLXN1Y2Nlc3NcbiAqXG4gKi9cblxuXG4vLyBtaXhpbiB0byBnZW5lcmF0ZSBkaWZmZXJlbnQgY29sb3Igc3R5bGUgdG9vbHRpcHNcbkBtaXhpbiBoaW50LXR5cGUoJGNvbG9yKSB7XG5cdCY6YWZ0ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblx0XHR0ZXh0LXNoYWRvdzogMCAtMXB4IDBweCBkYXJrZW4oJGNvbG9yLCAkaGludFRleHRTaGFkb3dEYXJrZW5BbW91bnQpO1xuXHR9XG5cblx0Ly8gZ2VuZXJhdGUgYXJyb3cgY29sb3Igc3R5bGVcblx0QGluY2x1ZGUgYXJyb3ctYm9yZGVyLWNvbG9yKCRjb2xvcik7XG59XG5cbi8qKlxuICogRXJyb3JcbiAqL1xuLiN7JGhpbnRQcmVmaXh9ZXJyb3Ige1xuXHRAaW5jbHVkZSBoaW50LXR5cGUoJGhpbnRFcnJvckNvbG9yKTtcbn1cblxuLyoqXG4gKiBXYXJuaW5nXG4gKi9cbi4jeyRoaW50UHJlZml4fXdhcm5pbmcge1xuXHRAaW5jbHVkZSBoaW50LXR5cGUoJGhpbnRXYXJuaW5nQ29sb3IpXG59XG5cbi8qKlxuICogSW5mb1xuICovXG4uI3skaGludFByZWZpeH1pbmZvIHtcblx0QGluY2x1ZGUgaGludC10eXBlKCRoaW50SW5mb0NvbG9yKVxufVxuXG4vKipcbiAqIFN1Y2Nlc3NcbiAqL1xuLiN7JGhpbnRQcmVmaXh9c3VjY2VzcyB7XG5cdEBpbmNsdWRlIGhpbnQtdHlwZSgkaGludFN1Y2Nlc3NDb2xvcilcbn1cbiIsIi8qKlxuICogc291cmNlOiBoaW50LWFsd2F5cy5zY3NzXG4gKlxuICogRGVmaW5lcyBhIHBlcnNpc3RlZCB0b29sdGlwIHdoaWNoIHNob3dzIGFsd2F5cy5cbiAqXG4gKiBDbGFzc2VzIGFkZGVkOlxuICogXHQxKSBoaW50LS1hbHdheXNcbiAqXG4gKi9cblxuLiN7JGhpbnRQcmVmaXh9YWx3YXlzIHtcblx0JjphZnRlciwgJjpiZWZvcmUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0fVxuXG5cdCYuI3skaGludFByZWZpeH10b3Age1xuXHRcdEBpbmNsdWRlIHNldC1tYXJnaW4oJ3RyYW5zbGF0ZVknLCAtMSwgLTUwJSk7XG5cblx0XHQmLWxlZnQge1xuXHRcdFx0QGluY2x1ZGUgc2V0LW1hcmdpbigndHJhbnNsYXRlWScsIC0xLCAtMTAwJSk7XG5cdFx0fVxuXHRcdCYtcmlnaHQge1xuXHRcdFx0QGluY2x1ZGUgc2V0LW1hcmdpbigndHJhbnNsYXRlWScsIC0xLCAwKTtcblx0XHR9XG5cdH1cblxuXHQmLiN7JGhpbnRQcmVmaXh9Ym90dG9tIHtcblx0XHRAaW5jbHVkZSBzZXQtbWFyZ2luKCd0cmFuc2xhdGVZJywgMSwgLTUwJSk7XG5cdFx0Ji1sZWZ0IHtcblx0XHRcdEBpbmNsdWRlIHNldC1tYXJnaW4oJ3RyYW5zbGF0ZVknLCAxLCAtMTAwJSk7XG5cdFx0fVxuXHRcdCYtcmlnaHQge1xuXHRcdFx0QGluY2x1ZGUgc2V0LW1hcmdpbigndHJhbnNsYXRlWScsIDEsIDApO1xuXHRcdH1cblx0fVxuXG5cdCYuI3skaGludFByZWZpeH1sZWZ0IHtcblx0XHRAaW5jbHVkZSBzZXQtbWFyZ2luKCd0cmFuc2xhdGVYJywgLTEpO1xuXHR9XG5cblx0Ji4jeyRoaW50UHJlZml4fXJpZ2h0IHtcblx0XHRAaW5jbHVkZSBzZXQtbWFyZ2luKCd0cmFuc2xhdGVYJywgMSk7XG5cdH1cbn1cblxuIiwiLyoqXG4gKiBzb3VyY2U6IGhpbnQtcm91bmRlZC5zY3NzXG4gKlxuICogRGVmaW5lcyByb3VuZGVkIGNvcm5lciB0b29sdGlwcy5cbiAqXG4gKiBDbGFzc2VzIGFkZGVkOlxuICogXHQxKSBoaW50LS1yb3VuZGVkXG4gKlxuICovXG5cbi4jeyRoaW50UHJlZml4fXJvdW5kZWQge1xuXHQmOmFmdGVyIHtcblx0XHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdH1cbn1cbiIsIi8qKlxuICogc291cmNlOiBoaW50LWVmZmVjdHMuc2Nzc1xuICpcbiAqIERlZmluZXMgdmFyaW91cyB0cmFuc2l0aW9uIGVmZmVjdHMgZm9yIHRoZSB0b29sdGlwcy5cbiAqXG4gKiBDbGFzc2VzIGFkZGVkOlxuICogXHQxKSBoaW50LS1uby1hbmltYXRlXG4gKiBcdDIpIGhpbnQtLWJvdW5jZVxuICpcbiAqL1xuXG4vLyBSZW1vdmUgYW5pbWF0aW9uIGZyb20gdG9vbHRpcHMuXG4uI3skaGludFByZWZpeH1uby1hbmltYXRlIHtcblx0JjpiZWZvcmUsICY6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIHZlbmRvcigndHJhbnNpdGlvbi1kdXJhdGlvbicsIDBtcyk7XG5cdH1cbn1cblxuLy8gQm91bmNlIGVmZmVjdCBpbiB0b29sdGlwcy5cbi4jeyRoaW50UHJlZml4fWJvdW5jZSB7XG5cdCY6YmVmb3JlLCAmOmFmdGVyIHtcblx0XHQtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLCB2aXNpYmlsaXR5IDAuM3MgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoLjcxLDEuNywuNzcsMS4yNCk7XG5cdFx0LW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgdmlzaWJpbGl0eSAwLjNzIGVhc2UsIC1tb3otdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKC43MSwxLjcsLjc3LDEuMjQpO1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLCB2aXNpYmlsaXR5IDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKC43MSwxLjcsLjc3LDEuMjQpO1xuXHR9XG59XG4iLCJociB7XG4gIEBpbmNsdWRlIGJvdHRvbS1zZXBhcmF0b3I7XG59XG5cbmhyLnN0cm9uZyB7XG4gIEBpbmNsdWRlIGJvdHRvbS1zZXBhcmF0b3I7XG4gIGJvcmRlci13aWR0aDogMnB4O1xufSIsIkBtaXhpbiBib3R0b20tc2VwYXJhdG9yKCkge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLXNlcGFyYXRvcjtcbn0iLCIuaGFtYnVyZ2VyIHtcbiAgZGlzcGxheSAgICAgICA6IGJsb2NrO1xuICBwb3NpdGlvbiAgICAgIDogcmVsYXRpdmU7XG4gIG1hcmdpbiAgICAgICAgOiAwO1xuICBwYWRkaW5nICAgICAgIDogMDtcbiAgd2lkdGggICAgICAgICA6ICRoYW1idXJnZXItd2lkdGg7XG4gIGhlaWdodCAgICAgICAgOiAkaGFtYnVyZ2VyLWhlaWdodDtcbiAgYXBwZWFyYW5jZSAgICA6IG5vbmU7XG4gIGJveC1zaGFkb3cgICAgOiBub25lO1xuICBib3JkZXItcmFkaXVzIDogbm9uZTtcbiAgYm9yZGVyICAgICAgICA6IG5vbmU7XG4gIGN1cnNvciAgICAgICAgOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uICAgIDogYmFja2dyb3VuZCAwLjNzO1xufVxuXG4uaGFtYnVyZ2VyOmZvY3VzIHtcbiAgb3V0bGluZSA6IG5vbmU7XG59XG5cbi5oYW1idXJnZXJfX2JhciB7XG4gIGRpc3BsYXkgICAgOiBibG9jaztcbiAgcG9zaXRpb24gICA6IGFic29sdXRlO1xuICB0b3AgICAgICAgIDogJGhhbWJ1cmdlci1oZWlnaHQgLyAyIC0gJGhhbWJ1cmdlci1iYXItdGhpY2tuZXNzIC8gMjtcbiAgbGVmdCAgICAgICA6IDA7XG4gIHJpZ2h0ICAgICAgOiAwO1xuICBoZWlnaHQgICAgIDogJGhhbWJ1cmdlci1iYXItdGhpY2tuZXNzO1xuICBiYWNrZ3JvdW5kIDogJGhhbWJ1cmdlci1iYXItY29sb3I7XG59XG5cbi5oYW1idXJnZXJfX2Jhcjo6YmVmb3JlLFxuLmhhbWJ1cmdlcl9fYmFyOjphZnRlciB7XG4gIHBvc2l0aW9uICAgICAgICAgOiBhYnNvbHV0ZTtcbiAgZGlzcGxheSAgICAgICAgICA6IGJsb2NrO1xuICBsZWZ0ICAgICAgICAgICAgIDogMDtcbiAgd2lkdGggICAgICAgICAgICA6IDEwMCU7XG4gIGhlaWdodCAgICAgICAgICAgOiAkaGFtYnVyZ2VyLWJhci10aGlja25lc3M7XG4gIGJhY2tncm91bmQtY29sb3IgOiAkaGFtYnVyZ2VyLWJhci1jb2xvcjtcbiAgY29udGVudCAgICAgICAgICA6IFwiXCI7XG4gIHRyYW5zaXRpb24gICAgICAgOiB0b3AgLjNzIC4zcywgYm90dG9tIC4zcyAuM3MsIHRyYW5zZm9ybSAuM3MgMHM7XG59XG5cbi5oYW1idXJnZXJfX2Jhcjo6YmVmb3JlIHtcbiAgdG9wIDogLSRoYW1idXJnZXItYmFyLXRoaWNrbmVzcyAtICRoYW1idXJnZXItYmFyLXRoaWNrbmVzcztcbn1cblxuLmhhbWJ1cmdlcl9fYmFyOjphZnRlciB7XG4gIGJvdHRvbSA6IC0kaGFtYnVyZ2VyLWJhci10aGlja25lc3MgLSAkaGFtYnVyZ2VyLWJhci10aGlja25lc3M7XG59XG5cbi5oYW1idXJnZXJfX2xhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAkaGFtYnVyZ2VyLXdpZHRoICsgMTBweDtcbiAgZm9udC1zaXplOiAkZm9udHNpemUtc21hbGw7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTNweDtcbn1cblxuLy8gQW5pbWF0ZSB0byBYXG5cbi5oYW1idXJnZXItLWh0eCB7XG4gIGJhY2tncm91bmQtY29sb3IgOiAkaGFtYnVyZ2VyLWJhY2tncm91bmQtY29sb3I7XG59XG5cbi5oYW1idXJnZXItLWh0eCAuaGFtYnVyZ2VyX19iYXIge1xuICB0cmFuc2l0aW9uIDogYmFja2dyb3VuZCAwcyAwLjNzO1xufVxuXG4uaGFtYnVyZ2VyLS1odHggLmhhbWJ1cmdlcl9fYmFyOjpiZWZvcmUsXG4uaGFtYnVyZ2VyLS1odHggLmhhbWJ1cmdlcl9fYmFyOjphZnRlciB7XG4gIHRyYW5zaXRpb24gOiB0b3AgLjNzIC4zcywgYm90dG9tIC4zcyAuM3MsIHRyYW5zZm9ybSAuM3MgMHM7XG59XG5cbi8qIGFjdGl2ZSBzdGF0ZSwgaS5lLiBtZW51IG9wZW4gKi9cbi5zaWRlYmFyLWJ1dHRvbi5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yIDogJGhhbWJ1cmdlci1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjtcbn1cblxuLnNpZGViYXItYnV0dG9uLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyX19iYXIge1xuICBiYWNrZ3JvdW5kIDogbm9uZTtcbn1cblxuLnNpZGViYXItYnV0dG9uLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyX19iYXI6OmJlZm9yZSB7XG4gIHRvcCAgICAgICA6IDA7XG4gIHRyYW5zZm9ybSA6IHJvdGF0ZSg0NWRlZyk7XG59XG5cbi5zaWRlYmFyLWJ1dHRvbi5pcy1hY3RpdmUgLmhhbWJ1cmdlcl9fYmFyOjphZnRlciB7XG4gIGJvdHRvbSAgICA6IDA7XG4gIHRyYW5zZm9ybSA6IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4uc2lkZWJhci1idXR0b24uaXMtYWN0aXZlIC5oYW1idXJnZXJfX2Jhcjo6YmVmb3JlLFxuLnNpZGViYXItYnV0dG9uLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyX19iYXI6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbiA6IHRvcCAuM3MgMHMsIGJvdHRvbSAuM3MgMHMsIHRyYW5zZm9ybSAuM3MgLjNzO1xufSIsIiRoYW1idXJnZXItd2lkdGg6IDIycHg7XG4kaGFtYnVyZ2VyLWhlaWdodDogMTVweDtcblxuJGhhbWJ1cmdlci1iYXItdGhpY2tuZXNzOiAkaGFtYnVyZ2VyLWhlaWdodCAvIDU7XG4kaGFtYnVyZ2VyLWJhci1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4kaGFtYnVyZ2VyLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuJGhhbWJ1cmdlci1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IiwiLmJyZWFkY3J1bWJzLXdyYXBwZXIge1xuICB2ZXJ0aWNhbC1hbGlnbiA6IG1pZGRsZTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctc21hbGxlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYnJlYWRjcnVtYnMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIGZsb2F0OiBsZWZ0O1xuICB2ZXJ0aWNhbC1hbGlnbiA6IG1pZGRsZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4gIC5icmVhZGNydW1icyAuYnJlYWRjcnVtYnNfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogJGNvbG9yLWdyYXktZGFya2VyO1xuICAgIFxuICAgICY6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ljb25zL2ljb24tYXJyb3ctbGluZS5zdmcnKTtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgNHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtMXB4O1xuICAgIH1cbiAgfVxuICBcbiAgICAuYnJlYWRjcnVtYnMgLmJyZWFkY3J1bWJzX19saW5rIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS1kYXJrZXI7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4ycztcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvci1wcmltYXJ5OyBcbiAgICAgIH1cbiAgICB9IiwiLmhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLWxhcmdlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIGFuZCAobWluLXJlc29sdXRpb246ICs3MmRwaSkge1xuICAvLyBJRSBIQUNLIEZPUiBGSVhFRCBNRU5VXG4gIFxuICAuaGVhZGVyIHtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zaXRpb246IGxlZnQgM3MgZWFzZS1vdXQ7XG4gIH1cbiAgXG4gIC5zdC1tZW51LW9wZW4gLmhlYWRlciB7XG4gICAgbGVmdDogMzAwcHg7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAuNHMgZWFzZS1vdXQ7XG4gIH1cbn1cblxuLmhlYWRlcl9fY29udGFpbmVyIHtcbiAgcGFkZGluZzogNnJlbSAwICRzcGFjaW5nLXNtYWxsZXIgMDtcbn1cblxuLmhlYWRlcl9fbG9nby1qZG0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA3NSU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC03NSUpO1xuICB6LWluZGV4OiAxO1xufVxuXG4uaGVhZGVyX19sb2dvLWpkbSBzdmcge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gZG93biApIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gIH1cbn1cblxuLmhlYWRlcl9fYnVyZ2VyIHtcbiAgbGVmdDogMDtcbiAgdG9wOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLXNtYWxsO1xufVxuXG4uaGVhZGVyX19zZWFyY2gtaWNvbiB7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDEwMCU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZy1zbWFsbDtcbn1cblxuLmhlYWRlcl9fc2VhcmNoLWljb24gLnN2Zy1pY29uIHtcbiAgZmlsbDogJGNvbG9yLXByaW1hcnk7XG59XG5cbi5oZWFkZXJfX2xvZ28tZ3BwbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMTAwJTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLXNtYWxsO1xuICBwYWRkaW5nLXRvcDogNXB4O1xufVxuXG4uaGVhZGVyX190cmlnZ2VyIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgd2lkdGg6IDIxMHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1ncmF5LWxpZ2h0ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmhlYWRlcl9fdHJpZ2dlci1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgY29sb3I6ICRjb2xvci1ncmF5LWRhcmtlcjtcbn1cblxuLmhlYWRlcl9fbGFuZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZm9udC1zaXplOiAkZm9udHNpemUtdGlueTtcbiAgcGFkZGluZzogJHNwYWNpbmctdGlueTtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLW91dDtcbn1cblxuLmhlYWRlcl9fbGFuZyBhIHtcbiAgY29sb3I6ICRjb2xvci1ncmF5LWRhcms7XG59XG5cbi5oZWFkZXJfX2xhbmcgYS5jdXJyZW50LFxuLmhlYWRlcl9fbGFuZyBhOmhvdmVyIHtcbiAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xufVxuXG4vLyBBbmltYXRpb25cblxuLmhlYWRlcntcbiAgei1pbmRleDogMTAwO1xuICB0b3A6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmhlYWRlcl9fY29udGFpbmVyIHtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbGFyZ2U7XG59XG5cbi5oZWFkZXJfX2xvZ28tamRtIHN2ZyB7XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbkBtZWRpYSAjeyRzbWFsbC1vbmx5fXtcbiAgLmhlYWRlcl9fY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICB9XG5cbiAgLmhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWdyYXktbGlnaHRlcjtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuaGVhZGVyIC5oZWFkZXJfX2xvZ28tamRtIHN2Z3tcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSBvbmx5KXtcbiAgLmhlYWRlcl9fY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XG4gIH1cbn1cblxuXG5AbWVkaWEgI3skbWVkaXVtLXVwfXtcbiAgLmhlYWRlci0tbGFyZ2Uge1xuICAgIGhlaWdodDogMTA2cHg7XG4gIH1cblxuICAuaGVhZGVyLS1sYXJnZSAuaGVhZGVyX19jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiA5NnB4O1xuICB9XG5cbiAgLmhlYWRlci0tc21hbGwge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmF5LWxpZ2h0ZXI7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctZGVlcDtcbiAgfVxuXG4gIC5oZWFkZXItLXNtYWxsIC5oZWFkZXJfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gIH1cbiAgLmhlYWRlci0tc21hbGwgLmhlYWRlcl9fbG9nby1qZG0gc3Zne1xuICAgIGhlaWdodDogMzVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5oZWFkZXItLXNtYWxsIC5oZWFkZXJfX2xhbmcge1xuICAgIHRvcDogLTIwcHg7XG4gIH1cbn0iLCIuYnV0dG9uLWdyb3VwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi5idXR0b24ge1xuICBAaW5jbHVkZSBidXR0b24oJGJhY2tncm91bmQ6ICRjb2xvci1idG4tYmcpO1xuICBmb250LXNpemU6ICRmb250c2l6ZS1iYXNlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5idXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cblxuLmJ1dHRvbl9faWNvbi0tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cblxuXG4uYnV0dG9uIC5zdmctaWNvbiB7XG4gIGZpbGw6ICRjb2xvci13aGl0ZTtcbn1cblxuLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1idG4tYmctZGFya2VyO1xufVxuXG4uYnV0dG9uLS1wcmltYXJ5LWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnRuLWJnLWRhcmtlcjtcbn1cblxuLmJ1dHRvbi0tY2hyb21sZXNzIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYnV0dG9uLS1saW5rIHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4uYnV0dG9uLS1saW5rOmhvdmVyLFxuLmJ1dHRvbi0tbGluazpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5idXR0b24tLWxpbms6aG92ZXIge1xuICAuYnV0dG9uX190ZXh0IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLXdoaXRlO1xuICB9XG59XG5cbi5idXR0b24tLXRpbnkge1xuICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgcGFkZGluZzogcmVtLWNhbGMoNSk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYnV0dG9uLS1zbWFsbCB7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcblxuICAmLmhhcy1pY29uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICB9XG59XG5cbi5idXR0b24tLWxhcmdlIHtcbiAgcGFkZGluZzogMTBweCAxMHB4O1xuICBmb250LXdlaWdodDogJGZvbnR3ZWlnaHQtc2VtaTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoIGxhcmdlIHVwICl7XG4gICAgZm9udC1zaXplOiAkZm9udHNpemUtbGFyZ2U7XG4gIH1cbiAgXG59XG5cbi5idXR0b24tLWJpZyB7XG4gIHBhZGRpbmc6ICRzcGFjaW5nLXNtYWxsO1xuICBmb250LXdlaWdodDogJGZvbnR3ZWlnaHQtc2VtaTtcbiAgZm9udC1zaXplOiAkZm9udHNpemUtbGFyZ2VyO1xufVxuXG4uYnV0dG9uLS1ob2xsb3csXG4uYnV0dG9uLS1ob2xsb3c6Zm9jdXN7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYnRuLWhvbGxvdztcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1ib3JkZXItcmFkaXVzO1xuICBjb2xvcjogJGNvbG9yLWdyYXktZGFya2VyO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xuXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi5idXR0b24tLXRhYiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1pbnB1dC1ib3JkZXI7XG4gIGNvbG9yOiAkY29sb3ItZ3JheS1kYXJrO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeTtcbiAgfVxufVxuXG4uYnV0dG9uLS10YWI6bm90KC5pcy1hY3RpdmUpOmhvdmVyLFxuLmJ1dHRvbi0tdGFiOm5vdCguaXMtYWN0aXZlKTpmb2N1c3tcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICRjb2xvci1ncmF5LWRhcms7XG59XG5cbi5pcy1zcXVhcmUge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4uYnV0dG9uLS1ob2xsb3cgLnN2Zy1pY29uIHtcbiAgZmlsbDogJGNvbG9yLWdyYXktZGFya2VyO1xufVxuXG4uYnV0dG9uLWZpbGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcbiAgcGFkZGluZzogJHNwYWNpbmctbWVkaXVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDM1MHB4O1xuICBtYXJnaW46ICRzcGFjaW5nLW1lZGl1bSBhdXRvO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoIHNtYWxsIG9ubHkgKXtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy1zbWFsbDtcbiAgfVxufVxuXG4uYnV0dG9uLWZpbGVfX2ljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogJHNwYWNpbmctc21hbGw7XG4gIGZpbGw6ICRjb2xvci1wcmltYXJ5O1xuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCggc21hbGwgb25seSApe1xuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICB9XG4gIH1cbn1cblxuLmJ1dHRvbi1maWxlX19pY29uIC5zdmctaWNvbiB7XG4gIGZpbGw6ICRjb2xvci1wcmltYXJ5O1xufVxuXG4uYnV0dG9uLWZpbGVfX3RleHQge1xuICBmb250LXNpemU6ICRmb250c2l6ZS1sYXJnZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSBvbmx5KXtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgfVxuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCggc21hbGwgb25seSApe1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICB9XG59XG5cbi5idXR0b24tZmlsZV9fZmlsZXNpemUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6ICRzcGFjaW5nLXNtYWxsZXI7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLXByaW1hcnk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcbiAgZm9udC13ZWlnaHQ6ICRmb250d2VpZ2h0LWhlYXZ5O1xufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucywgaWYgdGhlIGJhY2tncm91bmQgaXMgbGlnaHQuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGZvcmVncm91bmQoJGJhY2tncm91bmQsICRidXR0b24tY29sb3ItYWx0LCAkYnV0dG9uLWNvbG9yKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6IC0yMCUpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTUwJSk7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgfVxuICB9XG59XG4iLCIubGFzdC1wdWJsaWNhdGlvbl9faW5uZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLXdoaXRlLCAuOCk7XG4gIHBhZGRpbmc6ICRzcGFjaW5nLWxhcmdlO1xuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbn1cblxuLmxhc3QtcHVibGljYXRpb25fX251bWJlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xufVxuXG4ubGFzdC1wdWJsaWNhdGlvbl9fZGF0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctc21hbGw7XG59XG5cbi5sYXN0LXB1YmxpY2F0aW9uX19jdGEge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjbGVhcjogYm90aDtcbiAgcGFkZGluZzogJHNwYWNpbmctc21hbGw7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmxhc3QtcHVibGljYXRpb25fX3Nob3ctYWxsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xufSIsIi5zZWN0aW9uIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbiAgLnNlY3Rpb24tLWVkZW4ge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYmFja2dyb3VuZC1lZGVuLmpwZykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIHBhZGRpbmc6ICRzcGFjaW5nLWxhcmdlIDBcbiAgfVxuXG4gIC5zZWN0aW9uX19pbnRybyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICB9XG5cbiAgLnNlY3Rpb24tLWxpc3QgLnRpdGxlLWxldmVsMiB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1tZWRpdW07XG5cbiAgfVxuXG4gIC5zZWN0aW9uLS1saXN0IHNlbGVjdCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkZm9udHNpemUtbGFyZ2U7XG4gIH1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCggc21hbGwgb25seSl7XG4gIC5zZWN0aW9uLS1lZGVuIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbkBtZWRpYSAjeyRtZWRpdW0tdXB9e1xuICAuc2VjdGlvbi0tbGlzdCB7XG4gICAgbWFyZ2luOiAkc3BhY2luZy1sYXJnZXIgMDtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy1tZWRpdW07XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWdyYXktYnJpZ2h0O1xuICB9XG5cbiAgLnNlY3Rpb25fX2ludHJvIHtcbiAgICBtYXJnaW46ICRzcGFjaW5nLXNtYWxsIDAgMCAwO1xuICB9XG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSB3aWR0aCBvZiBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHdpZHRoIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggdG8gbWFrZSB0aGUgY29sdW1uLiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIHdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1zaXplKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1zaXplXG5AbWl4aW4gZ3JpZC1jb2wtc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBzdHJpbmcgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gIC8vIEd1dHRlcnNcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIH1cblxuICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXI6ICRndXR0ZXIpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXIpO1xufVxuIiwiLnNlYXJjaC0tam91cm5hbCAuc2VhcmNoX19pbnB1dC1maWVsZCB7XG4gIHdpZHRoOiA4MCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnNlYXJjaC0tam91cm5hbCAuc2VhcmNoX19hY3Rpb25zIHtcbiAgd2lkdGg6IDIwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLXNtYWxsZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNlYXJjaC0tam91cm5hbCAuc2VhcmNoX19hY3Rpb25zIC5zZWFyY2hfX2J1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG5cbi5zZWFyY2gtLWpvdXJuYWwgLnNlYXJjaF9fYWN0aW9ucyAuc2VhcmNoX19hZHZhbmNlZCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogJGZvbnRzaXplLXNtYWxsZXI7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udHdlaWdodC1zZW1pO1xufVxuXG4uc2VhcmNoLnNlYXJjaC0tc21hbGwge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCBsYXJnZSB1cCl7XG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctc21hbGwgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2VhcmNoLS1zbWFsbDpmaXJzdC1jaGlsZHtcbiAgcGFkZGluZy1yaWdodDogJHNwYWNpbmctc21hbGwgIWltcG9ydGFudDtcbn1cblxuLnNlYXJjaC0tZW1iZWQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXNtYWxsO1xuICA+IC5pbnB1dCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyYXktbGlnaHQ7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gb25seSl7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gIH1cbn1cblxuXG4uc2VhcmNoLWNvbnRlbnQgLnNlYXJjaCAuaW5wdXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JheS1saWdodDtcbiAgd2lkdGg6IGNhbGMoIDEwMCUgLSA0NXB4ICk7XG59XG5cbi5zZWFyY2gtY29udGVudCAuc2VhcmNoIC5idXR0b24ge1xuICBtYXJnaW4tbGVmdDogLTRweDtcbn1cblxuXG5AaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gdXAgKXtcblxuICAuc2VhcmNoLWNvbnRlbnQge1xuICAgIHdpZHRoOiBjYWxjKCAxMDAlIC0gMjkwcHggKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuXG59XG5cbi5zZWFyY2guc2VhcmNoLS1lbWJlZCAgPiBpbnB1dCB7XG5cbiAgd2lkdGg6IDMxMHB4O1xufVxuXG4uc2VhcmNoIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCggbGFyZ2UgdXAgKXtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1zbWFsbDtcbiAgfVxufVxuXG4uc2VhcmNoID4gaW5wdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogcmVtLWNhbGMoNDApO1xuICBwYWRkaW5nOiAkc3BhY2luZy1zbWFsbGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCBsYXJnZSB1cCApe1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTtcbiAgfVxufVxuXG4uc2VhcmNoID4gYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnNlYXJjaC0td2l0aC1oZWxwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogODUlO1xufVxuXG4uaGVscCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgd2lkdGg6IDE1JTtcbiAgcGFkZGluZzogJHNwYWNpbmctc21hbGxlcjtcbn1cblxuLnRvb2x0aXAge1xuICBtYXgtd2lkdGg6IDIwcmVtICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDEwMCAhaW1wb3J0YW50O1xufVxuXG4uc2VhcmNoLS1zbWFsbCA+IGlucHV0e1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlIHVwKcKge1xuICAgIHdpZHRoOiA2MCU7XG4gIH1cbn1cblxuXG4uc2VhcmNoX19idXR0b24tLWlubGluZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSB1cCnCoHtcbiAgICB3aWR0aDogY2FsYyg0MCUgLSAxMHB4KTtcbiAgfVxufVxuXG5cbi5zZWFyY2hfX2J1dHRvbi0taWNvbiB7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xufVxuXG4uc2VhcmNoX19pbnB1dC1maWVsZC0tYmlnIHtcbiAgaGVpZ2h0OiA2NXB4O1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy1zbWFsbDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCBsYXJnZSB1cCl7XG4gICAgZm9udC1zaXplOiAkZm9udHNpemUtbGFyZ2VyO1xuICB9XG59XG5cbi5zZWFyY2gtdG9vbGJhciB7XG5cbn1cblxuLnNlYXJjaC10b29sYmFyX190b29sIHtcbiAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy1sYXJnZXI7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtIG9ubHkgKXtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLXNtYWxsZXI7XG4gIH1cbn1cblxuLnNlYXJjaC10b29sYmFyX190b29sIGxhYmVsLFxuLnNlYXJjaC10b29sYmFyX190b29sIC5pbnB1dC1hcHBlbmR7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udHdlaWdodC1oZWF2eTtcbn1cblxuLnNlYXJjaC10b29sYmFyX190b29sIC5pbnB1dC1hcHBlbmQge1xuICBtYXJnaW4tbGVmdDogJHNwYWNpbmctc21hbGxlcjtcbn1cblxuLnNlYXJjaC1yZXN1bHRzX19jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogJHNwYWNpbmctc21hbGxlcjtcbn1cblxuLnNlYXJjaC1yZXN1bHRzX19jb250ZW50LS1ncmlkIC5yZXN1bHQtaXRlbSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sKDYpO1xuICBtYXJnaW4tbGVmdDogLTJweDtcbiAgcGFkZGluZzogMCAkc3BhY2luZy1zbWFsbDtcbiAgY2xlYXI6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5zZWFyY2gtcmVzdWx0c19fY29udGVudC0tZ3JpZCAucmVzdWx0LWl0ZW06bnRoLWNoaWxkKG9kZCkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5zZWFyY2gtcmVzdWx0c19fY29udGVudC0tZ3JpZCAucmVzdWx0LWl0ZW06bnRoLWNoaWxkKGV2ZW4pIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3ItZ3JheS1saWdodDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLnNlYXJjaC1yZXN1bHRzX19jb3VudCB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXNtYWxsO1xufVxuXG4ucmVzdWx0LWl0ZW0ge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LWZhbWlseTogJGZvbnRiYXNlLXNlcmlmO1xuICBjb2xvcjogJGNvbG9yLWdyYXktZGFyaztcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctc21hbGw7XG59XG5cbi5yZXN1bHQtaXRlbV9fdGl0bGUge1xuICBmb250LXNpemU6ICRmb250c2l6ZS1iYXNlO1xuICBmb250LXdlaWdodDogJGZvbnR3ZWlnaHQtaGVhdnk7XG4gIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXNtYWxsZXI7XG59XG5cbi5yZXN1bHQtaXRlbV9fc3VidGl0bGUge1xuICBmb250LXNpemU6ICRmb250c2l6ZS1zbWFsbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250d2VpZ2h0LWhlYXZ5O1xuICBjb2xvcjogJGNvbG9yLWdyYXktZGFya2VyO1xuICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctc21hbGxlcjtcbn1cblxuLnJlc3VsdC1pdGVtX19zdWJ0aXRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA2cHg7XG4gIGhlaWdodDogNnB4O1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1yaWdodDogJHNwYWNpbmctdGlueTtcbn1cblxuLnJlc3VsdC1pdGVtX19kZXNjcmlwdGlvbiB7XG4gIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1zbWFsbGVyO1xuICBmb250LXNpemU6ICRmb250c2l6ZS1zbWFsbDtcbn1cblxuLnJlc3VsdC1pdGVtX19jYXRlZ29yaWUge1xuICBmb250LXNpemU6ICRmb250c2l6ZS1zbWFsbGVyO1xuICBmb250LWZhbWlseTogJGZvbnRiYXNlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5cblxuLnNlYXJjaC1maWx0ZXJzLS1zbWFsbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctc21hbGxlcjtcbiAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtO1xuICB3aWR0aDogY2FsYyggMTAwJSArIDIuNXJlbSApO1xufVxuXG4uZmlsdGVyLWJsb2Mge1xuICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLXByaW1hcnk7XG59XG5cbi5maWx0ZXItYmxvYzpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xuICBjb2xvcjogJHdoaXRlO1xuICBmaWxsOiAkd2hpdGU7XG5cbiAgLmZpbHRlci1oZWFkZXJfX2ljb24gLnN2Zy1pY29uIHtcbiAgICBmaWxsOiAkY29sb3Itd2hpdGU7XG4gIH1cbn1cblxuLmZpbHRlci1ibG9jOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG5cbi5maWx0ZXItaGVhZGVyIHtcbiAgZm9udC1zaXplOiAkZm9udHNpemUtdGlueTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6ICRzcGFjaW5nLXNtYWxsZXIgJHNwYWNpbmctdGlueTtcbn1cblxuXG5cbi5maWx0ZXItY29udGVudCB7XG4gIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1ncmF5LWRhcmtlcjtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4uZmlsdGVyLWNvbnRlbnQgdWwge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZmlsdGVyLWNvbnRlbnQgdWwgbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmF5LWRhcms7XG4gIHBhZGRpbmc6ICRzcGFjaW5nLXNtYWxsZXI7XG59XG5cbi5maWx0ZXItY29udGVudCB1bCBsaSBhIHtcbiAgY29sb3I6ICRjb2xvci13aGl0ZTtcbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCggc21hbGwgKXtcblxuICBbaWQ9XCJmaWx0ZXItLWZpbHRlcnNcIl0gLnNlYXJjaC10b29sYmFyX190b29sIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJHNwYWNpbmctc21hbGxlciAkc3BhY2luZy1zbWFsbDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIFtpZD1cImZpbHRlci0tZmlsdGVyc1wiXSAuaW5wdXQtbGFiZWwge1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIH1cblxuICBbaWQ9XCJmaWx0ZXItLWZpbHRlcnNcIl0gc2VsZWN0LmlzLWlubGluZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy1zbWFsbGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuODVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIFtpZD1cImZpbHRlci0tZmlsdGVyc1wiXSAuc2VhcmNoLWZpbHRlcl9fYnV0dG9uLmlzLWFjdGl2ZSAuc3ZnLWljb257XG4gICAgZmlsbDogJGNvbG9yLXByaW1hcnk7XG4gIH1cbn0iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHotaW5kZXg6IDEwO1xuXG4gICYuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZS4jeyRuYW1lfSB7XG4gICAgICB3aWR0aDogJHNpemU7XG4gICAgfVxuICB9XG59XG4iLCIubGlzdC1pdGVtcyB7XG4gIG1hcmdpbjogMCAwICRzcGFjaW5nLXNtYWxsIDA7XG59XG5cblxuLmxpc3QtaXRlbXMgbGl7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyYXktbGlnaHQ7XG4gIG1hcmdpbjogJHNwYWNpbmctc21hbGxlciAwO1xuICBwYWRkaW5nOiAkc3BhY2luZy10aW55O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICY6bnRoLWNoaWxkKDNuKXtcbiAgICBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICB3aWR0aDogNnB4O1xuICAgIGhlaWdodDogNnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy10aW55O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfSB7XG4gIC5saXN0LWl0ZW1zOm5vdCgudGh1bWJuYWlscykgbGkge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubGlzdC1pdGVtcy50aHVtYm5haWxzIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDMzLjMzJTtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvci1ncmF5LWxpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmctc21hbGw7XG4gICAgbWFyZ2luLWxlZnQ6IC02cHg7XG4gIH1cbn0iLCJmb290ZXIubWFpbi1mb290ZXIge1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JheS1icmlnaHQ7XG4gIHBhZGRpbmc6ICRzcGFjaW5nLXNtYWxsIDA7XG4gIG1hcmdpbi10b3A6ICRzcGFjaW5nLWxhcmdlO1xufVxuXG4ubWFpbi1mb290ZXJfX3Nob3J0bGlua3Mge1xuICBtYXJnaW4tdG9wOiAkc3BhY2luZy1zbWFsbDtcbn1cblxuLm1haW4tZm9vdGVyX19zaG9ydGxpbmtzIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udHdlaWdodC1zZW1pO1xuICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctdGlueTtcbn1cblxuLm1haW4tZm9vdGVyX19zaG9ydGxpbmtzIGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy10aW55O1xufVxuXG4ubWFpbi1mb290ZXJfX2NvbHVtbiB7XG4gIHBhZGRpbmc6ICRzcGFjaW5nLXNtYWxsIDAgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhICN7JG1lZGl1bS11cH17XG4gIC5tYWluLWZvb3Rlcl9fY29sdW1uIHtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy1zbWFsbCAkc3BhY2luZy1sYXJnZXIgIWltcG9ydGFudDtcbiAgfVxufVxuXG4ubWFpbi1mb290ZXIgLmJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jb3B5ciB7XG4gIHBhZGRpbmc6ICRzcGFjaW5nLXNtYWxsO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6ICRmb250c2l6ZS1zbWFsbDtcbiAgY29sb3I6ICRjb2xvci1ncmF5O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufSIsIkBtZWRpYSBzY3JlZW4ge1xuXG4gIGh0bWwsXG4gIGJvZHksXG4gIC5zdC1jb250YWluZXIsXG4gIC5zdC1wdXNoZXIsXG4gIC5zdC1jb250ZW50IHtcbiAgICBoZWlnaHQgOiAxMDAlO1xuICB9XG5cbiAgLnN0LWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQgOiAkY29sb3Itd2hpdGU7XG4gICAgb3ZlcmZsb3cteSA6IHNjcm9sbDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG5cbiAgLnN0LWNvbnRlbnQsXG4gIC5zdC1jb250ZW50LWlubmVyIHtcbiAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdyA6IGhpZGRlbjtcbiAgfVxuXG4gIC5zdC1wdXNoZXIge1xuICAgIHBvc2l0aW9uICAgICAgICAgICA6IHJlbGF0aXZlO1xuICAgIGxlZnQgICAgICAgICAgICAgICA6IDA7XG4gICAgei1pbmRleCAgICAgICAgICAgIDogOTk7XG4gICAgaGVpZ2h0ICAgICAgICAgICAgIDogMTAwJTtcbiAgICBwZXJzcGVjdGl2ZSAgICAgICAgOiAxMDAwcHg7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uIDogLXdlYmtpdC10cmFuc2Zvcm0gMC41cztcbiAgICB0cmFuc2l0aW9uICAgICAgICAgOiB0cmFuc2Zvcm0gMC41cztcbiAgfVxuXG4gIC5zdC1wdXNoZXI6OmFmdGVyIHtcbiAgICBwb3NpdGlvbiAgICAgICAgICAgOiBhYnNvbHV0ZTtcbiAgICB0b3AgICAgICAgICAgICAgICAgOiAwO1xuICAgIHJpZ2h0ICAgICAgICAgICAgICA6IDA7XG4gICAgd2lkdGggICAgICAgICAgICAgIDogMDtcbiAgICBoZWlnaHQgICAgICAgICAgICAgOiAwO1xuICAgIHotaW5kZXggICAgICAgICAgICA6IDEwMTtcbiAgICBiYWNrZ3JvdW5kICAgICAgICAgOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgY29udGVudCAgICAgICAgICAgIDogJyc7XG4gICAgb3BhY2l0eSAgICAgICAgICAgIDogMDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24gOiBvcGFjaXR5IDAuNXMsIHdpZHRoIDAuMXMgMC41cywgaGVpZ2h0IDAuMXMgMC41cztcbiAgICB0cmFuc2l0aW9uICAgICAgICAgOiBvcGFjaXR5IDAuNXMsIHdpZHRoIDAuMXMgMC41cywgaGVpZ2h0IDAuMXMgMC41cztcbiAgfVxuXG4gIC5zdC1tZW51LW9wZW4gLnN0LXB1c2hlcjo6YWZ0ZXIge1xuICAgIHdpZHRoICAgICAgICAgICAgICA6IDEwMCU7XG4gICAgaGVpZ2h0ICAgICAgICAgICAgIDogMTAwJTtcbiAgICBvcGFjaXR5ICAgICAgICAgICAgOiAxO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbiA6IG9wYWNpdHkgMC41cztcbiAgICB0cmFuc2l0aW9uICAgICAgICAgOiBvcGFjaXR5IDAuNXM7XG4gIH1cblxuICAuc3QtbWVudSB7XG4gICAgcG9zaXRpb24gICAgICAgICAgIDogYWJzb2x1dGU7XG4gICAgdG9wICAgICAgICAgICAgICAgIDogMDtcbiAgICBsZWZ0ICAgICAgICAgICAgICAgOiAwO1xuICAgIHotaW5kZXggICAgICAgICAgICA6IDEwMDtcbiAgICB2aXNpYmlsaXR5ICAgICAgICAgOiBoaWRkZW47XG4gICAgd2lkdGggICAgICAgICAgICAgIDogMjUwcHg7XG4gICAgaGVpZ2h0ICAgICAgICAgICAgIDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kICAgICAgICAgOiAkY29sb3ItZ3JheS1kZWVwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbiA6IGFsbCAwLjVzO1xuICAgIHRyYW5zaXRpb24gICAgICAgICA6IGFsbCAwLjVzO1xuICAgIG92ZXJmbG93LXkgICAgICAgICA6IHNjcm9sbDtcbiAgfVxuXG4gIC5zdC1tZW51OjphZnRlciB7XG4gICAgcG9zaXRpb24gICAgICAgICAgIDogYWJzb2x1dGU7XG4gICAgdG9wICAgICAgICAgICAgICAgIDogMDtcbiAgICByaWdodCAgICAgICAgICAgICAgOiAwO1xuICAgIHdpZHRoICAgICAgICAgICAgICA6IDEwMCU7XG4gICAgaGVpZ2h0ICAgICAgICAgICAgIDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kICAgICAgICAgOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgY29udGVudCAgICAgICAgICAgIDogJyc7XG4gICAgb3BhY2l0eSAgICAgICAgICAgIDogMTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24gOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbiAgICAgICAgIDogb3BhY2l0eSAwLjVzO1xuICB9XG5cbiAgLnN0LW1lbnUtb3BlbiAuc3QtbWVudTo6YWZ0ZXIge1xuICAgIHdpZHRoICAgICAgICAgICAgICA6IDA7XG4gICAgaGVpZ2h0ICAgICAgICAgICAgIDogMDtcbiAgICBvcGFjaXR5ICAgICAgICAgICAgOiAwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbiA6IG9wYWNpdHkgMC41cywgd2lkdGggMC4xcyAwLjVzLCBoZWlnaHQgMC4xcyAwLjVzO1xuICAgIHRyYW5zaXRpb24gICAgICAgICA6IG9wYWNpdHkgMC41cywgd2lkdGggMC4xcyAwLjVzLCBoZWlnaHQgMC4xcyAwLjVzO1xuICB9XG5cbiAgLyogY29udGVudCBzdHlsZSAqL1xuXG4gIC5zdC1tZW51IHVsIHtcbiAgICBtYXJnaW4gICAgIDogMDtcbiAgICBwYWRkaW5nICAgIDogMDtcbiAgICBsaXN0LXN0eWxlIDogbm9uZTtcbiAgfVxuXG4gIC5zdC1tZW51IGgyIHtcbiAgICBtYXJnaW4gICAgICA6IDA7XG4gICAgcGFkZGluZyAgICAgOiAxZW07XG4gICAgY29sb3IgICAgICAgOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgdGV4dC1zaGFkb3cgOiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBmb250LXdlaWdodCA6IDMwMDtcbiAgICBmb250LXNpemUgICA6IDJlbTtcbiAgfVxuXG4gIC5zdC1tZW51IC5zdC1tZW51X19pdGVtID4gYSB7XG4gICAgZGlzcGxheSAgICAgICAgICAgIDogYmxvY2s7XG4gICAgcGFkZGluZyAgICAgICAgICAgIDogLjhlbSAuOGVtIC44ZW0gMWVtO1xuICAgIG91dGxpbmUgICAgICAgICAgICA6IG5vbmU7XG4gICAgYm94LXNoYWRvdyAgICAgICAgIDogaW5zZXQgMCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBjb2xvciAgICAgICAgICAgICAgOiAjZjNlZmUwO1xuICAgIHRleHQtdHJhbnNmb3JtICAgICA6IHVwcGVyY2FzZTtcbiAgICB0ZXh0LXNoYWRvdyAgICAgICAgOiAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICBsZXR0ZXItc3BhY2luZyAgICAgOiAxcHg7XG4gICAgZm9udC13ZWlnaHQgICAgICAgIDogNDAwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbiA6IGJhY2tncm91bmQgMC4zcywgYm94LXNoYWRvdyAwLjNzO1xuICAgIHRyYW5zaXRpb24gICAgICAgICA6IGJhY2tncm91bmQgMC4zcywgYm94LXNoYWRvdyAwLjNzO1xuICB9XG5cbiAgLnNob3J0bGlua3Mge1xuICAgIGJvcmRlci10b3AgOiA0cHggc29saWQgJGNvbG9yLXByaW1hcnk7XG4gIH1cblxuICAuc2hvcnRsaW5rc19faXRlbSB7XG4gICAgYm94LXNoYWRvdyAgICAgICA6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvciA6ICRjb2xvci1ncmF5LWRhcms7XG4gIH1cblxuICAuc2hvcnRsaW5rc19faXRlbSA+IGEge1xuICAgIGRpc3BsYXkgICA6IGJsb2NrO1xuICAgIHBhZGRpbmcgICA6IC4yZW0gMWVtIC4yZW0gMS4yZW07XG4gICAgZm9udC1zaXplIDogJGZvbnRzaXplLWxhcmdlO1xuICAgIGNvbG9yICAgICA6ICRjb2xvci1ncmF5LWRlZXA7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50ICAgICAgOiBcIuKAulwiO1xuICAgICAgZGlzcGxheSAgICAgIDogaW5saW5lLWJsb2NrO1xuICAgICAgY29sb3IgICAgICAgIDogJGNvbG9yLWdyYXktZGVlcDtcbiAgICAgIGZvbnQtc2l6ZSAgICA6ICRmb250c2l6ZS1sYXJnZXI7XG4gICAgICBtYXJnaW4tcmlnaHQgOiAkc3BhY2luZy10aW55O1xuICAgIH1cbiAgfVxuXG4gIC5zdC1tZW51IC5zaG9ydGxpbmtzX19pdGVtOmZpcnN0LWNoaWxkID4gYSB7XG4gICAgYm94LXNoYWRvdyAgICAgOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtIDogbm9uZTtcbiAgfVxuXG4gIC5zdC1tZW51IHVsIGxpOmZpcnN0LWNoaWxkIGEge1xuICAgIGJveC1zaGFkb3cgOiBpbnNldCAwIC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLCBpbnNldCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIH1cblxuICAuc3QtbWVudSB1bCBsaSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kIDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGJveC1zaGFkb3cgOiBpbnNldCAwIC0xcHggcmdiYSgwLCAwLCAwLCAwKTtcbiAgICBjb2xvciAgICAgIDogI2ZmZjtcbiAgfVxuXG4gIC8qIEVmZmVjdCA0OiBTbGlkZSBhbG9uZyAqL1xuICAuc3QtZWZmZWN0LTQuc3QtbWVudS1vcGVuIC5zdC1wdXNoZXIge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtIDogdHJhbnNsYXRlM2QoMjM1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybSAgICAgICAgIDogdHJhbnNsYXRlM2QoMjM1cHgsIDAsIDApO1xuICB9XG5cbiAgLnN0LWVmZmVjdC00LnN0LW1lbnUge1xuICAgIHotaW5kZXggICAgICAgICAgIDogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybSA6IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybSAgICAgICAgIDogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gIH1cblxuICAuc3QtZWZmZWN0LTQuc3QtbWVudS1vcGVuIC5zdC1lZmZlY3QtNC5zdC1tZW51IHtcbiAgICB2aXNpYmlsaXR5ICAgICAgICAgOiB2aXNpYmxlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbiA6IC13ZWJraXQtdHJhbnNmb3JtIDAuNXM7XG4gICAgdHJhbnNpdGlvbiAgICAgICAgIDogdHJhbnNmb3JtIDAuNXM7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0gIDogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtICAgICAgICAgIDogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3QtZWZmZWN0LTQuc3QtbWVudTo6YWZ0ZXIge1xuICAgIGRpc3BsYXkgOiBub25lO1xuICB9XG5cbiAgLmxhbmctc3dpdGNoZXIgYSB7XG4gICAgZGlzcGxheSA6IGJsb2NrO1xuICAgIGNvbG9yICAgOiAkY29sb3Itd2hpdGU7XG4gICAgcGFkZGluZyA6ICRzcGFjaW5nLXNtYWxsO1xuICB9XG59XG4iLCIuY2FyZCB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JheS1saWdodDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlcmlmO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1tZWRpdW07XG59XG5cbi5jYXJkX19saW5rIHtcbiAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xufVxuXG4uY2FyZC0tc21hbGwge1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2Utb3V0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbn1cblxuLmNhcmQtLXNtYWxsIC5jYXJkX19jb250ZW50IHtcbiAgcGFkZGluZzogcmVtLWNhbGMoMTYpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiA1MCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcmQtLXNtYWxsOmhvdmVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWRlZXA7XG4gIHRvcDogLTEwcHg7XG59XG5cbkBtZWRpYSAjeyRtZWRpdW0tdXB9e1xuICAuY2FyZC0tc21hbGwgLmNhcmRfX2NvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufSIsIi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcGFkZGluZzogcmVtLWNhbGMoMiA2IDEgNik7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1ncmF5LWxpZ2h0O1xuICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICBjb2xvcjogJGNvbG9yLWdyYXktZGFya2VyO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBmb250LWZhbWlseTogJGZvbnRiYXNlO1xuICBmb250LXNpemU6ICRmb250c2l6ZS10aW55O1xuICBmb250LXdlaWdodDogJGZvbnR3ZWlnaHQtaGVhdnk7XG59IiwiLnNlYXJjaC1maWx0ZXItd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1ncmF5LWJyaWdodDtcbiAgcGFkZGluZzogJHNwYWNpbmctc21hbGw7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXNtYWxsXG59XG5cbi5zZWFyY2gtZmlsdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLXNtYWxsO1xufVxuXG4uc2VhcmNoLWZpbHRlcl9fbGFiZWwge1xuICBmb250LXNpemU6ICRmb250c2l6ZS1iYXNlO1xuICBjb2xvcjogJGNvbG9yLWdyYXktZGVlcDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy10aW55O1xufVxuXG4uc2VhcmNoLWZpbHRlcl9fbGFiZWwtLWFwcGVuZCB7XG4gIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy10aW55O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uc2VhcmNoLWZpbHRlcl9fc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEzcHg7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICBwYWRkaW5nOiAwIDIwcHggMCAwO1xuICBoZWlnaHQ6IGF1dG87XG4gIGZvbnQtc2l6ZTogJGZvbnRzaXplLXNtYWxsO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbiA6IG1pZGRsZTtcbn1cblxuLnNlYXJjaC1maWx0ZXJzIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2woMyk7XG4gIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLWxhcmdlciAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIG9ubHkpe1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLXNtYWxsICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCggc21hbGwgb25seSApe1xuICAuc2VhcmNoLWZpbHRlcnMtLXNtYWxsIHtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy1zbWFsbDtcbiAgfVxufVxuXG4uc2VhcmNoLWZpbHRlcnNfX2RhdGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KCBzbWFsbCBvbmx5ICl7XG4gICAgbWFyZ2luOiAkc3BhY2luZy1zbWFsbDtcbiAgICBcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpe1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICAgIFxuICAgICYgPiBpbnB1dCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gb25seSl7XG4gICAgPiBpbnB1dCB7XG4gICAgICBmb250LXNpemU6ICRmb250c2l6ZS1zbWFsbGVyO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBvbmx5KXtcbiAgLnNlYXJjaC1maWx0ZXJzLW1vYmlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctc21hbGw7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cblxuaDQuc2VhcmNoLWZpbHRlcnNfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAkZm9udHNpemUtbGFyZ2VyO1xufVxuXG4uc2VhcmNoLWZpbHRlcnNfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAkZm9udHNpemUtYmFzZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250d2VpZ2h0LWhlYXZ5O1xuICBmb250LWZhbWlseTogJGZvbnRiYXNlO1xuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCggc21hbGwgb25seSApe1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7ICBcbiAgfVxufVxuXG4uZmFjZXRzIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uZmFjZXRzX19pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctc21hbGw7XG59XG5cbi5mYWNldHNfX2xpbmsgLnN2Zy1pY29uLWNhbmNlbCB7XG4gIGhlaWdodDogMTZweDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICBmaWxsOiAkY29sb3ItcHJpbWFyeTtcbn1cblxuLnNlYXJjaC1maWx0ZXJfX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwICRzcGFjaW5nLXRpbnk7XG4gIHRyYW5zaXRpb246IGZpbGwgLjJzO1xufVxuXG4uc2VhcmNoLWZpbHRlcl9fYnV0dG9uOm5vdCguaXMtYWN0aXZlKSAuc3ZnLWljb257XG4gIGZpbGw6ICRjb2xvci1ncmF5O1xufVxuXG4uc2VhcmNoLWZpbHRlcl9fYnV0dG9uOmhvdmVyIHtcbiAgZmlsbDogJGNvbG9yLWdyYXktZGVlcDtcbn1cblxuIiwiLnNlYXJjaC1yZXN1bHRzLS1saXN0IHVsIHtcbiAgbWFyZ2luOiAwO1xufVxuLnNlYXJjaC1yZXN1bHRzLS1saXN0IC5yZXN1bHQtaXRlbV9fc3VidGl0bGUge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uc2VhcmNoLXJlc3VsdHMtLWxpc3QgLnJlc3VsdC1pdGVtIHtcbiAgcGFkZGluZzogJHNwYWNpbmctc21hbGxlciAwO1xufVxuXG4uc2VhcmNoLXJlc3VsdHNfX2NvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAkc3BhY2luZy1zbWFsbGVyO1xufVxuXG4uc2VhcmNoLXJlc3VsdHNfX2NvbnRlbnQtLWdyaWQgLnJlc3VsdC1pdGVtIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2woNik7XG4gIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICBwYWRkaW5nOiAwICRzcGFjaW5nLXNtYWxsO1xuICBjbGVhcjogbm9uZTtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLnNlYXJjaC1yZXN1bHRzX19jb250ZW50LS1ncmlkIC5yZXN1bHQtaXRlbTpudGgtY2hpbGQob2RkKSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLnNlYXJjaC1yZXN1bHRzX19jb250ZW50LS1ncmlkIC5yZXN1bHQtaXRlbTpudGgtY2hpbGQoZXZlbikge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvci1ncmF5LWxpZ2h0O1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uc2VhcmNoLXJlc3VsdHNfX2NvdW50IHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctc21hbGw7XG59XG5cbi5zZWFyY2gtcmVzdWx0cyAud2FybmluZyB7XG4gIG1hcmdpbi10b3A6ICRzcGFjaW5nLXNtYWxsO1xufVxuXG4ucmVzdWx0LWl0ZW0ge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBmb250LWZhbWlseTogJGZvbnRiYXNlLXNlcmlmO1xuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtIHVwICl7XG4gICAgcGFkZGluZzogJHNwYWNpbmctc21hbGxlcjtcbiAgfVxufVxuXG4ucmVzdWx0LWl0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JheS1saWdodGVyO1xufVxuXG4ucmVzdWx0LWl0ZW1fX3N1YnRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250d2VpZ2h0LWhlYXZ5O1xuICBjb2xvcjogJGNvbG9yLWdyYXktZGFya2VyO1xuICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctc21hbGxlcjtcbn1cblxuLnJlc3VsdC1pdGVtX19zdWJ0aXRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA2cHg7XG4gIGhlaWdodDogNnB4O1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1yaWdodDogJHNwYWNpbmctdGlueTtcbn1cblxuLnJlc3VsdC1pdGVtX19kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiAkY29sb3ItZ3JheS1kYXJrZXI7XG59IiwiLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbWVkaXVtO1xuICBtYXJnaW4tdG9wIDogJHNwYWNpbmctbWVkaXVtO1xufVxuXG4ucGFnaW5hdGlvbiBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy1zbWFsbGVyO1xuICBmb250LXNpemU6ICRmb250c2l6ZS1sYXJnZTtcbn1cblxuLnBhZ2luYXRpb24gbGkgYSB7XG4gIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgcGFkZGluZzogMCAkc3BhY2luZy10aW55XG59XG5cbi5wYWdpbmF0aW9uIGE6aG92ZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLXByaW1hcnk7XG59XG5cbiAgLnBhZ2luYXRpb25fX3ByZXZpb3VzIC5zdmctaWNvbixcbiAgLnBhZ2luYXRpb25fX25leHQgLnN2Zy1pY29uIHtcbiAgICBmaWxsOiAkY29sb3ItcHJpbWFyeTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gIH1cblxuICAucGFnaW5hdGlvbl9fcHJldmlvdXMuaXMtZGlzYWJsZWQgLnN2Zy1pY29uLFxuICAucGFnaW5hdGlvbl9fbmV4dC5pcy1kaXNhYmxlZCAuc3ZnLWljb24ge1xuICAgIGZpbGw6ICRjb2xvci1ncmF5LWxpZ2h0O1xuICB9XG5cbiIsIi5jYWxlbmRhci1uYXZfX2J1dHRvbiB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmNhbGVuZGFyLW5hdntcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCggc21hbGwgb25seSApe1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGxlZnQ6IC01MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpsYXN0LWNoaWxke1xuICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctbGFyZ2U7XG4gICAgfVxuICB9XG59XG5cbi5jYWxlbmRhci1uYXZfX3NlbGVjdHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogcmVtLWNhbGMoMTAwKTtcbiAgbWFyZ2luOiAwIDZweCAwIDZweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtIHVwICl7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDE4NSk7XG4gIH1cbn1cblxuLmNhbGVuZGFyLWxpc3Qge1xuICBjbGVhcjogYm90aDtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbiAgLmNhbGVuZGFyLWxpc3RfX2hlYWRpbmcge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6ICRmb250c2l6ZS1sYXJnZTtcbiAgICBmb250LXdlaWdodDogJGZvbnR3ZWlnaHQtaGVhdnk7XG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmF5LWJyaWdodDtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy1zbWFsbGVyO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXNtYWxsZXI7XG4gIH1cblxuICAuY2FsZW5kYXItbGlzdF9fbW9udGgge1xuICAgIG1hcmdpbjogJHNwYWNpbmctbGFyZ2UgMCAwIDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gb25seSApe1xuICAgICAgJjpudGgtY2hpbGQoM24rMSl7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICAgLmNhbGVuZGFyLWxpc3RfX2l0ZW1zIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICAgLmNhbGVuZGFyLWxpc3RfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy1zbWFsbCAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLXNlcGFyYXRvcjtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5LWRhcms7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogei1pbmRleCAuMDFzO1xuICAgICAgfVxuXG4gICAgICAgIC5jYWxlbmRhci1saXN0X190aXRsZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250YmFzZS1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6ICRmb250c2l6ZS1sYXJnZTtcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnR3ZWlnaHQtaGVhdnk7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FsZW5kYXItbGlzdF9fZGF0ZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAkZm9udHNpemUtc21hbGw7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYWxlbmRhci1saXN0X190aXRsZSxcbiAgICAgICAgLmNhbGVuZGFyLWxpc3RfX2RhdGUge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhbGVuZGFyLWxpc3RfX2FjdGlvbnMge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg4MCkgMCAwIDA7XG4gICAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgIGhlaWdodDogMHB4O1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMHMgLCBvcGFjaXR5IDBzLCBib3gtc2hhZG93IDBzO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhbGVuZGFyLWxpc3RfX2FjdGlvbnMgLnN2Zy1pY29uLXN1bW1hcnkge1xuICAgICAgICAgIHdpZHRoOiAxN3B4O1xuICAgICAgICAgIGhlaWdodDogMTdweDtcbiAgICAgICAgfVxuXG4gICAgICAuY2FsZW5kYXItbGlzdF9faXRlbTpob3ZlciB7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICB0cmFuc2l0aW9uOiB6LWluZGV4IC4wMXMgLjFzO1xuICAgICAgfVxuXG4gICAgICAuY2FsZW5kYXItbGlzdF9faXRlbTpob3ZlciAuY2FsZW5kYXItbGlzdF9fYWN0aW9ucyB7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTMwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctZGVlcDtcbiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IC4ycyAsIG9wYWNpdHkgLjJzLCBib3gtc2hhZG93IC4ycztcbiAgICAgIH0iLCIubmF2LXRvb2xiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy1zbWFsbDtcbiAgfVxufVxuXG4ubmF2LXRvb2xiYXIgaDEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgcGFkZGluZzogMCA0MHB4O1xuICAgIGZvbnQtc2l6ZTogJGZvbnRzaXplLWxhcmdlcjtcbiAgfVxufVxuXG4ubmF2LXRvb2xiYXJfX3ByZXYsXG4ubmF2LXRvb2xiYXJfX25leHQsXG4ubmF2LXRvb2xiYXJfX3ByaW50LFxuLm5hdi10b29sYmFyX19zdW1tYXJ5e1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXByaW1hcnk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoNTAlIC0gI3skc3BhY2luZy1zbWFsbH0pO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgLnN2Zy1pY29uIHtcbiAgICBmaWxsOiAkY29sb3ItcHJpbWFyeTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xuICB9XG5cbiAgJjpob3ZlciAuc3ZnLWljb24ge1xuICAgIGZpbGw6ICRjb2xvci13aGl0ZTtcbiAgfVxufVxuXG4ubmF2LXRvb2xiYXJfX25hdmlnYXRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAkc3BhY2luZy1zbWFsbDtcbn1cblxuLm5hdi10b29sYmFyX19wcmV2IHtcbiAgbGVmdDogMDtcbn1cblxuLm5hdi10b29sYmFyX19uZXh0IHtcbiAgcmlnaHQ6IDA7XG59XG5cbi5uYXYtdG9vbGJhcl9fc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxufVxuXG4ubmF2LXRvb2xiYXJfX25hdmlnYXRpb24gLnNlcGFyYXRvciB7XG4gIGhlaWdodDogMzBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICBib3JkZXItbGVmdDogMXB4ICNlYmViZWIgc29saWQ7XG4gIG1hcmdpbjogMCAkc3BhY2luZy1zbWFsbGVyO1xufVxuXG4ubmF2LXRvb2xiYXItLWFydGljbGUge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1zbWFsbDtcbn1cblxuLm5hdi10b29sYmFyLS1hcnRpY2xlIC5uYXYtdG9vbGJhcl9fcHJldiAsXG4ubmF2LXRvb2xiYXItLWFydGljbGUgLm5hdi10b29sYmFyX19uZXh0LFxuLm5hdi10b29sYmFyLS1hcnRpY2xlIC5uYXYtdG9vbGJhcl9fcHJpbnQsXG4ubmF2LXRvb2xiYXItLWFydGljbGUgLm5hdi10b29sYmFyX19zdW1tYXJ5e1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNmb3JtOiBub25lO1xuXG59XG5cbi5uYXYtdG9vbGJhci0tYXJ0aWNsZSAubmF2LXRvb2xiYXJfX3ByaW50IC5zdmctaWNvbixcbi5uYXYtdG9vbGJhci0tYXJ0aWNsZSAubmF2LXRvb2xiYXJfX3N1bW1hcnkgLnN2Zy1pY29uIHtcbiAgd2lkdGg6IDIxcHg7XG59XG5cblxuLm5hdi10b29sYmFyIC5zdmctaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICBmaWxsOiAkY29sb3ItcHJpbWFyeTtcbiAgdHJhbnNpdGlvbjogLjJzIGVhc2Utb3V0O1xufVxuXG4ubmF2LXRvb2xiYXJfX3RoZW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1ncmF5LWRhcms7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHBhZGRpbmc6ICRzcGFjaW5nLXRpbnkgJHNwYWNpbmctc21hbGxlcjtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6ICRmb250c2l6ZS1sYXJnZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoIHNtYWxsIG9ubHkgKXtcbiAgICBsaW5lLWhlaWdodDogMS4ycmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCBzbWFsbCBvbmx5ICl7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgZm9udC1zaXplOiAkZm9udHNpemUtc21hbGw7XG4gICAgfVxuXG4gIH1cbn1cblxuLm5hdi10b29sYmFyX190aGVtZSAuc3ZnLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBmaWxsOiAkY29sb3Itd2hpdGU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGhlaWdodDogMTJweDtcbn1cblxuQG1lZGlhICN7JG1lZGl1bS11cH17XG4gIC5uYXYtdG9vbGJhcl9fcHJldixcbiAgLm5hdi10b29sYmFyX19uZXh0LFxuICAubmF2LXRvb2xiYXJfX3ByaW50LFxuICAubmF2LXRvb2xiYXJfX3N1bW1hcnl7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBtYXJnaW46IDAgJHNwYWNpbmctc21hbGxlcjtcbiAgfVxuXG4gIC5uYXYtdG9vbGJhcl9fbmF2aWdhdGlvbiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLm5hdi10b29sYmFyX190aGVtZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAubmF2LXRvb2xiYXJfX25hdmlnYXRpb24gLnNlcGFyYXRvciB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICB9XG59XG5cbi5uYXYtdG9vbGJhcl9fbGFiZWwge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4ubmF2LXRvb2xiYXJfX2Rpc3BsYXkgc3ZnIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLm5hdi10b29sYmFyX19kaXNwbGF5LmlzLWFjdGl2ZSBzdmcge1xuICBvcGFjaXR5OiAxO1xufSIsIi5tZXRhcyB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1ncmF5LWJyaWdodDtcbiAgcGFkZGluZzogJHNwYWNpbmctc21hbGxlcjtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctc21hbGw7XG59XG5cbi5tZXRhcyB1bCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLm1ldGEge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1zbWFsbGVyO1xuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCggc21hbGwgIG9ubHkpe1xuICAgIGxpbmUtaGVpZ2h0OiAxLjNyZW07XG4gIH1cbn1cblxuLm1ldGFfX2xhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgY29sb3I6ICRjb2xvci1ncmF5LWRlZXA7XG59XG5cbi5tZXRhX192YWx1ZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIG9ubHkpe1xuICAubWV0YSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTZweDtcbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSB1cCl7XG4gIC5tZXRhIHtcbiAgICB3aWR0aDogMzMlO1xuICB9XG59XG5cbkBtZWRpYSAjeyRtZWRpdW0tdXB9e1xuXG4gIC5tZXRhX19sYWJlbCB7XG4gICAgd2lkdGg6IDU1JTtcbiAgfVxuXG4gIC5tZXRhX192YWx1ZSB7XG4gICAgd2lkdGg6IDQ1JTtcbiAgfVxufSIsIi5pY29uLWhpbnQge1xuICBmaWxsOiAkY29sb3ItcHJpbWFyeTtcbn1cblxuLnN2Zy1pY29uIHtcbiAgZmlsbDogJGNvbG9yLWdyYXktZGFya2VyO1xufSIsIi5uYXYtYXJ0aWNsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm5hdi1hcnRpY2xlX19wcmludCxcbi5uYXYtYXJ0aWNsZV9fcHJldmlvdXMsXG4ubmF2LWFydGljbGVfX3N1bW1hcnksXG4ubmF2LWFydGljbGVfX25leHQsXG4ubmF2LWFydGljbGVfX2ljb24sXG4ubmF2LWFydGljbGVfX3RleHRcbntcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubmF2LWFydGljbGVfX3RleHQge1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcbn1cblxuLm5hdi1hcnRpY2xlX19wcmV2aW91cyxcbi5uYXYtYXJ0aWNsZV9fbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBmaWxsOiAkY29sb3ItcHJpbWFyeTtcbn1cblxuLm5hdi1hcnRpY2xlX19wcmV2aW91cyB7XG4gIGxlZnQ6IDA7XG59XG5cbi5uYXYtYXJ0aWNsZV9fbmV4dCB7XG4gIHJpZ2h0IDogMDtcbn1cblxuLm5hdi1hcnRpY2xlX19wcmludCxcbi5uYXYtYXJ0aWNsZV9fc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLXByaW1hcnk7XG59XG5cbi5uYXYtYXJ0aWNsZV9fcHJpbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXNtYWxsO1xufSIsIi5pbnB1dHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaW5wdXQtLXNlYXJjaCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1nL2ljb25zL2ljb24tc2VhcmNoLnN2ZycpIG5vLXJlcGVhdCAwIDUwJTtcbiAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy1sYXJnZSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6ICRmb250c2l6ZS1sYXJnZTtcbn1cblxuLmlucHV0LS1zZWFyY2g6Zm9jdXMge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcbn1cbi5pbnB1dC0tbWluaW1hbCB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1pbnB1dC1ib3JkZXI7XG4gIHBhZGRpbmc6ICRzcGFjaW5nLXNtYWxsZXIgMDtcbn1cblxuLmlucHV0LmlzLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5pbnB1dC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogJGZvbnRzaXplLWJhc2U7XG59XG5cbmxhYmVsLmlzLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy1zbWFsbGVyO1xufVxuXG5zZWxlY3QuaXMtaW5saW5lIHtcbiAgcGFkZGluZy1yaWdodDogJHNwYWNpbmctc21hbGw7XG4gIGJhY2tncm91bmQtcG9zaXRpb24teDogY2FsYygxMDAlICsgI3skc3BhY2luZy1zbWFsbH0pO1xufVxuXG4uaW5wdXQtLXNhbHV0YXRpb24ge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigyKTtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5pbnB1dC0tbGFzdF9uYW1lIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNSk7XG59XG5cbi5pbnB1dC0tZmlyc3RfbmFtZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKDUpO1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4uaW5wdXQtLWVtYWlsIHtcbiAgY2xlYXI6IGJvdGg7XG59IiwiLmRhdGVwaWNrZXIge1xufVxuXG4uZGF0ZXBpY2tlcl9fYnV0dG9uIHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgYmFja2dyb3VuZCAgICAgICAgICA6IHVybCgnLi4vaW1nL2ljb25zL2ljb24tY2FsZW5kYXIuc3ZnJykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemUgICAgIDogMjRweCAyNHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogcmlnaHQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLW9yaWdpbiAgIDogY29udGVudC1ib3g7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICRzcGFjaW5nLXNtYWxsZXI7XG4gIGJvdHRvbTogN3B4O1xufVxuXG4uZGF0ZXBpY2tlcjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG59XG5cbnNlbGVjdC5waWNrZXJfX3NlbGVjdC0tbW9udGgsXG5zZWxlY3QucGlja2VyX19zZWxlY3QtLXllYXIge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbn0iLCIucmVsYXRlZC1maWxlcyB7XG4gIG1hcmdpbjogJHNwYWNpbmctbGFyZ2UgMDtcbn1cblxuLnJlbGF0ZWQtZmlsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDgwcHg7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLWdyYXktbGlnaHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctc21hbGxcbn1cblxuLnJlbGF0ZWQtZmlsZTpudGgtY2hpbGQoNG4rMSkge1xuICBib3JkZXItbGVmdDogMHB4O1xufVxuXG4ucmVsYXRlZC1maWxlOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnJlbGF0ZWQtZmlsZTpob3ZlciArIC5yZWxhdGVkLWZpbGUge1xuICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5yZWxhdGVkLWZpbGVfX2NvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdG9wOiA1MCU7XG4gIHBhZGRpbmc6ICRzcGFjaW5nLXNtYWxsO1xufVxuXG4ucmVsYXRlZC1maWxlX19pY29uIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nLXRvcDogNHB4O1xufVxuXG4ucmVsYXRlZC1maWxlX19pY29uLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTQwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1vdXQ7XG59XG5cbi5yZWxhdGVkLWZpbGU6aG92ZXIgLnJlbGF0ZWQtZmlsZV9faWNvbi1jb250ZW50e1xuICB0b3A6IDA7XG59XG5cbi5yZWxhdGVkLWZpbGVfX2ljb24sXG4ucmVsYXRlZC1maWxlX19pbmZvcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnJlbGF0ZWQtZmlsZV9faW5mb3Mge1xuICBcbn1cblxuLnJlbGF0ZWQtZmlsZV9fbmFtZSB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udHdlaWdodC1zZW1pO1xufVxuXG4ucmVsYXRlZC1maWxlX19zaXplIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAkY29sb3ItZ3JheS1kYXJrO1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuICBmb250LXNpemU6ICRmb250c2l6ZS1zbWFsbDtcbn0iLCJcbi50b29sdGlwIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXJlZDtcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICRjb2xvci1yZWQsIHVwKTtcbiAgfVxuXG4gICYudG9wOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICRjb2xvci1yZWQsIGRvd24pO1xuICB9XG5cbiAgJi5sZWZ0OjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICRjb2xvci1yZWQsIHJpZ2h0KTtcbiAgfVxuXG4gICYucmlnaHQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJGNvbG9yLXJlZCwgbGVmdCk7XG4gIH1cblxuICAucmVkIHtcbiAgICBjb2xvcjogJGNvbG9yLXJlZDtcbiAgICBmb250LXdlaWdodDogJGZvbnR3ZWlnaHQtaGVhdnk7XG4gIH1cbn1cblxuLmhhcy10aXAge1xuICBjb2xvcjogJGNvbG9yLXJlZDtcbiAgZm9udC1zaXplOiAxLjhlbTtcbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNBTElHTk1FTlQgSEVMUEVSU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm9iamVjdC1sZWZ0LFxuLnUtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ub2JqZWN0LWxlZnQsXG4ub2JqZWN0LXJpZ2h0e1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1sYXJnZTtcbn1cblxuLm9iamVjdC1yaWdodCxcbi51LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4udS10ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnUtdGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udS1jbGVhciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBjbGVhcjogYm90aDtcbn1cblxuLnUtY2Yge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuQG1lZGlhICN7JHNtYWxsLW9ubHl9e1xuICAudS1jbGVhclNtYWxsIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gIC51LXRleHQtY2VudGVyU21hbGwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI0dSSUQgSEVMUEVSU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnUtd3JhcHBlciB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCk7XG59XG5cbi51LXdyYXBwZXItaW5uZXIge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG59XG5cbi51LWhhbGYge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbig2KTtcbn1cblxuLnUtcXVhcnRlciB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKDMpO1xufVxuXG4udS1jb2xsYXBzZSB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtIG9ubHkgKXtcbiAgLnUtdGhpcmRUYWIge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDQpO1xuICB9XG4gIFxuICAudS1oYWxmVGFiIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig2KTtcbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gdXAgKXtcbiAgLnUtaGFsZlRhYlVwIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig2KTtcbiAgfVxuXG4gIC51LXRoaXJkVGFiVXAge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDQpO1xuICB9XG5cbiAgLnUtcXVhcnRlclRhYlVwIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigzKTtcbiAgfVxuXG4gIC51LXNpeHRoVGFiVXAge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDIpO1xuICB9XG5cbiAgLnUtdHdvdGhpcmRzVGFiVXB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oOCk7XG4gIH1cblxuICAudS1uaW5lVGFiVXB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oOSk7XG4gIH1cblxuICAudS1maXZlc2l4dGhUYWJVcHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMCk7XG4gIH1cblxuICAudS1vbmVzaXh0aFRhYlVwe1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDIpO1xuICB9XG5cbiAgLnUtZW5kVGFiVXAge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KCBsYXJnZSB1cCApe1xuICAudS1zaXh0aExhcmdlIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigyKTtcbiAgfVxuICBcbiAgLnUtdGhpcmRMYXJnZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gIH1cbn1cblxuLnUtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KCBsYXJnZSB1cCApIHtcbiAgLnUtaGFsZkxhcmdlVXAge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuICB9XG4gIFxuICAudS10aGlyZExhcmdlVXAge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDQpO1xuICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoIHNtYWxsKXtcbiAgLnUtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMCAkc3BhY2luZy1zbWFsbDtcbiAgICBcbiAgICAudS13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLXJvdy13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSByb3cuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHdpZHRoOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01hcHxudWxsfSAkZ3V0dGVyIFtudWxsXSAtIEd1dHRlciB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgdGhlIG1hcmdpbnMuIFNldCB0byBgbnVsbGAgdG8gcmVmZXIgdG8gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzLlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyB7XG4gICAgJGd1dHRlcjogKCQtemYtemVyby1icmVha3BvaW50OiAkZ3V0dGVyKTtcbiAgfVxuICBtYXgtd2lkdGg6IG5vbmU7XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygkdmFsdWUpIC8gMiAqIC0xO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gRGlyZWN0aW9uIGFuZCBhbW91bnQgdG8gbW92ZS4gVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnQgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC4gU2V0IHRvIGNlbnRlciB0byBjZW50ZXIgdGhlIGNvbHVtbi5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI1ZJU0lCSUxJVFkgSEVMUEVSU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnUtaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi51LWhpZGUtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMDtcbn1cblxuLnUtaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xufVxuXG4udS12aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnUtdmlzdWFsbHloaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNURVhUIEhFTFBFUlNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51LXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtIDogdXBwZXJjYXNlO1xufVxuXG4udS10ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ24gOiBjZW50ZXI7XG59XG5cbi51LWVsbGlwc2lzOmFmdGVyIHtcbiAgY29udGVudDogJ1xcMjAyNic7XG59XG5cbi51LXVuZGVybGluZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI0xJU1QgSEVMUEVSU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnUtbm8tYnVsbGV0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59IiwiLnUtY2hyb21sZXNzIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn0iLCIudS1wYW5lbCB7XG4gIHBhZGRpbmc6ICRzcGFjaW5nLXNtYWxsO1xuICBtYXJnaW4tdG9wOiAkc3BhY2luZy1sYXJnZXI7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLWxhcmdlcjtcbiAgYmFja2dyb3VuZDogJGNvbG9yLWdyYXktbGlnaHRlcjtcbn1cblxuQG1lZGlhICN7JG1lZGl1bS11cH17XG4gIC51LXBhbmVsIHtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy1sYXJnZXI7XG4gIH1cbn0iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */
=======
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:not-allowed}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.foundation-mq{font-family:"small=0em&medium=48em&large=64em&xlarge=75em&xxlarge=90em"}html{font-size:100%;box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{padding:0;margin:0;font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5;color:#515151;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;-ms-interpolation-mode:bicubic;display:inline-block;vertical-align:middle}textarea{height:auto;min-height:50px;border-radius:0}select{width:100%}#map_canvas embed,#map_canvas img,#map_canvas object,.map_canvas embed,.map_canvas img,.map_canvas object,.mqa-display embed,.mqa-display img,.mqa-display object{max-width:none!important}button{-webkit-appearance:none;-moz-appearance:none;background:transparent;padding:0;border:0;border-radius:0;line-height:1}[data-whatinput=mouse] button{outline:0}.is-visible{display:block!important}.is-hidden{display:none!important}blockquote,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,pre,td,th,ul{margin:0;padding:0}p{font-size:inherit;line-height:1.6;margin-bottom:1rem;text-rendering:optimizeLegibility}em,i{font-style:italic}b,em,i,strong{line-height:inherit}b,strong{font-weight:700}small{font-size:80%;line-height:inherit}h1,h2,h3,h4,h5,h6{font-family:Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-weight:400;font-style:normal;color:inherit;text-rendering:optimizeLegibility;margin-top:0;margin-bottom:.5rem;line-height:1.4}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#cacaca;line-height:0}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.1875rem}h4{font-size:1.125rem}h5{font-size:1.0625rem}h6{font-size:1rem}@media screen and (min-width:48em){h1{font-size:3rem}h2{font-size:2.5rem}h3{font-size:1.9375rem}h4{font-size:1.5625rem}h5{font-size:1.25rem}h6{font-size:1rem}}a{color:#2199e8;text-decoration:none;line-height:inherit;cursor:pointer}a:focus,a:hover{color:#1585cf}a img{border:0}hr{max-width:75rem;height:0;border-right:0;border-top:0;border-bottom:1px solid #cacaca;border-left:0;margin:1.25rem auto;clear:both}dl,ol,ul{line-height:1.6;margin-bottom:1rem;list-style-position:outside}li{font-size:inherit}ul{list-style-type:disc}ol,ul{margin-left:1.25rem}ol ol,ol ul,ul ol,ul ul{margin-left:1.25rem;margin-bottom:0}dl{margin-bottom:1rem}dl dt{margin-bottom:.3rem;font-weight:700}blockquote{margin:0 0 1rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #cacaca}blockquote,blockquote p{line-height:1.6;color:#8a8a8a}cite{display:block;font-size:.8125rem;color:#8a8a8a}cite:before{content:"\2014 \0020"}abbr{color:#515151;cursor:help;border-bottom:1px dotted #0a0a0a}code{font-weight:400;border:1px solid #cacaca;padding:.125rem .3125rem .0625rem}code,kbd{font-family:Consolas,Liberation Mono,Courier,monospace;color:#0a0a0a;background-color:#e6e6e6}kbd{padding:.125rem .25rem 0;margin:0}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:400;line-height:1.4;color:#8a8a8a}.lead{font-size:125%;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}.no-bullet{margin-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}@media screen and (min-width:48em){.medium-text-left{text-align:left}.medium-text-right{text-align:right}.medium-text-center{text-align:center}.medium-text-justify{text-align:justify}}@media screen and (min-width:64em){.large-text-left{text-align:left}.large-text-right{text-align:right}.large-text-center{text-align:center}.large-text-justify{text-align:justify}}.show-for-print{display:none!important}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}.show-for-print{display:block!important}.hide-for-print{display:none!important}table.show-for-print{display:table!important}thead.show-for-print{display:table-header-group!important}tbody.show-for-print{display:table-row-group!important}tr.show-for-print{display:table-row!important}td.show-for-print,th.show-for-print{display:table-cell!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}abbr[title]:after{content:" (" attr(title) ")"}blockquote,pre{border:1px solid #8a8a8a;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}[type=color],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],textarea{display:block;box-sizing:border-box;width:100%;height:2.4375rem;padding:.5rem;border:1px solid #cacaca;margin:0 0 1rem;font-family:inherit;font-size:1rem;color:#0a0a0a;background-color:#fefefe;box-shadow:0;border-radius:0;transition:box-shadow .5s,border-color .25s ease-in-out;-webkit-appearance:none;-moz-appearance:none}[type=color]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=datetime]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,textarea:focus{border:1px solid #2199e8;background-color:#fefefe;outline:none;box-shadow:0;transition:box-shadow .5s,border-color .25s ease-in-out}textarea{max-width:100%}textarea[rows]{height:auto}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#cacaca}input::placeholder,textarea::placeholder{color:#cacaca}input:disabled,input[readonly],textarea:disabled,textarea[readonly]{background-color:#e6e6e6;cursor:default}[type=button],[type=submit]{border-radius:0;-webkit-appearance:none;-moz-appearance:none}input[type=search]{box-sizing:border-box}[type=checkbox],[type=file],[type=radio]{margin:0 0 1rem}[type=checkbox]+label,[type=radio]+label{display:inline-block;margin-left:.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline}[type=checkbox]+label[for],[type=radio]+label[for]{cursor:pointer}label>[type=checkbox],label>[type=radio]{margin-right:.5rem}[type=file]{width:100%}label{display:block;margin:0;font-size:.875rem;font-weight:400;line-height:1.8;color:#0a0a0a}label.middle{margin:0 0 1rem;padding:.5625rem 0}.help-text{margin-top:-.5rem;font-size:.8125rem;font-style:italic;color:#0a0a0a}.input-group{display:table;width:100%;margin-bottom:1rem}.input-group>:first-child,.input-group>:last-child>*{border-radius:0 0 0 0}.input-group-button,.input-group-field,.input-group-label{margin:0;white-space:nowrap;display:table-cell;vertical-align:middle}.input-group-label{text-align:center;padding:0 1rem;background:#e6e6e6;color:#0a0a0a;border:1px solid #cacaca;white-space:nowrap;width:1%;height:100%}.input-group-label:first-child{border-right:0}.input-group-label:last-child{border-left:0}.input-group-field{border-radius:0;height:2.5rem}.input-group-button{padding-top:0;padding-bottom:0;text-align:center;height:100%;width:1%}.input-group-button a,.input-group-button button,.input-group-button input{margin:0}.input-group .input-group-button{display:table-cell}fieldset{border:0;padding:0;margin:0}legend{margin-bottom:.5rem;max-width:100%}.fieldset{border:1px solid #cacaca;padding:1.25rem;margin:1.125rem 0}.fieldset legend{background:#fff;padding:0 .1875rem;margin:0;margin-left:-.1875rem}select{height:2.4375rem;padding:.5rem;border:1px solid #cacaca;margin:0 0 1rem;font-size:1rem;font-family:inherit;line-height:normal;color:#0a0a0a;background-color:#fefefe;border-radius:0;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");background-size:9px 6px;background-position:right -1rem center;background-origin:content-box;background-repeat:no-repeat;padding-right:1.5rem}@media screen and (min-width:0\0){select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==")}}select:disabled{background-color:#e6e6e6;cursor:default}select::-ms-expand{display:none}select[multiple]{height:auto;background-image:none}.is-invalid-input:not(:focus){background-color:rgba(236,88,64,.1);border-color:#ec5840}.form-error,.is-invalid-label{color:#ec5840}.form-error{display:none;margin-top:-.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:700}.form-error.is-visible{display:block}table{width:100%;margin-bottom:1rem;border-radius:0}table tbody,table tfoot,table thead{border:1px solid #f1f1f1;background-color:#fefefe}table caption{font-weight:700;padding:.5rem .625rem .625rem}table thead{background:#f8f8f8;color:#0a0a0a}table tfoot{background:#f1f1f1;color:#515151}table tfoot tr,table thead tr{background:transparent}table tfoot td,table tfoot th,table thead td,table thead th{padding:.5rem .625rem .625rem;font-weight:700;text-align:left}table tbody tr:nth-child(2n){background-color:#f1f1f1}table tbody td,table tbody th{padding:.5rem .625rem .625rem}@media screen and (max-width:63.9375em){table.stack tfoot,table.stack thead{display:none}table.stack td,table.stack th,table.stack tr{display:block}table.stack td{border-top:0}}table.scroll{display:block;width:100%;overflow-x:auto}table.hover thead tr:hover{background-color:#f3f3f3}table.hover tfoot tr:hover{background-color:#ececec}table.hover tbody tr:hover{background-color:#f9f9f9}table.hover tbody tr:nth-of-type(2n):hover{background-color:#ececec}.table-scroll{overflow-x:auto}.table-scroll table{width:auto}.hide{display:none!important}.invisible{visibility:hidden}@media screen and (max-width:47.9375em){.hide-for-small-only{display:none!important}}@media screen and (max-width:0em),screen and (min-width:48em){.show-for-small-only{display:none!important}}@media screen and (min-width:48em){.hide-for-medium{display:none!important}}@media screen and (max-width:47.9375em){.show-for-medium{display:none!important}}@media screen and (min-width:48em) and (max-width:63.9375em){.hide-for-medium-only{display:none!important}}@media screen and (max-width:47.9375em),screen and (min-width:64em){.show-for-medium-only{display:none!important}}@media screen and (min-width:64em){.hide-for-large{display:none!important}}@media screen and (max-width:63.9375em){.show-for-large{display:none!important}}@media screen and (min-width:64em) and (max-width:74.9375em){.hide-for-large-only{display:none!important}}@media screen and (max-width:63.9375em),screen and (min-width:75em){.show-for-large-only{display:none!important}}.show-for-sr,.show-on-focus{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.show-on-focus:active,.show-on-focus:focus{position:static!important;height:auto;width:auto;overflow:visible;clip:auto}.hide-for-portrait,.show-for-landscape{display:block!important}@media screen and (orientation:landscape){.hide-for-portrait,.show-for-landscape{display:block!important}}@media screen and (orientation:portrait){.hide-for-portrait,.show-for-landscape{display:none!important}}.hide-for-landscape,.show-for-portrait{display:none!important}@media screen and (orientation:landscape){.hide-for-landscape,.show-for-portrait{display:none!important}}@media screen and (orientation:portrait){.hide-for-landscape,.show-for-portrait{display:block!important}}.has-tip{border-bottom:1px dotted #8a8a8a;font-weight:700;position:relative;display:inline-block;cursor:help}.tooltip{background-color:#ebebeb;color:#000;font-size:80%;padding:.75rem;position:absolute;z-index:2;top:calc(100% + .6495rem);max-width:10rem!important;border-radius:0}.tooltip:before{border-color:transparent transparent #ebebeb;bottom:100%;position:absolute;left:50%;transform:translateX(-50%)}.tooltip.top:before{border-color:#ebebeb transparent transparent;top:100%;bottom:auto}.tooltip.left:before{border-color:transparent transparent transparent #ebebeb;left:100%}.tooltip.left:before,.tooltip.right:before{bottom:auto;top:50%;transform:translateY(-50%)}.tooltip.right:before{border-color:transparent #ebebeb transparent transparent;left:auto;right:100%}html{font-family:Proxima Nova,sans-serif;font-weight:300}body,html{width:100%;height:100%;min-height:100%;margin:0;padding:0;overflow:auto;overflow:initial}.title-level1,h1,h2{font-family:Droid Serif,Georgia,Times New Roman,serif;font-size:1.75rem;font-weight:700;color:#212121;margin-bottom:1.875rem}.title-level1.has-icon .svg-icon,h1.has-icon .svg-icon,h2.has-icon .svg-icon{display:inline-block;vertical-align:middle;margin-right:.3125rem}@media screen and (max-width:63.9375em){.title-level1,h1,h2{font-size:1.5rem;line-height:1.875rem}}@media screen and (max-width:47.9375em){.title-level1 [id=content] h1,h1 [id=content] h1,h2 [id=content] h1{margin-top:1.25rem}}.subtitle{font-weight:400;font-size:1rem;display:block;clear:both}h2{margin-bottom:.625rem}@media screen and (max-width:63.9375em){h2{font-size:1.5rem;line-height:1.875rem}}.title-level2{font-size:1.25rem}.title-level3,h3{font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:800;color:#000;font-size:1.125rem;text-transform:uppercase;border-left:4px solid #d40000;padding-left:.625rem;margin:.625rem 0 1.25rem;line-height:1.4rem}@media screen and (min-width:64em){.title-level3,h3{font-size:1.4375rem;margin:1.25rem 0 2.5rem}.title-level3--small,h3--small{font-size:1.125rem}}.body h3{clear:both}.title-level4,h4{border:0;padding:0 0 .625rem;margin-bottom:1.25rem;font-family:Droid Serif,Georgia,Times New Roman,serif;font-size:1.125rem;color:#212121;border-bottom:1px solid #d6d6d6}@media print{.title-level1,h1{font-size:1.33125rem}.title-level2,h2{font-size:1.25rem}html{font-size:.75rem}}.title-panel{margin-bottom:0;font-size:1.125rem;line-height:1.5625rem;text-transform:uppercase}.title-panel-year{font-weight:800;margin-bottom:1.875rem}.title-sitemap a{font-size:1.5rem;color:#515151}select{height:2.5rem;border-color:#d6d6d6;color:#6d6d6d;background-image:url(../img/svg/icon-caret-bottom.svg);background-size:14px 8px}[type=text]{border:1px solid #d6d6d6}input:disabled,input[readonly]{background-color:transparent}input:focus,select:focus{outline-color:#d40000!important}[type=text]:focus{border:1px solid #d40000}.is-required:after{content:"*";color:#2199e8;position:absolute;right:.625rem}a{color:#212121;transition:all .2s}.body a{border-bottom:1px solid #d40000}a:focus,a:hover{color:#d40000}a.is-underlined{border-bottom:1px solid #2199e8}.show-all{text-transform:uppercase;clear:both;display:inline-block;color:#212121;border-bottom:1px solid #d40000;font-size:.6875rem;font-weight:600}.skip-links{left:0;list-style:none;margin:0;padding:0;top:0;z-index:6}.skip-links,.skip-links>li{position:absolute;width:100%}.skip-links a{background-color:#fff;color:#d40000;font-size:.875rem;font-weight:700;padding:.3125rem .625rem;position:absolute;left:-9999px;text-decoration:none}.skip-links a:focus{left:0;outline-color:#d6d6d6}figure{margin:0}.object-left figure{margin-right:1.25rem}.object-right figure{margin-left:1.25rem}[class*=hint--]{position:relative;display:inline-block}[class*=hint--]:after,[class*=hint--]:before{position:absolute;transform:translateZ(0);visibility:hidden;opacity:0;z-index:7;pointer-events:none;transition:.3s ease;transition-delay:0ms}[class*=hint--]:hover:after,[class*=hint--]:hover:before{visibility:visible;opacity:1;transition-delay:.1s}[class*=hint--]:before{content:"";position:absolute;background:transparent;border:6px solid transparent;z-index:8}[class*=hint--]:after{background:#383838;color:#fff;padding:8px 10px;font-size:12px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;line-height:12px;white-space:nowrap}[class*=hint--][aria-label]:after{content:attr(aria-label)}[class*=hint--][data-hint]:after{content:attr(data-hint)}[aria-label=""]:after,[aria-label=""]:before,[data-hint=""]:after,[data-hint=""]:before{display:none!important}.hint--top-left:before,.hint--top-right:before,.hint--top:before{border-top-color:#383838}.hint--bottom-left:before,.hint--bottom-right:before,.hint--bottom:before{border-bottom-color:#383838}.hint--left:before{border-left-color:#383838}.hint--right:before{border-right-color:#383838}.hint--top:before{margin-bottom:-11px}.hint--top:after,.hint--top:before{bottom:100%;left:50%}.hint--top:before{left:calc(50% - 6px)}.hint--top:after{transform:translateX(-50%)}.hint--top:hover:before{transform:translateY(-8px)}.hint--top:hover:after{transform:translateX(-50%) translateY(-8px)}.hint--bottom:before{margin-top:-11px}.hint--bottom:after,.hint--bottom:before{top:100%;left:50%}.hint--bottom:before{left:calc(50% - 6px)}.hint--bottom:after{transform:translateX(-50%)}.hint--bottom:hover:before{transform:translateY(8px)}.hint--bottom:hover:after{transform:translateX(-50%) translateY(8px)}.hint--right:before{margin-left:-11px;margin-bottom:-6px}.hint--right:after{margin-bottom:-14px}.hint--right:after,.hint--right:before{left:100%;bottom:50%}.hint--right:hover:after,.hint--right:hover:before{transform:translateX(8px)}.hint--left:before{margin-right:-11px;margin-bottom:-6px}.hint--left:after{margin-bottom:-14px}.hint--left:after,.hint--left:before{right:100%;bottom:50%}.hint--left:hover:after,.hint--left:hover:before{transform:translateX(-8px)}.hint--top-left:before{margin-bottom:-11px}.hint--top-left:after,.hint--top-left:before{bottom:100%;left:50%}.hint--top-left:before{left:calc(50% - 6px)}.hint--top-left:after{transform:translateX(-100%);margin-left:12px}.hint--top-left:hover:before{transform:translateY(-8px)}.hint--top-left:hover:after{transform:translateX(-100%) translateY(-8px)}.hint--top-right:before{margin-bottom:-11px}.hint--top-right:after,.hint--top-right:before{bottom:100%;left:50%}.hint--top-right:before{left:calc(50% - 6px)}.hint--top-right:after{transform:translateX(0);margin-left:-12px}.hint--top-right:hover:after,.hint--top-right:hover:before{transform:translateY(-8px)}.hint--bottom-left:before{margin-top:-11px}.hint--bottom-left:after,.hint--bottom-left:before{top:100%;left:50%}.hint--bottom-left:before{left:calc(50% - 6px)}.hint--bottom-left:after{transform:translateX(-100%);margin-left:12px}.hint--bottom-left:hover:before{transform:translateY(8px)}.hint--bottom-left:hover:after{transform:translateX(-100%) translateY(8px)}.hint--bottom-right:before{margin-top:-11px}.hint--bottom-right:after,.hint--bottom-right:before{top:100%;left:50%}.hint--bottom-right:before{left:calc(50% - 6px)}.hint--bottom-right:after{transform:translateX(0);margin-left:-12px}.hint--bottom-right:hover:after,.hint--bottom-right:hover:before{transform:translateY(8px)}.hint--large:after,.hint--medium:after,.hint--small:after{white-space:normal;line-height:1.4em}.hint--small:after{width:80px}.hint--medium:after{width:150px}.hint--large:after{width:300px}[class*=hint--]:after{text-shadow:0 -1px 0 #000;box-shadow:4px 4px 8px rgba(0,0,0,.3)}.hint--error:after{background-color:#b34e4d;text-shadow:0 -1px 0 #592726}.hint--error.hint--top-left:before,.hint--error.hint--top-right:before,.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom-left:before,.hint--error.hint--bottom-right:before,.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{background-color:#c09854;text-shadow:0 -1px 0 #6c5328}.hint--warning.hint--top-left:before,.hint--warning.hint--top-right:before,.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom-left:before,.hint--warning.hint--bottom-right:before,.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{background-color:#3986ac;text-shadow:0 -1px 0 #1a3c4d}.hint--info.hint--top-left:before,.hint--info.hint--top-right:before,.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom-left:before,.hint--info.hint--bottom-right:before,.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{background-color:#458746;text-shadow:0 -1px 0 #1a321a}.hint--success.hint--top-left:before,.hint--success.hint--top-right:before,.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom-left:before,.hint--success.hint--bottom-right:before,.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1;visibility:visible}.hint--always.hint--top:before{transform:translateY(-8px)}.hint--always.hint--top:after{transform:translateX(-50%) translateY(-8px)}.hint--always.hint--top-left:before{transform:translateY(-8px)}.hint--always.hint--top-left:after{transform:translateX(-100%) translateY(-8px)}.hint--always.hint--top-right:after,.hint--always.hint--top-right:before{transform:translateY(-8px)}.hint--always.hint--bottom:before{transform:translateY(8px)}.hint--always.hint--bottom:after{transform:translateX(-50%) translateY(8px)}.hint--always.hint--bottom-left:before{transform:translateY(8px)}.hint--always.hint--bottom-left:after{transform:translateX(-100%) translateY(8px)}.hint--always.hint--bottom-right:after,.hint--always.hint--bottom-right:before{transform:translateY(8px)}.hint--always.hint--left:after,.hint--always.hint--left:before{transform:translateX(-8px)}.hint--always.hint--right:after,.hint--always.hint--right:before{transform:translateX(8px)}.hint--rounded:after{border-radius:4px}.hint--no-animate:after,.hint--no-animate:before{transition-duration:0ms}.hint--bounce:after,.hint--bounce:before{transition:opacity .3s ease,visibility .3s ease,transform .3s cubic-bezier(.71,1.7,.77,1.24)}hr,hr.strong{border-bottom:1px solid #d6d6d6}hr.strong{border-width:2px}.separator .separator-design{clear:both;border-bottom:1px solid #d6d6d6;margin:1.25rem 0}.hamburger{display:block;position:relative;margin:0;padding:0;width:22px;height:15px;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:none;border-radius:none;border:none;cursor:pointer;transition:background .3s}.hamburger:focus{outline:none}.hamburger__bar{display:block;position:absolute;top:6px;left:0;right:0;height:3px;background:#d40000}.hamburger__bar:after,.hamburger__bar:before{position:absolute;display:block;left:0;width:100%;height:3px;background-color:#d40000;content:"";transition:top .3s .3s,bottom .3s .3s,transform .3s 0s}.hamburger__bar:before{top:-6px}.hamburger__bar:after{bottom:-6px}.hamburger__label{padding-left:32px;font-size:.875rem;display:block;position:relative;top:-3px}.hamburger--htx{background-color:transparent}.hamburger--htx .hamburger__bar{transition:background 0s .3s}.hamburger--htx .hamburger__bar:after,.hamburger--htx .hamburger__bar:before{transition:top .3s .3s,bottom .3s .3s,transform .3s 0s}.sidebar-button.is-active{background-color:transparent}.sidebar-button.is-active .hamburger__bar{background:none}.sidebar-button.is-active .hamburger__bar:before{top:0;transform:rotate(45deg)}.sidebar-button.is-active .hamburger__bar:after{bottom:0;transform:rotate(-45deg)}.sidebar-button.is-active .hamburger__bar:after,.sidebar-button.is-active .hamburger__bar:before{transition:top .3s 0s,bottom .3s 0s,transform .3s .3s}.breadcrumbs-wrapper{margin-bottom:.625rem}.breadcrumbs,.breadcrumbs-wrapper{vertical-align:middle;display:inline-block}.breadcrumbs{list-style:none;margin:0;float:left}.breadcrumbs .breadcrumbs__item{display:inline-block;color:#515151}.breadcrumbs .breadcrumbs__item:not(:last-child):after{content:"";background:url(../img/icons/icon-arrow-line.svg);width:15px;height:8px;display:inline-block;margin:0 4px;position:relative;top:-1px}.breadcrumbs .breadcrumbs__link{color:#515151;padding-bottom:1px;border-bottom:1px solid #d40000;transition:border-color .2s}.breadcrumbs .breadcrumbs__link:hover{border-bottom-color:#d40000}.header{margin-bottom:2.5rem;background:#fff}@media screen and (min-width:0\0) and (-webkit-min-device-pixel-ratio:0.75),screen and (min-width:0\0) and (min-resolution:72dpi){.header{left:0;transition:left 3s ease-out}.st-menu-open .header{left:300px;transition:left .4s ease-out}}.header__container{padding:6rem 0 .625rem}.header__logo-jdm{position:absolute;left:50%;top:75%;transform:translateX(-50%) translateY(-75%);z-index:1}@media screen and (max-width:63.9375em){.header__logo-jdm svg{width:300px}}.header__burger{left:0;top:100%;padding-left:1.25rem}.header__search-icon{right:0;top:100%;text-align:right;padding-right:1.25rem}.header__search-icon .svg-icon{fill:#d40000}.header__logo-gppm{position:absolute;right:0;top:100%;text-align:right;padding-right:1.25rem;padding-top:5px}.header__trigger{display:table-cell;vertical-align:middle;transform:translateY(-100%);width:210px;height:50px;background:#ebebeb;position:absolute}.header__trigger-content{display:block;position:relative;top:50%;transform:translateY(-50%);color:#515151}.header__lang{position:absolute;top:0;right:0;font-size:.6875rem;padding:.3125rem;transition:all .2s ease-out}.header__lang a{color:#6d6d6d}.header__lang a.current,.header__lang a:hover{color:#d40000}.header{z-index:4;top:0;position:fixed;width:100%;height:auto}.header,.header__container{transition:all .2s ease-in-out}.header__container{margin-bottom:2.5rem}.header__logo-jdm svg{transition:all .2s ease-in-out}@media screen and (max-width:47.9375em){.header__container{margin-bottom:0;padding:0;height:50px}.header{background:#ebebeb;height:50px;padding:0;margin:0}.header .header__logo-jdm svg{height:35px;width:250px;padding:0;margin:0}}@media screen and (min-width:48em) and (max-width:63.9375em){.header__container{margin-bottom:1.5625rem}}@media screen and (min-width:48em){.header--large{height:106px}.header--large .header__container{padding-top:96px}.header--small{background:#ebebeb;height:50px;padding:0;box-shadow:0 15px 50px rgba(0,0,0,.18)}.header--small .header__container{padding-top:40px}.header--small .header__logo-jdm svg{height:35px;padding:0;margin:0}.header--small .header__lang{top:-20px}}.button,.button-group{display:inline-block;vertical-align:middle}.button{text-align:center;line-height:1;cursor:pointer;-webkit-appearance:none;transition:background-color .25s ease-out,color .25s ease-out;border:1px solid transparent;border-radius:0;padding:.85em 1em;margin:0 0 1rem;font-size:.9rem;background-color:#d40000;color:#fefefe;font-size:1rem;position:relative}[data-whatinput=mouse] .button{outline:0}.button:focus,.button:hover{background-color:#1583cc;color:#fefefe}.button__icon{display:inline-block;vertical-align:middle;padding-right:5px}.button__icon--right{padding-right:0;padding-left:5px}.button .svg-icon{fill:#fff}.button--primary-dark,.button:hover{background-color:#a10000}.button--chromless{margin:0}.button--link{border:0}.button--link,.button--link:focus,.button--link:hover{background:none}.button--link:hover .button__text{border-bottom:1px solid #fff}.button--tiny{font-size:.625rem;padding:.3125rem;font-weight:700}.button--small{padding:6px 10px;height:1.875rem}.button--small.has-icon{padding-bottom:5px}.button--large{padding:10px;font-weight:600;font-size:1rem}@media screen and (min-width:64em){.button--large{font-size:1.125rem}}.button--big{padding:1.25rem;font-weight:600;font-size:1.3125rem}.button--hollow,.button--hollow:focus{background-color:transparent;border:1px solid #b1b1b1;border-radius:6px;color:#515151;transition:all .2s}.button--hollow:focus:hover,.button--hollow:hover{border-color:#d40000;color:#d40000;background:transparent}.button--tab{margin-bottom:0;background:none;border:1px solid #d6d6d6;color:#6d6d6d}.button--tab.is-active{border:0;color:#fff;background:#d40000}.button--tab:not(.is-active):focus,.button--tab:not(.is-active):hover{border-color:#d40000;background:none;color:#6d6d6d}.is-square{border-radius:0}.button--hollow .svg-icon{fill:#515151}.button-file{border:1px solid #d40000;padding:1.875rem;display:block;position:relative;max-width:350px;margin:1.875rem auto}@media screen and (max-width:47.9375em){.button-file{padding:1.25rem}}.button-file__icon{display:inline-block;vertical-align:middle;margin-right:1.25rem;fill:#d40000}@media screen and (max-width:47.9375em){.button-file__icon svg{width:40px}}.button-file__icon .svg-icon{fill:#d40000}.button-file__text{font-size:1.3125rem;display:inline-block;vertical-align:middle}@media screen and (min-width:48em) and (max-width:63.9375em){.button-file__text{font-size:1.125rem}}@media screen and (max-width:47.9375em){.button-file__text{font-size:1.1rem}}.button-file__filesize{position:absolute;bottom:0;right:0;padding:.625rem;border-left:1px solid #d40000;border-top:1px solid #d40000;font-weight:700}.button.expanded{display:block;width:100%;margin-left:0;margin-right:0}.button-file--small{padding:1.25rem}.button--bottom{position:absolute;right:0;bottom:0;margin-bottom:0}.button--width{padding:.625rem 3.75rem}.button--width__large{padding:.625rem 5rem}.last-publication__inner{text-align:center;background:hsla(0,0%,100%,.8);padding:2.5rem;box-shadow:0 6px 18px rgba(0,0,0,.18)}.last-publication__number{margin-bottom:0;font-size:1.75rem}.last-publication__date{display:block;padding-bottom:1.25rem}.last-publication__cta{text-transform:uppercase;clear:both;padding:1.25rem;display:inline-block}.last-publication__show-all{display:block;clear:both}.section{clear:both}.section--eden{background:url(../img/background-eden.jpg) no-repeat;background-size:cover;background-position:50%;padding:2.5rem 0}.section__intro{width:100%;float:left;padding-left:.625rem;padding-right:.625rem}@media screen and (min-width:48em){.section__intro{padding-left:.9375rem;padding-right:.9375rem}}.section--list .title-level2{font-weight:400;margin-bottom:1.875rem}.section--list select{width:auto;margin:0 auto;display:block;font-size:1.125rem}@media screen and (max-width:47.9375em){.section--eden{padding:0}}@media screen and (min-width:48em){.section--list{margin:3.125rem 0;padding:1.875rem;background:#f3f3f3}.section__intro{margin:1.25rem 0 0}}.search--journal .search__input-field{width:80%;display:block;float:left}.search--journal .search__actions{width:20%;display:block;float:left;padding-left:.625rem;text-align:center}.search--journal .search__actions .search__button{width:100%;margin:0}.search--journal .search__actions .search__advanced{text-transform:uppercase;font-size:.75rem;font-weight:600}@media screen and (min-width:64em){.search.search--small{margin-top:1.25rem!important}}.search--small:first-child{padding-right:1.25rem!important}.search--embed{float:right;margin-bottom:1.25rem}.search--embed>.input{border:1px solid #d6d6d6}@media screen and (min-width:48em) and (max-width:63.9375em){.search--embed{float:none;display:inline-block;position:relative;left:50%;transform:translateX(-50%);margin-bottom:0;margin-top:-20px}}.search-content .search .input{border:1px solid #d6d6d6;width:calc(100% - 45px)}.search-content .search .button{margin-left:-4px}@media screen and (min-width:48em){.search-content{width:calc(100% - 290px);display:inline-block}}.search.search--embed>input{width:310px}@media screen and (min-width:64em){.search{margin-bottom:1.25rem}}.search>input{display:inline-block;height:2.5rem;padding:.625rem;vertical-align:middle}@media screen and (min-width:64em){.search>input{width:calc(100% - 50px)}}.search>button{display:inline-block;margin-bottom:0;height:2.5rem;vertical-align:middle}.search--with-help{display:inline-block;width:85%}.help{display:inline;width:15%;padding:.625rem}.tooltip{max-width:20rem!important;z-index:4!important}.search--small>input{display:block;width:50%;float:left}.search--small>input{width:60%}.search__button--inline{display:block;float:left;width:calc(50% - 10px);margin-left:10px}.search__button--inline{width:calc(40% - 10px)}.search__button--icon{padding:6px 10px}.search__input-field--large{height:35px;font-size:1.125rem;padding:1.25rem}.search__input-field--big{height:65px;font-size:1.125rem;padding-left:1.25rem}@media screen and (min-width:64em){.search__input-field--big{font-size:1.3125rem}}.search-toolbar__tool{margin-right:3.125rem}@media screen and (min-width:48em) and (max-width:63.9375em){.search-toolbar__tool{margin-right:.625rem}}.search-toolbar__tool .input-append,.search-toolbar__tool label{font-weight:700}.search-toolbar__tool .input-append{margin-left:.625rem}.result-item{display:block;clear:both;color:#6d6d6d;margin-bottom:1.25rem}.result-item:after,.result-item:before{content:" ";display:table}.result-item:after{clear:both}.result-item__title{font-size:1rem;font-weight:700;color:#d40000;padding-bottom:.625rem}.result-item__subtitle{font-size:.875rem}.result-item__description{padding-bottom:.625rem;font-size:.875rem}.result-item__categorie{font-size:.75rem;font-family:Roboto,Helvetica,Arial,sans-serif;text-transform:uppercase}.search-filters--small{position:relative;margin-bottom:.625rem;margin-left:-1.25rem;width:calc(100% + 2.5rem)}.filter-bloc{color:#d40000;display:inline-block;border-top:1px solid #d40000;border-left:1px solid #d40000;border-bottom:1px solid #d40000}.filter-bloc:hover{background:#d40000;color:#fefefe;fill:#fefefe}.filter-bloc:hover .filter-header__icon .svg-icon{fill:#fff}.filter-bloc:first-child{border-left:none}.filter-header{font-size:.6875rem;font-weight:700;text-transform:uppercase;padding:.625rem .3125rem}.filter-content{background-color:#fff;border:1px solid #cacaca;border-radius:0;display:block;font-size:1rem;padding:1rem;position:absolute;visibility:hidden;width:300px;z-index:2;width:100%;color:#fefefe;background:#515151;padding:0;border:none}.filter-content.is-open{visibility:visible}.filter-content ul{margin-bottom:0}.filter-content ul li{display:block;border-bottom:1px solid #6d6d6d;padding:.625rem}.filter-content ul li a{color:#fff}[id=filter--filters] .search-toolbar__tool{margin:0;padding:.625rem 1.25rem;display:block}[id=filter--filters] .input-label{color:#fff}[id=filter--filters] select.is-inline{padding-left:.625rem;padding-right:1.85rem;margin-bottom:0}[id=filter--filters] .search-filter__button.is-active .svg-icon{fill:#d40000}.list-items{margin:0 0 1.25rem}.list-items li{display:block;border-bottom:1px solid #d6d6d6;margin:.625rem 0;padding:.3125rem;vertical-align:top}.list-items li:nth-child(3n){border-right:0!important}.list-items li:before{content:"";background-color:#d40000;width:6px;height:6px;display:inline-block;border-radius:100%;vertical-align:middle;margin-right:.3125rem}@media screen and (min-width:48em){.list-items:not(.thumbnails) li{border-bottom:none;height:auto!important}.list-items.thumbnails li{display:inline-block;width:33.33%;border-bottom:0;border-right:1px solid #d6d6d6;padding-left:1.25rem;margin-left:-6px}}footer.main-footer{background:#f3f3f3;padding:1.25rem 0;margin-top:2.5rem}.main-footer__shortlinks{margin-top:1.25rem}.main-footer__shortlinks li{display:block;font-weight:600;padding-bottom:.3125rem}.main-footer__shortlinks li:before{content:"";display:inline-block;width:6px;height:6px;background:#d40000;border-radius:100%;transform:translateY(-50%);position:relative;margin-right:.3125rem}.main-footer__column{padding:1.25rem 0!important}@media screen and (min-width:48em){.main-footer__column{padding:1.25rem 3.125rem!important}}.copyr,.main-footer .button{margin-bottom:0}.copyr{padding:1.25rem;text-transform:uppercase;font-size:.875rem;color:#b1b1b1}@media screen{.st-container,.st-content,.st-pusher,body,html{height:100%}.st-content{background:#fff;overflow-y:scroll;overflow-x:hidden;-webkit-overflow-scrolling:touch}.st-container,.st-content,.st-content-inner{position:relative}.st-container{overflow:hidden}.st-pusher{position:relative;left:0;z-index:3;height:100%;perspective:1000px;transition:transform .5s}.st-pusher:after{position:absolute;top:0;right:0;width:0;height:0;z-index:5;background:rgba(0,0,0,.2);content:"";opacity:0;transition:opacity .5s,width .1s .5s,height .1s .5s}.st-menu-open .st-pusher:after{width:100%;height:100%;opacity:1;transition:opacity .5s}.st-menu{left:0;z-index:4;visibility:hidden;width:250px;background:#212121;transition:all .5s;overflow-y:scroll}.st-menu,.st-menu:after{position:absolute;top:0;height:100%}.st-menu:after{right:0;width:100%;background:rgba(0,0,0,.2);content:"";opacity:1;transition:opacity .5s}.st-menu-open .st-menu:after{width:0;height:0;opacity:0;transition:opacity .5s,width .1s .5s,height .1s .5s}.st-menu ul{margin:0;padding:0;list-style:none}.st-menu h2{margin:0;padding:1em;color:rgba(0,0,0,.4);text-shadow:0 0 1px rgba(0,0,0,.1);font-weight:300;font-size:2em}.st-menu .st-menu__item>a{display:block;padding:.8em .8em .8em 1em;outline:none;box-shadow:inset 0 -1px rgba(0,0,0,.2);color:#f3efe0;text-transform:uppercase;text-shadow:0 0 1px hsla(0,0%,100%,.1);letter-spacing:1px;font-weight:400;transition:background .3s,box-shadow .3s}.shortlinks{border-top:4px solid #d40000}.shortlinks__item{box-shadow:none;background-color:#6d6d6d}.shortlinks__item>a{display:block;padding:.2em 1em .2em 1.2em;font-size:1.125rem;color:#212121}.shortlinks__item>a:before{content:"›";display:inline-block;color:#212121;font-size:1.3125rem;margin-right:.3125rem}.st-menu .shortlinks__item:first-child>a{box-shadow:none;text-transform:none}.st-menu ul li:first-child a{box-shadow:inset 0 -1px rgba(0,0,0,.2),inset 0 1px rgba(0,0,0,.2)}.st-menu ul li a:hover{background:rgba(0,0,0,.2);box-shadow:inset 0 -1px transparent;color:#fff}.st-effect-4.st-menu-open .st-pusher{transform:translate3d(235px,0,0)}.st-effect-4.st-menu{z-index:1;transform:translate3d(-50%,0,0)}.st-effect-4.st-menu-open .st-effect-4.st-menu{visibility:visible;transition:transform .5s;transform:translateZ(0)}.st-effect-4.st-menu:after{display:none}.lang-switcher a{display:block;color:#fff;padding:1.25rem}}.card{background:#fff;border:1px solid #d6d6d6;text-align:center;font-family:Droid Serif,Georgia,Times New Roman,serif;margin-bottom:1.875rem}.card__link{color:#d40000}.card--small{transition:all .2s ease-out;position:relative;top:0}.card--small .card__content{padding:1rem;display:block;top:50%;position:relative}.card--small:hover{border:1px solid transparent;box-shadow:0 15px 50px rgba(0,0,0,.18);top:-10px}@media screen and (min-width:48em){.card--small .card__content{transform:translateY(-50%)}}.card-annuaire,.card-annuaire .card-annuaire__info{position:relative}.card-annuaire .card-annuaire__info .card-annuaire__content{padding:1.25rem;position:absolute;bottom:0;width:100%}.card-annuaire .card-annuaire__info .card-annuaire__content .card-annuaire__date{color:#fefefe;text-align:center;font-size:1.75rem;font-weight:700;font-family:Droid Serif,Georgia,Times New Roman,serif;margin-bottom:.625rem}.card-annuaire .card-annuaire__info .card-annuaire__content .button{width:100%;margin:0;font-size:.875rem}.label{display:inline-block;vertical-align:middle;padding:.125rem .375rem .0625rem;background:#d6d6d6;color:#fff;color:#515151;border-radius:10px;font-family:Roboto,Helvetica,Arial,sans-serif;font-size:.6875rem;font-weight:700}.search-filter-wrapper{background:#f3f3f3;padding:1.25rem;margin-bottom:1.25rem}.search-filter{display:inline-block;margin-right:1.25rem}.search-filter__label{font-size:1rem;color:#212121;font-weight:700;display:inline-block;margin-right:.3125rem}.search-filter__label--append{margin-left:.3125rem;font-weight:400}.search-filter__select{display:inline-block;width:auto;background-color:transparent;background-origin:border-box;background-size:13px;border-width:0 0 1px;padding:0 20px 0 0;height:auto;font-size:.875rem;margin-bottom:0;vertical-align:middle}.search-filters{width:25%;float:left;padding-left:.625rem;padding-right:.625rem;padding-right:3.125rem!important;padding-left:0!important}@media screen and (min-width:48em){.search-filters{padding-left:.9375rem;padding-right:.9375rem}}@media screen and (min-width:48em) and (max-width:63.9375em){.search-filters{padding-right:1.25rem!important}}@media screen and (max-width:47.9375em){.search-filters--small{margin-top:1.25rem}}.search-filters__date{position:relative}@media screen and (max-width:47.9375em){.search-filters__date{margin:1.25rem}.search-filters__date:not(:first-child){padding-top:0}.search-filters__date>input{margin:0}}@media screen and (min-width:48em) and (max-width:63.9375em){.search-filters__date>input{font-size:.75rem}}@media screen and (max-width:47.9375em){.search-filters-mobile{display:block;clear:both;margin-top:1.25rem}.search-filters-mobile:after,.search-filters-mobile:before{content:" ";display:table}.search-filters-mobile:after{clear:both}}h4.search-filters__title{font-size:1.3125rem}.search-filters__title{font-size:1rem;font-weight:700;font-family:Roboto,Helvetica,Arial,sans-serif}@media screen and (max-width:47.9375em){.search-filters__title{color:#fff}}.facets{margin:0}.facets__item{margin-bottom:1.25rem}.facets__link .svg-icon-cancel{height:16px;vertical-align:text-top;fill:#d40000}.search-filter__button{display:inline-block;vertical-align:middle;margin:0 .3125rem;transition:fill .2s}.search-filter__button:not(.is-active) .svg-icon{fill:#b1b1b1}.search-filter__button:hover{fill:#212121}.search-results--list ul{margin:0}.search-results--list .result-item__subtitle{font-weight:400}.search-results--list .result-item{padding:.625rem 0}.search-results__content{margin-top:.625rem}.search-results__content--grid .result-item{width:50%;float:left;padding-left:.625rem;padding-right:.625rem;margin-left:-2px;padding:0 1.25rem;clear:none;float:left!important}@media screen and (min-width:48em){.search-results__content--grid .result-item{padding-left:.9375rem;padding-right:.9375rem}}.search-results__content--grid .result-item:nth-child(odd){padding-left:0}.search-results__content--grid .result-item:nth-child(2n){border-left:1px solid #d6d6d6;padding-right:0}.search-results__count{margin-bottom:1.25rem}.search-results .warning{margin-top:1.25rem}.result-item{list-style:none;font-family:Droid Serif,Georgia,Times New Roman,serif}@media screen and (min-width:48em){.result-item{padding:.625rem}}.result-item:hover{background:#ebebeb}.result-item__subtitle{font-weight:700;color:#515151;padding-bottom:.625rem}.result-item__subtitle:before{content:"";display:inline-block;width:6px;height:6px;background:#d40000;border-radius:100%;transform:translateY(-50%);position:relative;margin-right:.3125rem}.result-item__description{color:#515151}.pagination{margin-left:0;margin-bottom:1.875rem;margin-top:1.875rem}.pagination li{display:inline-block;margin-right:.625rem;font-size:1.125rem}.pagination li a{color:#d40000;padding:0 .3125rem}.pagination a:hover{border-bottom:1px solid #d40000}.pagination__next .svg-icon,.pagination__previous .svg-icon{fill:#d40000;vertical-align:middle;margin-top:-2px}.pagination__next.is-disabled .svg-icon,.pagination__previous.is-disabled .svg-icon{fill:#d6d6d6}.calendar-nav__button{margin:0}@media screen and (max-width:47.9375em){.calendar-nav{margin:0 auto;left:-50%;transform:translateX(50%);position:relative}.calendar-nav:last-child{margin-top:2.5rem}}.calendar-nav__select{display:inline-block;width:6.25rem;margin:0 6px;vertical-align:middle}@media screen and (min-width:48em){.calendar-nav__select{width:11.5625rem}}.calendar-list{clear:both}.calendar-list:after,.calendar-list:before{content:" ";display:table}.calendar-list:after{clear:both}.calendar-list__heading{text-align:center;font-size:1.125rem;font-weight:700;color:#d40000;background:#f3f3f3;padding:.625rem;margin-bottom:.625rem}.calendar-list__month{margin:2.5rem 0 0}@media screen and (min-width:48em) and (max-width:63.9375em){.calendar-list__month:nth-child(3n+1){clear:both}}.calendar-list__items{list-style:none;padding:0;margin:0;text-align:center}.calendar-list__item{padding:1.25rem 0;border-bottom:1px solid #d6d6d6;color:#6d6d6d;position:relative;z-index:0;transition:z-index .01s}.calendar-list__title{display:block;clear:both;font-family:Droid Serif,Georgia,Times New Roman,serif;font-size:1.125rem;font-weight:700}.calendar-list__date{display:block;font-size:.875rem;margin-top:-4px}.calendar-list__date,.calendar-list__title{position:relative;z-index:1}.calendar-list__actions{width:100%;display:block;position:absolute;padding:5rem 0 0;top:-1px;background-color:#fff;z-index:0;height:0;overflow:hidden;opacity:0;transition:height 0s,opacity 0s,box-shadow 0s}.calendar-list__actions .svg-icon-summary{width:17px;height:17px}.calendar-list__item:hover{z-index:2;transition:z-index .01s .1s}.calendar-list__item:hover .calendar-list__actions{height:8.125rem;opacity:1;box-shadow:0 15px 50px rgba(0,0,0,.18);transition:height .2s,opacity .2s,box-shadow .2s}.nav-toolbar{position:relative}@media screen and (max-width:47.9375em){.nav-toolbar{margin-top:1.25rem}}.nav-toolbar h1{text-align:center}@media screen and (max-width:47.9375em){.nav-toolbar h1{padding:0 40px;font-size:1.3125rem}}.nav-toolbar__next,.nav-toolbar__prev,.nav-toolbar__print,.nav-toolbar__summary{display:block;border:1px solid #d40000;text-align:center;width:30px;height:30px;vertical-align:middle;position:absolute;top:calc(50% - 1.25rem);transform:translateY(-50%)}.nav-toolbar__next .svg-icon,.nav-toolbar__prev .svg-icon,.nav-toolbar__print .svg-icon,.nav-toolbar__summary .svg-icon{fill:#d40000}.nav-toolbar__next:hover,.nav-toolbar__prev:hover,.nav-toolbar__print:hover,.nav-toolbar__summary:hover{background:#d40000}.nav-toolbar__next:hover .svg-icon,.nav-toolbar__prev:hover .svg-icon,.nav-toolbar__print:hover .svg-icon,.nav-toolbar__summary:hover .svg-icon{fill:#fff}.nav-toolbar__navigation{display:block;text-align:center;margin-top:1.25rem}.nav-toolbar__prev{left:0}.nav-toolbar__next{right:0}.nav-toolbar__summary{display:inline-block}.nav-toolbar__navigation .separator{height:30px;display:inline-block;vertical-align:bottom;border-left:1px solid #ebebeb;margin:0 .625rem}.nav-toolbar--article{margin-bottom:1.25rem}.nav-toolbar--article .nav-toolbar__next,.nav-toolbar--article .nav-toolbar__prev,.nav-toolbar--article .nav-toolbar__print,.nav-toolbar--article .nav-toolbar__summary{position:relative;display:inline-block;transform:none}.nav-toolbar--article .nav-toolbar__print .svg-icon,.nav-toolbar--article .nav-toolbar__summary .svg-icon{width:21px}.nav-toolbar .svg-icon{display:block;position:relative;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);fill:#d40000;transition:.2s ease-out}.nav-toolbar__theme{display:block;background:#6d6d6d;color:#fefefe;padding:.3125rem .625rem;margin-left:0;font-weight:700;font-size:1.125rem;vertical-align:middle;text-align:center}@media screen and (max-width:47.9375em){.nav-toolbar__theme{line-height:1.2rem;text-align:left}}.nav-toolbar__theme>li{display:inline-block}@media screen and (max-width:47.9375em){.nav-toolbar__theme>li{display:block;clear:both;font-size:.875rem}}.nav-toolbar__theme .svg-icon{display:inline-block;left:0;top:0;transform:none;fill:#fff;vertical-align:middle;height:12px}@media screen and (min-width:48em){.nav-toolbar__next,.nav-toolbar__prev,.nav-toolbar__print,.nav-toolbar__summary{margin:0;width:50px;height:50px;margin:0 .625rem}.nav-toolbar__navigation{float:right;display:inline-block;margin-top:0}.nav-toolbar__theme{display:inline-block;float:left;text-align:left}.nav-toolbar__navigation .separator{height:50px}}.nav-toolbar__label{float:left;font-weight:700;margin-right:5px}.nav-toolbar__display svg{float:left;opacity:.5}.nav-toolbar__display.is-active svg{opacity:1}.metas{background:#f3f3f3;padding:.625rem;margin-bottom:1.25rem}.metas ul{margin:0}.meta{list-style:none;width:100%;display:inline-block;vertical-align:top;margin-bottom:.625rem}@media screen and (max-width:47.9375em){.meta{line-height:1.3rem}}.meta__label{font-weight:700;color:#212121}.meta__label,.meta__value{width:100%;padding:0;margin:0;display:block;float:left}@media screen and (min-width:48em) and (max-width:63.9375em){.meta{width:50%;margin-left:-6px}}@media screen and (min-width:64em){.meta{width:33%}}@media screen and (min-width:48em){.meta__label{width:55%}.meta__value{width:45%}}.icon-hint{fill:#d40000}.svg-icon{fill:#515151}.icon--rounded{padding:1.25rem;border:1px solid #515151;border-radius:50px;display:inline-block;width:73px;height:73px;margin-bottom:1.25rem}.icon--rounded .svg-icon-search{width:32px;height:32px}.nav-article{position:relative;text-align:center}.nav-article__icon,.nav-article__next,.nav-article__previous,.nav-article__print,.nav-article__summary,.nav-article__text{display:inline-block;vertical-align:middle}.nav-article__text{vertical-align:text-bottom;border-bottom:1px solid #d40000}.nav-article__next,.nav-article__previous{position:absolute;top:0;fill:#d40000}.nav-article__previous{left:0}.nav-article__next{right:0}.nav-article__print,.nav-article__summary{display:inline;text-align:center;border-bottom:1px solid #d40000}.nav-article__print{display:inline-block;margin-bottom:1.25rem}.input{position:relative}.input--search{background:transparent url(../img/icons/icon-search.svg) no-repeat 0 50%;padding-left:2.5rem!important;font-size:1.125rem}.input--search:focus{border:none;border-bottom:1px solid #d40000}.input--minimal{border:0;border-bottom:1px solid #d6d6d6;padding:.625rem 0}.input.is-inline{display:inline-block;width:auto}.input-label{font-size:1rem}label.is-inline{display:inline-block;margin-right:.625rem}select.is-inline{padding-right:1.25rem;background-position-x:calc(100% + 1.25rem)}.input--salutation{width:16.66667%;float:left;padding-left:.625rem;padding-right:.625rem;margin-left:0!important;padding-left:0!important}@media screen and (min-width:48em){.input--salutation{padding-left:.9375rem;padding-right:.9375rem}}.input--last_name{width:41.66667%;float:left;padding-left:.625rem;padding-right:.625rem}@media screen and (min-width:48em){.input--last_name{padding-left:.9375rem;padding-right:.9375rem}}.input--first_name{width:41.66667%;float:left;padding-left:.625rem;padding-right:.625rem;margin-right:0!important;padding-right:0!important}@media screen and (min-width:48em){.input--first_name{padding-left:.9375rem;padding-right:.9375rem}}.input--email{clear:both}.datepicker__button{width:24px;height:24px;background:url(../img/icons/icon-calendar.svg) no-repeat;background-size:24px 24px;background-position:100%;background-origin:content-box;position:absolute;right:.625rem;bottom:7px}.datepicker:focus{border-color:#d40000}select.picker__select--month,select.picker__select--year{padding-right:1.5rem!important}.related-files{margin:2.5rem 0}.related-file{display:block;height:80px;border-left:1px solid #d6d6d6;position:relative;margin-bottom:1.25rem}.related-file:nth-child(4n+1){border-left:0}.related-file:hover{box-shadow:0 6px 18px rgba(0,0,0,.18)}.related-file:hover,.related-file:hover+.related-file{border-left-color:transparent}.related-file__content{position:relative;transform:translateY(-50%);top:50%;padding:1.25rem}.related-file__icon{overflow:hidden;height:40px;padding-top:4px}.related-file__icon-content{position:relative;top:-40px;transition:all .2s ease-out}.related-file:hover .related-file__icon-content{top:0}.related-file__icon,.related-file__infos{display:inline-block;vertical-align:middle}.related-file__name{font-weight:600}.related-file__size{display:block;color:#6d6d6d;margin-top:-5px;font-size:.875rem}.tooltip{border:1px solid #d40000}.tooltip:before{border:.75rem inset;border-color:transparent transparent #d40000;border-bottom-style:solid;border-top-width:0}.tooltip.top:before,.tooltip:before{content:"";display:block;width:0;height:0}.tooltip.top:before{border:.75rem inset;border-color:#d40000 transparent transparent;border-top-style:solid;border-bottom-width:0}.tooltip.left:before{content:"";display:block;width:0;height:0;border:.75rem inset;border-color:transparent transparent transparent #d40000;border-left-style:solid;border-right-width:0}.tooltip.right:before{content:"";display:block;width:0;height:0;border:.75rem inset;border-color:transparent #d40000 transparent transparent;border-right-style:solid;border-left-width:0}.tooltip .red{color:#d40000;font-weight:700}.has-tip{color:#d40000;font-size:1.8em}.object-left,.u-left{float:left}.object-left,.object-right{margin-bottom:2.5rem}.object-right,.u-right{float:right}.u-text-right{text-align:right}.u-clear{clear:both}.u-clear:after,.u-clear:before{content:" ";display:table}.u-clear:after{clear:both}.u-cf:after,.u-cf:before{content:" ";display:table}.u-cf:after{clear:both}@media screen and (max-width:47.9375em){.u-clearSmall{clear:both}.u-clearSmall:after,.u-clearSmall:before{content:" ";display:table}.u-clearSmall:after{clear:both}.u-text-centerSmall{text-align:center}}.u-wrapper{max-width:75rem;margin-left:auto;margin-right:auto}.u-wrapper:after,.u-wrapper:before{content:" ";display:table}.u-wrapper:after{clear:both}.u-wrapper-inner{width:100%;float:left;padding-left:.625rem;padding-right:.625rem}@media screen and (min-width:48em){.u-wrapper-inner{padding-left:.9375rem;padding-right:.9375rem}}.u-half{width:50%;float:left;padding-left:.625rem;padding-right:.625rem}@media screen and (min-width:48em){.u-half{padding-left:.9375rem;padding-right:.9375rem}}.u-quarter{width:25%;float:left;padding-left:.625rem;padding-right:.625rem}@media screen and (min-width:48em){.u-quarter{padding-left:.9375rem;padding-right:.9375rem}}.u-collapse{padding:0!important}.u-center{float:none!important;margin-left:auto;margin-right:auto}@media screen and (min-width:48em) and (max-width:63.9375em){.u-thirdTab{width:33.33333%;float:left;padding-left:.625rem;padding-right:.625rem}}@media screen and (min-width:48em) and (max-width:63.9375em) and (min-width:48em){.u-thirdTab{padding-left:.9375rem;padding-right:.9375rem}}@media screen and (min-width:48em) and (max-width:63.9375em){.u-halfTab{width:50%;float:left;padding-left:.625rem;padding-right:.625rem}}@media screen and (min-width:48em) and (max-width:63.9375em) and (min-width:48em){.u-halfTab{padding-left:.9375rem;padding-right:.9375rem}}@media screen and (min-width:48em){.u-wrapper-innerTabUp{width:100%;float:left;padding-left:.625rem;padding-right:.625rem}}@media screen and (min-width:48em) and (min-width:48em){.u-wrapper-innerTabUp{padding-left:.9375rem;padding-right:.9375rem}}@media screen and (min-width:48em){.u-halfTabUp{width:50%;float:left;padding-left:.625rem;padding-right:.625rem}}@media screen and (min-width:48em) and (min-width:48em){.u-halfTabUp{padding-left:.9375rem;padding-right:.9375rem}}@media screen and (min-width:48em){.u-thirdTabUp{width:33.33333%;float:left;padding-left:.625rem;padding-right:.625rem}}@media screen and (min-width:48em) and (min-width:48em){.u-thirdTabUp{padding-left:.9375rem;padding-right:.9375rem}}@media screen and (min-width:48em){.u-quarterTabUp{width:25%;float:left;padding-left:.625rem;padding-right:.625rem}}@media screen and (min-width:48em) and (min-width:48em){.u-quarterTabUp{padding-left:.9375rem;padding-right:.9375rem}}@media screen and (min-width:48em){.u-sixthTabUp{width:16.66667%;float:left;padding-left:.625rem;padding-right:.625rem}}@media screen and (min-width:48em) and (min-width:48em){.u-sixthTabUp{padding-left:.9375rem;padding-right:.9375rem}}@media screen and (min-width:48em){.u-twothirdsTabUp{width:66.66667%;float:left;padding-left:.625rem;padding-right:.625rem}}@media screen and (min-width:48em) and (min-width:48em){.u-twothirdsTabUp{padding-left:.9375rem;padding-right:.9375rem}}@media screen and (min-width:48em){.u-fiveTabUp{width:41.66667%;float:left;padding-left:.625rem;padding-right:.625rem}}@media screen and (min-width:48em) and (min-width:48em){.u-fiveTabUp{padding-left:.9375rem;padding-right:.9375rem}}@media screen and (min-width:48em){.u-sevenTabUp{width:58.33333%;float:left;padding-left:.625rem;padding-right:.625rem}}@media screen and (min-width:48em) and (min-width:48em){.u-sevenTabUp{padding-left:.9375rem;padding-right:.9375rem}}@media screen and (min-width:48em){.u-nineTabUp{width:75%;float:left;padding-left:.625rem;padding-right:.625rem}}@media screen and (min-width:48em) and (min-width:48em){.u-nineTabUp{padding-left:.9375rem;padding-right:.9375rem}}@media screen and (min-width:48em){.u-fivesixthTabUp{width:83.33333%;float:left;padding-left:.625rem;padding-right:.625rem}}@media screen and (min-width:48em) and (min-width:48em){.u-fivesixthTabUp{padding-left:.9375rem;padding-right:.9375rem}}@media screen and (min-width:48em){.u-onesixthTabUp{width:16.66667%;float:left;padding-left:.625rem;padding-right:.625rem}}@media screen and (min-width:48em) and (min-width:48em){.u-onesixthTabUp{padding-left:.9375rem;padding-right:.9375rem}}@media screen and (min-width:48em){.u-endTabUp:last-child:last-child{float:left}}@media screen and (min-width:64em){.u-sixthLarge{width:16.66667%;float:left;padding-left:.625rem;padding-right:.625rem}}@media screen and (min-width:64em) and (min-width:48em){.u-sixthLarge{padding-left:.9375rem;padding-right:.9375rem}}@media screen and (min-width:64em){.u-thirdLarge{width:33.33333%;float:left;padding-left:.625rem;padding-right:.625rem}}@media screen and (min-width:64em) and (min-width:48em){.u-thirdLarge{padding-left:.9375rem;padding-right:.9375rem}}.u-end:last-child:last-child{float:left}@media screen and (min-width:64em){.u-halfLargeUp{width:50%;float:left;padding-left:.625rem;padding-right:.625rem}}@media screen and (min-width:64em) and (min-width:48em){.u-halfLargeUp{padding-left:.9375rem;padding-right:.9375rem}}@media screen and (min-width:64em){.u-thirdLargeUp{width:33.33333%;float:left;padding-left:.625rem;padding-right:.625rem}}@media screen and (min-width:64em) and (min-width:48em){.u-thirdLargeUp{padding-left:.9375rem;padding-right:.9375rem}}.u-wrapper{padding:0 1.25rem}.u-wrapper .u-wrapper{padding:0}.u-hide{display:none}.u-hide-text{font-size:0}.u-invisible{visibility:hidden;opacity:0}.u-visible{visibility:visible;opacity:1}.u-visuallyhidden{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.u-uppercase{text-transform:uppercase}.u-text-center{text-align:center}.u-ellipsis:after{content:"\2026"}.u-underline{text-decoration:underline}.u-bold{font-weight:700}.u-no-bullet{margin-left:0}.content--red ul,.u-no-bullet{list-style:none}.content--red ul li{padding-left:1em;text-indent:-.7em}.content--red ul li:before{content:"• ";color:#d40000}.content--red ol{list-style:none;counter-reset:a}.content--red ol li{counter-increment:a}.content--red ol li:before{content:counter(a) ".";color:#d40000;display:inline-block;width:1em}.u-chromless{margin:0!important;padding:0!important}.u-spacing--small{padding:1.25rem}.u-margin--small{margin:1.25rem}.u-margin-top--small{margin-top:1.25rem}.u-full{width:100%}.u-relative{position:relative}.u-panel{padding:1.25rem;margin-top:3.125rem;margin-bottom:3.125rem;background:#ebebeb}@media screen and (min-width:48em){.u-panel{padding:3.125rem}}.u-panel--fill{border:1px solid #ebebeb;background:transparent}.u-panel--nopadding{padding:0!important}
>>>>>>> feature/18277-bo-jdm-fonctionnalites-cassees-dans-le-back-office
