/*- Global Variables -*/
.container, .header-container {
  max-width: 982px !important;
  width: 982px !important; }

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box; }

html{
  scrollbar-color: #b52b25 #c0c0c0; 
}
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeSpeed;
  overflow-x: hidden;
  margin: 0; }

main {
  display: block; }

pre {
  font-family: monospace, monospace;
  font-size: 1rem; }

b,
strong {
  font-weight: bolder; }

::-moz-selection {
  background: #0088ff;
  color: #ffffff;
  text-shadow: none;
  border: 0;
  outline: none; }

::selection {
  background: #0088ff;
  color: #ffffff;
  text-shadow: none;
  border: 0;
  outline: none; }

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1rem; }

small {
  font-size: 80%; }

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  max-width: 100%;
  height: auto;
  border: 0; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }
  button:focus,
  input:focus,
  optgroup:focus,
  select:focus,
  textarea:focus {
    outline: none !important; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted #0088ff; }

button:active, button.nice-select.open, button:focus {
  outline: none;
  border: none; }

fieldset {
  padding: 0.35rem 0.75rem 0.625rem; }

legend {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

details {
  display: block; }

summary {
  display: list-item; }

template {
  display: none; }

[hidden] {
  display: none; }

iframe {
  max-width: 100% !important; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-weight: 500; }

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

figure {
  width: 100% !important; }

[class*="icons-"] {
  display: inline-block; }

/*!
 * Bootstrap v4.3.1 (https://getbootstrap.com/)
 * Copyright 2011-2019 The Bootstrap Authors
 * Copyright 2011-2019 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
:root {
  --blue: #007bff;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #dc3545;
  --orange: #fd7e14;
  --yellow: #ffc107;
  --green: #28a745;
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #fff;
  --gray: #6c757d;
  --gray-dark: #343a40;
  --primary: #007bff;
  --secondary: #6c757d;
  --success: #28a745;
  --info: #17a2b8;
  --warning: #ffc107;
  --danger: #dc3545;
  --light: #f8f9fa;
  --dark: #343a40;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

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

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff; }

[tabindex="-1"]:focus {
  outline: 0 !important; }

hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0.5rem; }

p {
  margin-top: 0;
  margin-bottom: 1rem; }

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  text-decoration-skip-ink: none; }

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit; }

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem; }

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

dt {
  font-weight: 700; }

dd {
  margin-bottom: .5rem;
  margin-left: 0; }

blockquote {
  margin: 0 0 1rem; }

b,
strong {
  font-weight: bolder; }

small {
  font-size: 80%; }

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

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent; }
  a:hover {
    color: #0056b3;
    text-decoration: underline; }

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none; }
  a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
    color: inherit;
    text-decoration: none; }
  a:not([href]):not([tabindex]):focus {
    outline: 0; }

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em; }

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto; }

figure {
  margin: 0 0 1rem; }

img {
  vertical-align: middle;
  border-style: none; }

svg {
  overflow: hidden;
  vertical-align: middle; }

table {
  border-collapse: collapse; }

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom; }

th {
  text-align: inherit; }

label {
  display: inline-block;
  margin-bottom: 0.5rem; }

button {
  -webkit-border-radius: 0;
  border-radius: 0; }

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color; }

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

select {
  word-wrap: normal; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
  cursor: pointer; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none; }

input[type="radio"],
input[type="checkbox"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0; }

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
  -webkit-appearance: listbox; }

textarea {
  overflow: auto;
  resize: vertical; }

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0; }

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal; }

progress {
  vertical-align: baseline; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  outline-offset: -2px;
  -webkit-appearance: none; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button; }

output {
  display: inline-block; }

summary {
  display: list-item;
  cursor: pointer; }

template {
  display: none; }

[hidden] {
  display: none !important; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2; }

h1, .h1 {
  font-size: 2.5rem; }

h2, .h2 {
  font-size: 2rem; }

h3, .h3 {
  font-size: 1.75rem; }

h4, .h4 {
  font-size: 1.5rem; }

h5, .h5 {
  font-size: 1.25rem; }

h6, .h6 {
  font-size: 1rem; }

.lead {
  font-size: 1.25rem;
  font-weight: 300; }

.display-1 {
  font-size: 6rem;
  font-weight: 300;
  line-height: 1.2; }

.display-2 {
  font-size: 5.5rem;
  font-weight: 300;
  line-height: 1.2; }

.display-3 {
  font-size: 4.5rem;
  font-weight: 300;
  line-height: 1.2; }

.display-4 {
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.2; }

hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1); }

small,
.small {
  font-size: 80%;
  font-weight: 400; }

mark,
.mark {
  padding: 0.2em;
  background-color: #fcf8e3; }

.list-unstyled {
  padding-left: 0;
  list-style: none; }

.list-inline {
  padding-left: 0;
  list-style: none; }

.list-inline-item {
  display: inline-block; }
  .list-inline-item:not(:last-child) {
    margin-right: 0.5rem; }

.initialism {
  font-size: 90%;
  text-transform: uppercase; }

.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem; }

.blockquote-footer {
  display: block;
  font-size: 80%;
  color: #6c757d; }
  .blockquote-footer::before {
    content: "\2014\00A0"; }

.img-fluid {
  max-width: 100%;
  height: auto; }

.img-thumbnail {
  padding: 0.25rem;
  background-color: #fff;
  border: 1px solid #dee2e6;
  -webkit-border-radius: 0.25rem;
  border-radius: 0.25rem;
  max-width: 100%;
  height: auto; }

.figure {
  display: inline-block; }

.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1; }

.figure-caption {
  font-size: 90%;
  color: #6c757d; }

code {
  font-size: 87.5%;
  color: #e83e8c;
  word-break: break-word; }
  a > code {
    color: inherit; }

kbd {
  padding: 0.2rem 0.4rem;
  font-size: 87.5%;
  color: #fff;
  background-color: #212529;
  -webkit-border-radius: 0.2rem;
  border-radius: 0.2rem; }
  kbd kbd {
    padding: 0;
    font-size: 100%;
    font-weight: 700; }

pre {
  display: block;
  font-size: 87.5%;
  color: #212529; }
  pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal; }

.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll; }

.container, .header-container {
  width: 100%;
  padding-right: 5px;
  padding-left: 5px;
  margin-right: auto;
  margin-left: auto; }
  @media (min-width: 576px) {
    .container, .header-container {
      max-width: 540px; } }
  @media (min-width: 768px) {
    .container, .header-container {
      max-width: 720px; } }
  @media (min-width: 992px) {
    .container, .header-container {
      max-width: 960px; } }
  @media (min-width: 1200px) {
    .container, .header-container {
      max-width: 1140px; } }

.container-fluid {
  width: 100%;
  padding-right: 5px;
  padding-left: 5px;
  margin-right: auto;
  margin-left: auto; }

.row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -5px;
  margin-left: -5px; }

.no-gutters {
  margin-right: 0;
  margin-left: 0; }
  .no-gutters > .col,
  .no-gutters > [class*="col-"] {
    padding-right: 0;
    padding-left: 0; }

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
.col-xl-auto {
  position: relative;
  width: 100%;
  padding-right: 5px;
  padding-left: 5px; }

.col {
  -webkit-flex-basis: 0;
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  max-width: 100%; }

.col-auto {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: auto;
  max-width: 100%; }

.col-1 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 8.33333%;
  -ms-flex: 0 0 8.33333%;
  flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.col-2 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 16.66667%;
  -ms-flex: 0 0 16.66667%;
  flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.col-3 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 25%;
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%; }

.col-4 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 33.33333%;
  -ms-flex: 0 0 33.33333%;
  flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.col-5 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 41.66667%;
  -ms-flex: 0 0 41.66667%;
  flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.col-6 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 50%;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%; }

.col-7 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 58.33333%;
  -ms-flex: 0 0 58.33333%;
  flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.col-8 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 66.66667%;
  -ms-flex: 0 0 66.66667%;
  flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.col-9 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 75%;
  -ms-flex: 0 0 75%;
  flex: 0 0 75%;
  max-width: 75%; }

.col-10 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 83.33333%;
  -ms-flex: 0 0 83.33333%;
  flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.col-11 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 91.66667%;
  -ms-flex: 0 0 91.66667%;
  flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.col-12 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%; }

.order-first {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
  -ms-flex-order: -1;
  order: -1; }

.order-last {
  -webkit-box-ordinal-group: 14;
  -webkit-order: 13;
  -ms-flex-order: 13;
  order: 13; }

.order-0 {
  -webkit-box-ordinal-group: 1;
  -webkit-order: 0;
  -ms-flex-order: 0;
  order: 0; }

.order-1 {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1; }

.order-2 {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  -ms-flex-order: 2;
  order: 2; }

.order-3 {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
  -ms-flex-order: 3;
  order: 3; }

.order-4 {
  -webkit-box-ordinal-group: 5;
  -webkit-order: 4;
  -ms-flex-order: 4;
  order: 4; }

.order-5 {
  -webkit-box-ordinal-group: 6;
  -webkit-order: 5;
  -ms-flex-order: 5;
  order: 5; }

.order-6 {
  -webkit-box-ordinal-group: 7;
  -webkit-order: 6;
  -ms-flex-order: 6;
  order: 6; }

.order-7 {
  -webkit-box-ordinal-group: 8;
  -webkit-order: 7;
  -ms-flex-order: 7;
  order: 7; }

.order-8 {
  -webkit-box-ordinal-group: 9;
  -webkit-order: 8;
  -ms-flex-order: 8;
  order: 8; }

.order-9 {
  -webkit-box-ordinal-group: 10;
  -webkit-order: 9;
  -ms-flex-order: 9;
  order: 9; }

.order-10 {
  -webkit-box-ordinal-group: 11;
  -webkit-order: 10;
  -ms-flex-order: 10;
  order: 10; }

.order-11 {
  -webkit-box-ordinal-group: 12;
  -webkit-order: 11;
  -ms-flex-order: 11;
  order: 11; }

.order-12 {
  -webkit-box-ordinal-group: 13;
  -webkit-order: 12;
  -ms-flex-order: 12;
  order: 12; }

.offset-1 {
  margin-left: 8.33333%; }

.offset-2 {
  margin-left: 16.66667%; }

.offset-3 {
  margin-left: 25%; }

.offset-4 {
  margin-left: 33.33333%; }

.offset-5 {
  margin-left: 41.66667%; }

.offset-6 {
  margin-left: 50%; }

.offset-7 {
  margin-left: 58.33333%; }

.offset-8 {
  margin-left: 66.66667%; }

.offset-9 {
  margin-left: 75%; }

.offset-10 {
  margin-left: 83.33333%; }

.offset-11 {
  margin-left: 91.66667%; }

@media (min-width: 576px) {
  .col-sm {
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%; }
  .col-sm-auto {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-sm-1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.33333%;
    -ms-flex: 0 0 8.33333%;
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-sm-2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.66667%;
    -ms-flex: 0 0 16.66667%;
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-sm-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%; }
  .col-sm-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-sm-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.66667%;
    -ms-flex: 0 0 41.66667%;
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-sm-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%; }
  .col-sm-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.33333%;
    -ms-flex: 0 0 58.33333%;
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-sm-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.66667%;
    -ms-flex: 0 0 66.66667%;
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-sm-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%; }
  .col-sm-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.33333%;
    -ms-flex: 0 0 83.33333%;
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-sm-11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.66667%;
    -ms-flex: 0 0 91.66667%;
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-sm-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%; }
  .order-sm-first {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
    -ms-flex-order: -1;
    order: -1; }
  .order-sm-last {
    -webkit-box-ordinal-group: 14;
    -webkit-order: 13;
    -ms-flex-order: 13;
    order: 13; }
  .order-sm-0 {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0; }
  .order-sm-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1; }
  .order-sm-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2; }
  .order-sm-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3; }
  .order-sm-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
    -ms-flex-order: 4;
    order: 4; }
  .order-sm-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
    -ms-flex-order: 5;
    order: 5; }
  .order-sm-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
    -ms-flex-order: 6;
    order: 6; }
  .order-sm-7 {
    -webkit-box-ordinal-group: 8;
    -webkit-order: 7;
    -ms-flex-order: 7;
    order: 7; }
  .order-sm-8 {
    -webkit-box-ordinal-group: 9;
    -webkit-order: 8;
    -ms-flex-order: 8;
    order: 8; }
  .order-sm-9 {
    -webkit-box-ordinal-group: 10;
    -webkit-order: 9;
    -ms-flex-order: 9;
    order: 9; }
  .order-sm-10 {
    -webkit-box-ordinal-group: 11;
    -webkit-order: 10;
    -ms-flex-order: 10;
    order: 10; }
  .order-sm-11 {
    -webkit-box-ordinal-group: 12;
    -webkit-order: 11;
    -ms-flex-order: 11;
    order: 11; }
  .order-sm-12 {
    -webkit-box-ordinal-group: 13;
    -webkit-order: 12;
    -ms-flex-order: 12;
    order: 12; }
  .offset-sm-0 {
    margin-left: 0; }
  .offset-sm-1 {
    margin-left: 8.33333%; }
  .offset-sm-2 {
    margin-left: 16.66667%; }
  .offset-sm-3 {
    margin-left: 25%; }
  .offset-sm-4 {
    margin-left: 33.33333%; }
  .offset-sm-5 {
    margin-left: 41.66667%; }
  .offset-sm-6 {
    margin-left: 50%; }
  .offset-sm-7 {
    margin-left: 58.33333%; }
  .offset-sm-8 {
    margin-left: 66.66667%; }
  .offset-sm-9 {
    margin-left: 75%; }
  .offset-sm-10 {
    margin-left: 83.33333%; }
  .offset-sm-11 {
    margin-left: 91.66667%; } }

@media (min-width: 768px) {
  .col-md {
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%; }
  .col-md-auto {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-md-1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.33333%;
    -ms-flex: 0 0 8.33333%;
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-md-2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.66667%;
    -ms-flex: 0 0 16.66667%;
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-md-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%; }
  .col-md-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-md-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.66667%;
    -ms-flex: 0 0 41.66667%;
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-md-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%; }
  .col-md-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.33333%;
    -ms-flex: 0 0 58.33333%;
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-md-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.66667%;
    -ms-flex: 0 0 66.66667%;
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-md-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%; }
  .col-md-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.33333%;
    -ms-flex: 0 0 83.33333%;
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-md-11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.66667%;
    -ms-flex: 0 0 91.66667%;
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-md-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%; }
  .order-md-first {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
    -ms-flex-order: -1;
    order: -1; }
  .order-md-last {
    -webkit-box-ordinal-group: 14;
    -webkit-order: 13;
    -ms-flex-order: 13;
    order: 13; }
  .order-md-0 {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0; }
  .order-md-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1; }
  .order-md-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2; }
  .order-md-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3; }
  .order-md-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
    -ms-flex-order: 4;
    order: 4; }
  .order-md-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
    -ms-flex-order: 5;
    order: 5; }
  .order-md-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
    -ms-flex-order: 6;
    order: 6; }
  .order-md-7 {
    -webkit-box-ordinal-group: 8;
    -webkit-order: 7;
    -ms-flex-order: 7;
    order: 7; }
  .order-md-8 {
    -webkit-box-ordinal-group: 9;
    -webkit-order: 8;
    -ms-flex-order: 8;
    order: 8; }
  .order-md-9 {
    -webkit-box-ordinal-group: 10;
    -webkit-order: 9;
    -ms-flex-order: 9;
    order: 9; }
  .order-md-10 {
    -webkit-box-ordinal-group: 11;
    -webkit-order: 10;
    -ms-flex-order: 10;
    order: 10; }
  .order-md-11 {
    -webkit-box-ordinal-group: 12;
    -webkit-order: 11;
    -ms-flex-order: 11;
    order: 11; }
  .order-md-12 {
    -webkit-box-ordinal-group: 13;
    -webkit-order: 12;
    -ms-flex-order: 12;
    order: 12; }
  .offset-md-0 {
    margin-left: 0; }
  .offset-md-1 {
    margin-left: 8.33333%; }
  .offset-md-2 {
    margin-left: 16.66667%; }
  .offset-md-3 {
    margin-left: 25%; }
  .offset-md-4 {
    margin-left: 33.33333%; }
  .offset-md-5 {
    margin-left: 41.66667%; }
  .offset-md-6 {
    margin-left: 50%; }
  .offset-md-7 {
    margin-left: 58.33333%; }
  .offset-md-8 {
    margin-left: 66.66667%; }
  .offset-md-9 {
    margin-left: 75%; }
  .offset-md-10 {
    margin-left: 83.33333%; }
  .offset-md-11 {
    margin-left: 91.66667%; } }

@media (min-width: 992px) {
  .col-lg {
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%; }
  .col-lg-auto {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-lg-1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.33333%;
    -ms-flex: 0 0 8.33333%;
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-lg-2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.66667%;
    -ms-flex: 0 0 16.66667%;
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-lg-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%; }
  .col-lg-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-lg-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.66667%;
    -ms-flex: 0 0 41.66667%;
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-lg-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%; }
  .col-lg-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.33333%;
    -ms-flex: 0 0 58.33333%;
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-lg-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.66667%;
    -ms-flex: 0 0 66.66667%;
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-lg-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%; }
  .col-lg-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.33333%;
    -ms-flex: 0 0 83.33333%;
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-lg-11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.66667%;
    -ms-flex: 0 0 91.66667%;
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-lg-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%; }
  .order-lg-first {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
    -ms-flex-order: -1;
    order: -1; }
  .order-lg-last {
    -webkit-box-ordinal-group: 14;
    -webkit-order: 13;
    -ms-flex-order: 13;
    order: 13; }
  .order-lg-0 {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0; }
  .order-lg-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1; }
  .order-lg-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2; }
  .order-lg-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3; }
  .order-lg-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
    -ms-flex-order: 4;
    order: 4; }
  .order-lg-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
    -ms-flex-order: 5;
    order: 5; }
  .order-lg-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
    -ms-flex-order: 6;
    order: 6; }
  .order-lg-7 {
    -webkit-box-ordinal-group: 8;
    -webkit-order: 7;
    -ms-flex-order: 7;
    order: 7; }
  .order-lg-8 {
    -webkit-box-ordinal-group: 9;
    -webkit-order: 8;
    -ms-flex-order: 8;
    order: 8; }
  .order-lg-9 {
    -webkit-box-ordinal-group: 10;
    -webkit-order: 9;
    -ms-flex-order: 9;
    order: 9; }
  .order-lg-10 {
    -webkit-box-ordinal-group: 11;
    -webkit-order: 10;
    -ms-flex-order: 10;
    order: 10; }
  .order-lg-11 {
    -webkit-box-ordinal-group: 12;
    -webkit-order: 11;
    -ms-flex-order: 11;
    order: 11; }
  .order-lg-12 {
    -webkit-box-ordinal-group: 13;
    -webkit-order: 12;
    -ms-flex-order: 12;
    order: 12; }
  .offset-lg-0 {
    margin-left: 0; }
  .offset-lg-1 {
    margin-left: 8.33333%; }
  .offset-lg-2 {
    margin-left: 16.66667%; }
  .offset-lg-3 {
    margin-left: 25%; }
  .offset-lg-4 {
    margin-left: 33.33333%; }
  .offset-lg-5 {
    margin-left: 41.66667%; }
  .offset-lg-6 {
    margin-left: 50%; }
  .offset-lg-7 {
    margin-left: 58.33333%; }
  .offset-lg-8 {
    margin-left: 66.66667%; }
  .offset-lg-9 {
    margin-left: 75%; }
  .offset-lg-10 {
    margin-left: 83.33333%; }
  .offset-lg-11 {
    margin-left: 91.66667%; } }

@media (min-width: 1200px) {
  .col-xl {
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%; }
  .col-xl-auto {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-xl-1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.33333%;
    -ms-flex: 0 0 8.33333%;
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-xl-2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.66667%;
    -ms-flex: 0 0 16.66667%;
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-xl-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%; }
  .col-xl-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-xl-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.66667%;
    -ms-flex: 0 0 41.66667%;
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-xl-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%; }
  .col-xl-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.33333%;
    -ms-flex: 0 0 58.33333%;
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-xl-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.66667%;
    -ms-flex: 0 0 66.66667%;
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-xl-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%; }
  .col-xl-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.33333%;
    -ms-flex: 0 0 83.33333%;
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-xl-11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.66667%;
    -ms-flex: 0 0 91.66667%;
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-xl-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%; }
  .order-xl-first {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
    -ms-flex-order: -1;
    order: -1; }
  .order-xl-last {
    -webkit-box-ordinal-group: 14;
    -webkit-order: 13;
    -ms-flex-order: 13;
    order: 13; }
  .order-xl-0 {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0; }
  .order-xl-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1; }
  .order-xl-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2; }
  .order-xl-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3; }
  .order-xl-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
    -ms-flex-order: 4;
    order: 4; }
  .order-xl-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
    -ms-flex-order: 5;
    order: 5; }
  .order-xl-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
    -ms-flex-order: 6;
    order: 6; }
  .order-xl-7 {
    -webkit-box-ordinal-group: 8;
    -webkit-order: 7;
    -ms-flex-order: 7;
    order: 7; }
  .order-xl-8 {
    -webkit-box-ordinal-group: 9;
    -webkit-order: 8;
    -ms-flex-order: 8;
    order: 8; }
  .order-xl-9 {
    -webkit-box-ordinal-group: 10;
    -webkit-order: 9;
    -ms-flex-order: 9;
    order: 9; }
  .order-xl-10 {
    -webkit-box-ordinal-group: 11;
    -webkit-order: 10;
    -ms-flex-order: 10;
    order: 10; }
  .order-xl-11 {
    -webkit-box-ordinal-group: 12;
    -webkit-order: 11;
    -ms-flex-order: 11;
    order: 11; }
  .order-xl-12 {
    -webkit-box-ordinal-group: 13;
    -webkit-order: 12;
    -ms-flex-order: 12;
    order: 12; }
  .offset-xl-0 {
    margin-left: 0; }
  .offset-xl-1 {
    margin-left: 8.33333%; }
  .offset-xl-2 {
    margin-left: 16.66667%; }
  .offset-xl-3 {
    margin-left: 25%; }
  .offset-xl-4 {
    margin-left: 33.33333%; }
  .offset-xl-5 {
    margin-left: 41.66667%; }
  .offset-xl-6 {
    margin-left: 50%; }
  .offset-xl-7 {
    margin-left: 58.33333%; }
  .offset-xl-8 {
    margin-left: 66.66667%; }
  .offset-xl-9 {
    margin-left: 75%; }
  .offset-xl-10 {
    margin-left: 83.33333%; }
  .offset-xl-11 {
    margin-left: 91.66667%; } }

.table {
  width: 100%;
  margin-bottom: 1rem;
  color: #212529; }
  .table th,
  .table td {
    padding: 0.75rem;
    vertical-align: top;
    border-top: 1px solid #dee2e6; }
  .table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid #dee2e6; }
  .table tbody + tbody {
    border-top: 2px solid #dee2e6; }

.table-sm th,
.table-sm td {
  padding: 0.3rem; }

.table-bordered {
  border: 1px solid #dee2e6; }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #dee2e6; }
  .table-bordered thead th,
  .table-bordered thead td {
    border-bottom-width: 2px; }

.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
  border: 0; }

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05); }

.table-hover tbody tr:hover {
  color: #212529;
  background-color: rgba(0, 0, 0, 0.075); }

.table-primary,
.table-primary > th,
.table-primary > td {
  background-color: #b8daff; }

.table-primary th,
.table-primary td,
.table-primary thead th,
.table-primary tbody + tbody {
  border-color: #7abaff; }

.table-hover .table-primary:hover {
  background-color: #9fcdff; }
  .table-hover .table-primary:hover > td,
  .table-hover .table-primary:hover > th {
    background-color: #9fcdff; }

.table-secondary,
.table-secondary > th,
.table-secondary > td {
  background-color: #d6d8db; }

.table-secondary th,
.table-secondary td,
.table-secondary thead th,
.table-secondary tbody + tbody {
  border-color: #b3b7bb; }

.table-hover .table-secondary:hover {
  background-color: #c8cbcf; }
  .table-hover .table-secondary:hover > td,
  .table-hover .table-secondary:hover > th {
    background-color: #c8cbcf; }

.table-success,
.table-success > th,
.table-success > td {
  background-color: #c3e6cb; }

.table-success th,
.table-success td,
.table-success thead th,
.table-success tbody + tbody {
  border-color: #8fd19e; }

.table-hover .table-success:hover {
  background-color: #b1dfbb; }
  .table-hover .table-success:hover > td,
  .table-hover .table-success:hover > th {
    background-color: #b1dfbb; }

.table-info,
.table-info > th,
.table-info > td {
  background-color: #bee5eb; }

.table-info th,
.table-info td,
.table-info thead th,
.table-info tbody + tbody {
  border-color: #86cfda; }

.table-hover .table-info:hover {
  background-color: #abdde5; }
  .table-hover .table-info:hover > td,
  .table-hover .table-info:hover > th {
    background-color: #abdde5; }

.table-warning,
.table-warning > th,
.table-warning > td {
  background-color: #ffeeba; }

.table-warning th,
.table-warning td,
.table-warning thead th,
.table-warning tbody + tbody {
  border-color: #ffdf7e; }

.table-hover .table-warning:hover {
  background-color: #ffe8a1; }
  .table-hover .table-warning:hover > td,
  .table-hover .table-warning:hover > th {
    background-color: #ffe8a1; }

.table-danger,
.table-danger > th,
.table-danger > td {
  background-color: #f5c6cb; }

.table-danger th,
.table-danger td,
.table-danger thead th,
.table-danger tbody + tbody {
  border-color: #ed969e; }

.table-hover .table-danger:hover {
  background-color: #f1b0b7; }
  .table-hover .table-danger:hover > td,
  .table-hover .table-danger:hover > th {
    background-color: #f1b0b7; }

.table-light,
.table-light > th,
.table-light > td {
  background-color: #fdfdfe; }

.table-light th,
.table-light td,
.table-light thead th,
.table-light tbody + tbody {
  border-color: #fbfcfc; }

.table-hover .table-light:hover {
  background-color: #ececf6; }
  .table-hover .table-light:hover > td,
  .table-hover .table-light:hover > th {
    background-color: #ececf6; }

.table-dark,
.table-dark > th,
.table-dark > td {
  background-color: #c6c8ca; }

.table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody + tbody {
  border-color: #95999c; }

.table-hover .table-dark:hover {
  background-color: #b9bbbe; }
  .table-hover .table-dark:hover > td,
  .table-hover .table-dark:hover > th {
    background-color: #b9bbbe; }

.table-active,
.table-active > th,
.table-active > td {
  background-color: rgba(0, 0, 0, 0.075); }

.table-hover .table-active:hover {
  background-color: rgba(0, 0, 0, 0.075); }
  .table-hover .table-active:hover > td,
  .table-hover .table-active:hover > th {
    background-color: rgba(0, 0, 0, 0.075); }

.table .thead-dark th {
  color: #fff;
  background-color: #343a40;
  border-color: #454d55; }

.table .thead-light th {
  color: #495057;
  background-color: #e9ecef;
  border-color: #dee2e6; }

.table-dark {
  color: #fff;
  background-color: #343a40; }
  .table-dark th,
  .table-dark td,
  .table-dark thead th {
    border-color: #454d55; }
  .table-dark.table-bordered {
    border: 0; }
  .table-dark.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.05); }
  .table-dark.table-hover tbody tr:hover {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.075); }

@media (max-width: 575.98px) {
  .table-responsive-sm {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .table-responsive-sm > .table-bordered {
      border: 0; } }

@media (max-width: 767.98px) {
  .table-responsive-md {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .table-responsive-md > .table-bordered {
      border: 0; } }

@media (max-width: 991.98px) {
  .table-responsive-lg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .table-responsive-lg > .table-bordered {
      border: 0; } }

@media (max-width: 1199.98px) {
  .table-responsive-xl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .table-responsive-xl > .table-bordered {
      border: 0; } }

.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; }
  .table-responsive > .table-bordered {
    border: 0; }

.form-control {
  display: block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  -webkit-border-radius: 0.25rem;
  border-radius: 0.25rem;
  -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  -o-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .form-control {
      -webkit-transition: none;
      -o-transition: none;
      transition: none; } }
  .form-control::-ms-expand {
    background-color: transparent;
    border: 0; }
  .form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: #80bdff;
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .form-control::-webkit-input-placeholder {
    color: #6c757d;
    opacity: 1; }
  .form-control::-moz-placeholder {
    color: #6c757d;
    opacity: 1; }
  .form-control::-ms-input-placeholder {
    color: #6c757d;
    opacity: 1; }
  .form-control::placeholder {
    color: #6c757d;
    opacity: 1; }
  .form-control:disabled, .form-control[readonly] {
    background-color: #e9ecef;
    opacity: 1; }

select.form-control:focus::-ms-value {
  color: #495057;
  background-color: #fff; }

.form-control-file,
.form-control-range {
  display: block;
  width: 100%; }

.col-form-label {
  padding-top: calc(0.375rem + 1px);
  padding-bottom: calc(0.375rem + 1px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5; }

.col-form-label-lg {
  padding-top: calc(0.5rem + 1px);
  padding-bottom: calc(0.5rem + 1px);
  font-size: 1.25rem;
  line-height: 1.5; }

.col-form-label-sm {
  padding-top: calc(0.25rem + 1px);
  padding-bottom: calc(0.25rem + 1px);
  font-size: 0.875rem;
  line-height: 1.5; }

.form-control-plaintext {
  display: block;
  width: 100%;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  margin-bottom: 0;
  line-height: 1.5;
  color: #212529;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0; }
  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
    padding-right: 0;
    padding-left: 0; }

.form-control-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  -webkit-border-radius: 0.2rem;
  border-radius: 0.2rem; }

.form-control-lg {
  height: calc(1.5em + 1rem + 2px);
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  -webkit-border-radius: 0.3rem;
  border-radius: 0.3rem; }

select.form-control[size], select.form-control[multiple] {
  height: auto; }

textarea.form-control {
  height: auto; }

.form-group {
  margin-bottom: 1rem; }

.form-text {
  display: block;
  margin-top: 0.25rem; }

.form-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -5px;
  margin-left: -5px; }
  .form-row > .col,
  .form-row > [class*="col-"] {
    padding-right: 5px;
    padding-left: 5px; }

.form-check {
  position: relative;
  display: block;
  padding-left: 1.25rem; }

.form-check-input {
  position: absolute;
  margin-top: 0.3rem;
  margin-left: -1.25rem; }
  .form-check-input:disabled ~ .form-check-label {
    color: #6c757d; }

.form-check-label {
  margin-bottom: 0; }

.form-check-inline {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 0;
  margin-right: 0.75rem; }
  .form-check-inline .form-check-input {
    position: static;
    margin-top: 0;
    margin-right: 0.3125rem;
    margin-left: 0; }

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #28a745; }

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(40, 167, 69, 0.9);
  -webkit-border-radius: 0.25rem;
  border-radius: 0.25rem; }

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: #28a745;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center right calc(0.375em + 0.1875rem);
  -webkit-background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }
  .was-validated .form-control:valid:focus, .form-control.is-valid:focus {
    border-color: #28a745;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }
  .was-validated .form-control:valid ~ .valid-feedback,
  .was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,
  .form-control.is-valid ~ .valid-tooltip {
    display: block; }

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }

.was-validated .custom-select:valid, .custom-select.is-valid {
  border-color: #28a745;
  padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }
  .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
    border-color: #28a745;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }
  .was-validated .custom-select:valid ~ .valid-feedback,
  .was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,
  .custom-select.is-valid ~ .valid-tooltip {
    display: block; }

.was-validated .form-control-file:valid ~ .valid-feedback,
.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,
.form-control-file.is-valid ~ .valid-tooltip {
  display: block; }

.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: #28a745; }

.was-validated .form-check-input:valid ~ .valid-feedback,
.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,
.form-check-input.is-valid ~ .valid-tooltip {
  display: block; }

.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
  color: #28a745; }
  .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
    border-color: #28a745; }

.was-validated .custom-control-input:valid ~ .valid-feedback,
.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,
.custom-control-input.is-valid ~ .valid-tooltip {
  display: block; }

.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  border-color: #34ce57;
  background-color: #34ce57; }

.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }

.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #28a745; }

.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
  border-color: #28a745; }

.was-validated .custom-file-input:valid ~ .valid-feedback,
.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,
.custom-file-input.is-valid ~ .valid-tooltip {
  display: block; }

.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
  border-color: #28a745;
  -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #dc3545; }

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.9);
  -webkit-border-radius: 0.25rem;
  border-radius: 0.25rem; }

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: #dc3545;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");
  background-repeat: no-repeat;
  background-position: center right calc(0.375em + 0.1875rem);
  -webkit-background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }
  .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
    border-color: #dc3545;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }
  .was-validated .form-control:invalid ~ .invalid-feedback,
  .was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,
  .form-control.is-invalid ~ .invalid-tooltip {
    display: block; }

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }

.was-validated .custom-select:invalid, .custom-select.is-invalid {
  border-color: #dc3545;
  padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }
  .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
    border-color: #dc3545;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }
  .was-validated .custom-select:invalid ~ .invalid-feedback,
  .was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,
  .custom-select.is-invalid ~ .invalid-tooltip {
    display: block; }

.was-validated .form-control-file:invalid ~ .invalid-feedback,
.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,
.form-control-file.is-invalid ~ .invalid-tooltip {
  display: block; }

.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: #dc3545; }

.was-validated .form-check-input:invalid ~ .invalid-feedback,
.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,
.form-check-input.is-invalid ~ .invalid-tooltip {
  display: block; }

.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
  color: #dc3545; }
  .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
    border-color: #dc3545; }

.was-validated .custom-control-input:invalid ~ .invalid-feedback,
.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,
.custom-control-input.is-invalid ~ .invalid-tooltip {
  display: block; }

.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  border-color: #e4606d;
  background-color: #e4606d; }

.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }

.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #dc3545; }

.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
  border-color: #dc3545; }

.was-validated .custom-file-input:invalid ~ .invalid-feedback,
.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,
.custom-file-input.is-invalid ~ .invalid-tooltip {
  display: block; }

.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
  border-color: #dc3545;
  -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }

.form-inline {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center; }
  .form-inline .form-check {
    width: 100%; }
  @media (min-width: 576px) {
    .form-inline label {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      margin-bottom: 0; }
    .form-inline .form-group {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
      flex: 0 0 auto;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      margin-bottom: 0; }
    .form-inline .form-control {
      display: inline-block;
      width: auto;
      vertical-align: middle; }
    .form-inline .form-control-plaintext {
      display: inline-block; }
    .form-inline .input-group,
    .form-inline .custom-select {
      width: auto; }
    .form-inline .form-check {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      width: auto;
      padding-left: 0; }
    .form-inline .form-check-input {
      position: relative;
      -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      margin-top: 0;
      margin-right: 0.25rem;
      margin-left: 0; }
    .form-inline .custom-control {
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center; }
    .form-inline .custom-control-label {
      margin-bottom: 0; } }

.btn {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  -webkit-border-radius: 0.25rem;
  border-radius: 0.25rem;
  -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .btn {
      -webkit-transition: none;
      -o-transition: none;
      transition: none; } }
  .btn:hover {
    color: #212529;
    text-decoration: none; }
  .btn:focus, .btn.focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .btn.disabled, .btn:disabled {
    opacity: 0.65; }

a.btn.disabled,
fieldset:disabled a.btn {
  pointer-events: none; }

.btn-primary {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff; }
  .btn-primary:hover {
    color: #fff;
    background-color: #0069d9;
    border-color: #0062cc; }
  .btn-primary:focus, .btn-primary.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); }
  .btn-primary.disabled, .btn-primary:disabled {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff; }
  .btn-primary:not(:disabled):not(.disabled):active, .btn-primary.nice-select.open:not(:disabled):not(.disabled), .btn-primary:not(:disabled):not(.disabled).active,
  .show > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #0062cc;
    border-color: #005cbf; }
    .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary.nice-select.open:not(:disabled):not(.disabled):focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
    .show > .btn-primary.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
      box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); }

.btn-secondary {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d; }
  .btn-secondary:hover {
    color: #fff;
    background-color: #5a6268;
    border-color: #545b62; }
  .btn-secondary:focus, .btn-secondary.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }
  .btn-secondary.disabled, .btn-secondary:disabled {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d; }
  .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary.nice-select.open:not(:disabled):not(.disabled), .btn-secondary:not(:disabled):not(.disabled).active,
  .show > .btn-secondary.dropdown-toggle {
    color: #fff;
    background-color: #545b62;
    border-color: #4e555b; }
    .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary.nice-select.open:not(:disabled):not(.disabled):focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,
    .show > .btn-secondary.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
      box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }

.btn-success {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745; }
  .btn-success:hover {
    color: #fff;
    background-color: #218838;
    border-color: #1e7e34; }
  .btn-success:focus, .btn-success.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }
  .btn-success.disabled, .btn-success:disabled {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745; }
  .btn-success:not(:disabled):not(.disabled):active, .btn-success.nice-select.open:not(:disabled):not(.disabled), .btn-success:not(:disabled):not(.disabled).active,
  .show > .btn-success.dropdown-toggle {
    color: #fff;
    background-color: #1e7e34;
    border-color: #1c7430; }
    .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success.nice-select.open:not(:disabled):not(.disabled):focus, .btn-success:not(:disabled):not(.disabled).active:focus,
    .show > .btn-success.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
      box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }

.btn-info {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8; }
  .btn-info:hover {
    color: #fff;
    background-color: #138496;
    border-color: #117a8b; }
  .btn-info:focus, .btn-info.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }
  .btn-info.disabled, .btn-info:disabled {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8; }
  .btn-info:not(:disabled):not(.disabled):active, .btn-info.nice-select.open:not(:disabled):not(.disabled), .btn-info:not(:disabled):not(.disabled).active,
  .show > .btn-info.dropdown-toggle {
    color: #fff;
    background-color: #117a8b;
    border-color: #10707f; }
    .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info.nice-select.open:not(:disabled):not(.disabled):focus, .btn-info:not(:disabled):not(.disabled).active:focus,
    .show > .btn-info.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
      box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }

.btn-warning {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107; }
  .btn-warning:hover {
    color: #212529;
    background-color: #e0a800;
    border-color: #d39e00; }
  .btn-warning:focus, .btn-warning.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }
  .btn-warning.disabled, .btn-warning:disabled {
    color: #212529;
    background-color: #ffc107;
    border-color: #ffc107; }
  .btn-warning:not(:disabled):not(.disabled):active, .btn-warning.nice-select.open:not(:disabled):not(.disabled), .btn-warning:not(:disabled):not(.disabled).active,
  .show > .btn-warning.dropdown-toggle {
    color: #212529;
    background-color: #d39e00;
    border-color: #c69500; }
    .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning.nice-select.open:not(:disabled):not(.disabled):focus, .btn-warning:not(:disabled):not(.disabled).active:focus,
    .show > .btn-warning.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
      box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }

.btn-danger {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545; }
  .btn-danger:hover {
    color: #fff;
    background-color: #c82333;
    border-color: #bd2130; }
  .btn-danger:focus, .btn-danger.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); }
  .btn-danger.disabled, .btn-danger:disabled {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545; }
  .btn-danger:not(:disabled):not(.disabled):active, .btn-danger.nice-select.open:not(:disabled):not(.disabled), .btn-danger:not(:disabled):not(.disabled).active,
  .show > .btn-danger.dropdown-toggle {
    color: #fff;
    background-color: #bd2130;
    border-color: #b21f2d; }
    .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger.nice-select.open:not(:disabled):not(.disabled):focus, .btn-danger:not(:disabled):not(.disabled).active:focus,
    .show > .btn-danger.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
      box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); }

.btn-light {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa; }
  .btn-light:hover {
    color: #212529;
    background-color: #e2e6ea;
    border-color: #dae0e5; }
  .btn-light:focus, .btn-light.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }
  .btn-light.disabled, .btn-light:disabled {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa; }
  .btn-light:not(:disabled):not(.disabled):active, .btn-light.nice-select.open:not(:disabled):not(.disabled), .btn-light:not(:disabled):not(.disabled).active,
  .show > .btn-light.dropdown-toggle {
    color: #212529;
    background-color: #dae0e5;
    border-color: #d3d9df; }
    .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light.nice-select.open:not(:disabled):not(.disabled):focus, .btn-light:not(:disabled):not(.disabled).active:focus,
    .show > .btn-light.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
      box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }

.btn-dark {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40; }
  .btn-dark:hover {
    color: #fff;
    background-color: #23272b;
    border-color: #1d2124; }
  .btn-dark:focus, .btn-dark.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }
  .btn-dark.disabled, .btn-dark:disabled {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40; }
  .btn-dark:not(:disabled):not(.disabled):active, .btn-dark.nice-select.open:not(:disabled):not(.disabled), .btn-dark:not(:disabled):not(.disabled).active,
  .show > .btn-dark.dropdown-toggle {
    color: #fff;
    background-color: #1d2124;
    border-color: #171a1d; }
    .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark.nice-select.open:not(:disabled):not(.disabled):focus, .btn-dark:not(:disabled):not(.disabled).active:focus,
    .show > .btn-dark.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
      box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }

.btn-outline-primary {
  color: #007bff;
  border-color: #007bff; }
  .btn-outline-primary:hover {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff; }
  .btn-outline-primary:focus, .btn-outline-primary.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }
  .btn-outline-primary.disabled, .btn-outline-primary:disabled {
    color: #007bff;
    background-color: transparent; }
  .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary.nice-select.open:not(:disabled):not(.disabled), .btn-outline-primary:not(:disabled):not(.disabled).active,
  .show > .btn-outline-primary.dropdown-toggle {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff; }
    .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary.nice-select.open:not(:disabled):not(.disabled):focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-primary.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
      box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }

.btn-outline-secondary {
  color: #6c757d;
  border-color: #6c757d; }
  .btn-outline-secondary:hover {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d; }
  .btn-outline-secondary:focus, .btn-outline-secondary.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }
  .btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
    color: #6c757d;
    background-color: transparent; }
  .btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary.nice-select.open:not(:disabled):not(.disabled), .btn-outline-secondary:not(:disabled):not(.disabled).active,
  .show > .btn-outline-secondary.dropdown-toggle {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d; }
    .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary.nice-select.open:not(:disabled):not(.disabled):focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-secondary.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
      box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }

.btn-outline-success {
  color: #28a745;
  border-color: #28a745; }
  .btn-outline-success:hover {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745; }
  .btn-outline-success:focus, .btn-outline-success.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }
  .btn-outline-success.disabled, .btn-outline-success:disabled {
    color: #28a745;
    background-color: transparent; }
  .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success.nice-select.open:not(:disabled):not(.disabled), .btn-outline-success:not(:disabled):not(.disabled).active,
  .show > .btn-outline-success.dropdown-toggle {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745; }
    .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success.nice-select.open:not(:disabled):not(.disabled):focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-success.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
      box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }

.btn-outline-info {
  color: #17a2b8;
  border-color: #17a2b8; }
  .btn-outline-info:hover {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8; }
  .btn-outline-info:focus, .btn-outline-info.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }
  .btn-outline-info.disabled, .btn-outline-info:disabled {
    color: #17a2b8;
    background-color: transparent; }
  .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info.nice-select.open:not(:disabled):not(.disabled), .btn-outline-info:not(:disabled):not(.disabled).active,
  .show > .btn-outline-info.dropdown-toggle {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8; }
    .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info.nice-select.open:not(:disabled):not(.disabled):focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-info.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
      box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }

.btn-outline-warning {
  color: #ffc107;
  border-color: #ffc107; }
  .btn-outline-warning:hover {
    color: #212529;
    background-color: #ffc107;
    border-color: #ffc107; }
  .btn-outline-warning:focus, .btn-outline-warning.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }
  .btn-outline-warning.disabled, .btn-outline-warning:disabled {
    color: #ffc107;
    background-color: transparent; }
  .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning.nice-select.open:not(:disabled):not(.disabled), .btn-outline-warning:not(:disabled):not(.disabled).active,
  .show > .btn-outline-warning.dropdown-toggle {
    color: #212529;
    background-color: #ffc107;
    border-color: #ffc107; }
    .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning.nice-select.open:not(:disabled):not(.disabled):focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-warning.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
      box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }

.btn-outline-danger {
  color: #dc3545;
  border-color: #dc3545; }
  .btn-outline-danger:hover {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545; }
  .btn-outline-danger:focus, .btn-outline-danger.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }
  .btn-outline-danger.disabled, .btn-outline-danger:disabled {
    color: #dc3545;
    background-color: transparent; }
  .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger.nice-select.open:not(:disabled):not(.disabled), .btn-outline-danger:not(:disabled):not(.disabled).active,
  .show > .btn-outline-danger.dropdown-toggle {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545; }
    .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger.nice-select.open:not(:disabled):not(.disabled):focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-danger.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
      box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }

.btn-outline-light {
  color: #f8f9fa;
  border-color: #f8f9fa; }
  .btn-outline-light:hover {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa; }
  .btn-outline-light:focus, .btn-outline-light.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }
  .btn-outline-light.disabled, .btn-outline-light:disabled {
    color: #f8f9fa;
    background-color: transparent; }
  .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light.nice-select.open:not(:disabled):not(.disabled), .btn-outline-light:not(:disabled):not(.disabled).active,
  .show > .btn-outline-light.dropdown-toggle {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa; }
    .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light.nice-select.open:not(:disabled):not(.disabled):focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-light.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
      box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }

.btn-outline-dark {
  color: #343a40;
  border-color: #343a40; }
  .btn-outline-dark:hover {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40; }
  .btn-outline-dark:focus, .btn-outline-dark.focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }
  .btn-outline-dark.disabled, .btn-outline-dark:disabled {
    color: #343a40;
    background-color: transparent; }
  .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark.nice-select.open:not(:disabled):not(.disabled), .btn-outline-dark:not(:disabled):not(.disabled).active,
  .show > .btn-outline-dark.dropdown-toggle {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40; }
    .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark.nice-select.open:not(:disabled):not(.disabled):focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-dark.dropdown-toggle:focus {
      -webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
      box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }

.btn-link {
  font-weight: 400;
  color: #007bff;
  text-decoration: none; }
  .btn-link:hover {
    color: #0056b3;
    text-decoration: underline; }
  .btn-link:focus, .btn-link.focus {
    text-decoration: underline;
    -webkit-box-shadow: none;
    box-shadow: none; }
  .btn-link:disabled, .btn-link.disabled {
    color: #6c757d;
    pointer-events: none; }

.btn-lg, .btn-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  -webkit-border-radius: 0.3rem;
  border-radius: 0.3rem; }

.btn-sm, .btn-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  -webkit-border-radius: 0.2rem;
  border-radius: 0.2rem; }

.btn-block {
  display: block;
  width: 100%; }
  .btn-block + .btn-block {
    margin-top: 0.5rem; }

input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%; }

.fade {
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear; }
  @media (prefers-reduced-motion: reduce) {
    .fade {
      -webkit-transition: none;
      -o-transition: none;
      transition: none; } }
  .fade:not(.show) {
    opacity: 0; }

.collapse:not(.show) {
  display: none; }

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition: height 0.35s ease;
  -o-transition: height 0.35s ease;
  transition: height 0.35s ease; }
  @media (prefers-reduced-motion: reduce) {
    .collapsing {
      -webkit-transition: none;
      -o-transition: none;
      transition: none; } }

.dropup,
.dropright,
.dropdown,
.dropleft {
  position: relative; }

.dropdown-toggle {
  white-space: nowrap; }
  .dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent; }
  .dropdown-toggle:empty::after {
    margin-left: 0; }

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 10rem;
  padding: 0.5rem 0;
  margin: 0.125rem 0 0;
  font-size: 1rem;
  color: #212529;
  text-align: left;
  list-style: none;
  background-color: #fff;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  -webkit-border-radius: 0.25rem;
  border-radius: 0.25rem; }

.dropdown-menu-left {
  right: auto;
  left: 0; }

.dropdown-menu-right {
  right: 0;
  left: auto; }

@media (min-width: 576px) {
  .dropdown-menu-sm-left {
    right: auto;
    left: 0; }
  .dropdown-menu-sm-right {
    right: 0;
    left: auto; } }

@media (min-width: 768px) {
  .dropdown-menu-md-left {
    right: auto;
    left: 0; }
  .dropdown-menu-md-right {
    right: 0;
    left: auto; } }

@media (min-width: 992px) {
  .dropdown-menu-lg-left {
    right: auto;
    left: 0; }
  .dropdown-menu-lg-right {
    right: 0;
    left: auto; } }

@media (min-width: 1200px) {
  .dropdown-menu-xl-left {
    right: auto;
    left: 0; }
  .dropdown-menu-xl-right {
    right: 0;
    left: auto; } }

.dropup .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.125rem; }

.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent; }

.dropup .dropdown-toggle:empty::after {
  margin-left: 0; }

.dropright .dropdown-menu {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: 0.125rem; }

.dropright .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid; }

.dropright .dropdown-toggle:empty::after {
  margin-left: 0; }

.dropright .dropdown-toggle::after {
  vertical-align: 0; }

.dropleft .dropdown-menu {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem; }

.dropleft .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: ""; }

.dropleft .dropdown-toggle::after {
  display: none; }

.dropleft .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent; }

.dropleft .dropdown-toggle:empty::after {
  margin-left: 0; }

.dropleft .dropdown-toggle::before {
  vertical-align: 0; }

.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] {
  right: auto;
  bottom: auto; }

.dropdown-divider {
  height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
  border-top: 1px solid #e9ecef; }

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0; }
  .dropdown-item:hover, .dropdown-item:focus {
    color: #16181b;
    text-decoration: none;
    background-color: #f8f9fa; }
  .dropdown-item.active, .dropdown-item:active, .dropdown-item.nice-select.open {
    color: #fff;
    text-decoration: none;
    background-color: #007bff; }
  .dropdown-item.disabled, .dropdown-item:disabled {
    color: #6c757d;
    pointer-events: none;
    background-color: transparent; }

.dropdown-menu.show {
  display: block; }

.dropdown-header {
  display: block;
  padding: 0.5rem 1.5rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #6c757d;
  white-space: nowrap; }

.dropdown-item-text {
  display: block;
  padding: 0.25rem 1.5rem;
  color: #212529; }

.btn-group,
.btn-group-vertical {
  position: relative;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: middle; }
  .btn-group > .btn,
  .btn-group-vertical > .btn {
    position: relative;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto; }
    .btn-group > .btn:hover,
    .btn-group-vertical > .btn:hover {
      z-index: 1; }
    .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.nice-select.open, .btn-group > .btn.active,
    .btn-group-vertical > .btn:focus,
    .btn-group-vertical > .btn:active,
    .btn-group-vertical > .btn.nice-select.open,
    .btn-group-vertical > .btn.active {
      z-index: 1; }

.btn-toolbar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start; }
  .btn-toolbar .input-group {
    width: auto; }

.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) {
  margin-left: -1px; }

.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) > .btn {
  -webkit-border-top-right-radius: 0;
  border-top-right-radius: 0;
  -webkit-border-bottom-right-radius: 0;
  border-bottom-right-radius: 0; }

.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) > .btn {
  -webkit-border-top-left-radius: 0;
  border-top-left-radius: 0;
  -webkit-border-bottom-left-radius: 0;
  border-bottom-left-radius: 0; }

.dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem; }
  .dropdown-toggle-split::after,
  .dropup .dropdown-toggle-split::after,
  .dropright .dropdown-toggle-split::after {
    margin-left: 0; }
  .dropleft .dropdown-toggle-split::before {
    margin-right: 0; }

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem; }

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem; }

.btn-group-vertical {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center; }
  .btn-group-vertical > .btn,
  .btn-group-vertical > .btn-group {
    width: 100%; }
  .btn-group-vertical > .btn:not(:first-child),
  .btn-group-vertical > .btn-group:not(:first-child) {
    margin-top: -1px; }
  .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
  .btn-group-vertical > .btn-group:not(:last-child) > .btn {
    -webkit-border-bottom-right-radius: 0;
    border-bottom-right-radius: 0;
    -webkit-border-bottom-left-radius: 0;
    border-bottom-left-radius: 0; }
  .btn-group-vertical > .btn:not(:first-child),
  .btn-group-vertical > .btn-group:not(:first-child) > .btn {
    -webkit-border-top-left-radius: 0;
    border-top-left-radius: 0;
    -webkit-border-top-right-radius: 0;
    border-top-right-radius: 0; }

.btn-group-toggle > .btn,
.btn-group-toggle > .btn-group > .btn {
  margin-bottom: 0; }
  .btn-group-toggle > .btn input[type="radio"],
  .btn-group-toggle > .btn input[type="checkbox"],
  .btn-group-toggle > .btn-group > .btn input[type="radio"],
  .btn-group-toggle > .btn-group > .btn input[type="checkbox"] {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none; }

.input-group {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: 100%; }
  .input-group > .form-control,
  .input-group > .form-control-plaintext,
  .input-group > .custom-select,
  .input-group > .custom-file {
    position: relative;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    width: 1%;
    margin-bottom: 0; }
    .input-group > .form-control + .form-control,
    .input-group > .form-control + .custom-select,
    .input-group > .form-control + .custom-file,
    .input-group > .form-control-plaintext + .form-control,
    .input-group > .form-control-plaintext + .custom-select,
    .input-group > .form-control-plaintext + .custom-file,
    .input-group > .custom-select + .form-control,
    .input-group > .custom-select + .custom-select,
    .input-group > .custom-select + .custom-file,
    .input-group > .custom-file + .form-control,
    .input-group > .custom-file + .custom-select,
    .input-group > .custom-file + .custom-file {
      margin-left: -1px; }
  .input-group > .form-control:focus,
  .input-group > .custom-select:focus,
  .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
    z-index: 3; }
  .input-group > .custom-file .custom-file-input:focus {
    z-index: 4; }
  .input-group > .form-control:not(:last-child),
  .input-group > .custom-select:not(:last-child) {
    -webkit-border-top-right-radius: 0;
    border-top-right-radius: 0;
    -webkit-border-bottom-right-radius: 0;
    border-bottom-right-radius: 0; }
  .input-group > .form-control:not(:first-child),
  .input-group > .custom-select:not(:first-child) {
    -webkit-border-top-left-radius: 0;
    border-top-left-radius: 0;
    -webkit-border-bottom-left-radius: 0;
    border-bottom-left-radius: 0; }
  .input-group > .custom-file {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center; }
    .input-group > .custom-file:not(:last-child) .custom-file-label,
    .input-group > .custom-file:not(:last-child) .custom-file-label::after {
      -webkit-border-top-right-radius: 0;
      border-top-right-radius: 0;
      -webkit-border-bottom-right-radius: 0;
      border-bottom-right-radius: 0; }
    .input-group > .custom-file:not(:first-child) .custom-file-label {
      -webkit-border-top-left-radius: 0;
      border-top-left-radius: 0;
      -webkit-border-bottom-left-radius: 0;
      border-bottom-left-radius: 0; }

.input-group-prepend,
.input-group-append {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  .input-group-prepend .btn,
  .input-group-append .btn {
    position: relative;
    z-index: 2; }
    .input-group-prepend .btn:focus,
    .input-group-append .btn:focus {
      z-index: 3; }
  .input-group-prepend .btn + .btn,
  .input-group-prepend .btn + .input-group-text,
  .input-group-prepend .input-group-text + .input-group-text,
  .input-group-prepend .input-group-text + .btn,
  .input-group-append .btn + .btn,
  .input-group-append .btn + .input-group-text,
  .input-group-append .input-group-text + .input-group-text,
  .input-group-append .input-group-text + .btn {
    margin-left: -1px; }

.input-group-prepend {
  margin-right: -1px; }

.input-group-append {
  margin-left: -1px; }

.input-group-text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0.375rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  -webkit-border-radius: 0.25rem;
  border-radius: 0.25rem; }
  .input-group-text input[type="radio"],
  .input-group-text input[type="checkbox"] {
    margin-top: 0; }

.input-group-lg > .form-control:not(textarea),
.input-group-lg > .custom-select {
  height: calc(1.5em + 1rem + 2px); }

.input-group-lg > .form-control,
.input-group-lg > .custom-select,
.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .btn,
.input-group-lg > .input-group-append > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  -webkit-border-radius: 0.3rem;
  border-radius: 0.3rem; }

.input-group-sm > .form-control:not(textarea),
.input-group-sm > .custom-select {
  height: calc(1.5em + 0.5rem + 2px); }

.input-group-sm > .form-control,
.input-group-sm > .custom-select,
.input-group-sm > .input-group-prepend > .input-group-text,
.input-group-sm > .input-group-append > .input-group-text,
.input-group-sm > .input-group-prepend > .btn,
.input-group-sm > .input-group-append > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  -webkit-border-radius: 0.2rem;
  border-radius: 0.2rem; }

.input-group-lg > .custom-select,
.input-group-sm > .custom-select {
  padding-right: 1.75rem; }

.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text,
.input-group > .input-group-append:not(:last-child) > .btn,
.input-group > .input-group-append:not(:last-child) > .input-group-text,
.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
  -webkit-border-top-right-radius: 0;
  border-top-right-radius: 0;
  -webkit-border-bottom-right-radius: 0;
  border-bottom-right-radius: 0; }

.input-group > .input-group-append > .btn,
.input-group > .input-group-append > .input-group-text,
.input-group > .input-group-prepend:not(:first-child) > .btn,
.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
  -webkit-border-top-left-radius: 0;
  border-top-left-radius: 0;
  -webkit-border-bottom-left-radius: 0;
  border-bottom-left-radius: 0; }

.custom-control {
  position: relative;
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5rem; }

.custom-control-inline {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-right: 1rem; }

.custom-control-input {
  position: absolute;
  z-index: -1;
  opacity: 0; }
  .custom-control-input:checked ~ .custom-control-label::before {
    color: #fff;
    border-color: #007bff;
    background-color: #007bff; }
  .custom-control-input:focus ~ .custom-control-label::before {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
    border-color: #80bdff; }
  .custom-control-input:not(:disabled):active ~ .custom-control-label::before, .custom-control-input.nice-select.open:not(:disabled) ~ .custom-control-label::before {
    color: #fff;
    background-color: #b3d7ff;
    border-color: #b3d7ff; }
  .custom-control-input:disabled ~ .custom-control-label {
    color: #6c757d; }
    .custom-control-input:disabled ~ .custom-control-label::before {
      background-color: #e9ecef; }

.custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top; }
  .custom-control-label::before {
    position: absolute;
    top: 0.25rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    pointer-events: none;
    content: "";
    background-color: #fff;
    border: #adb5bd solid 1px; }
  .custom-control-label::after {
    position: absolute;
    top: 0.25rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    content: "";
    background: no-repeat 50% / 50% 50%; }

.custom-checkbox .custom-control-label::before {
  -webkit-border-radius: 0.25rem;
  border-radius: 0.25rem; }

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e"); }

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  border-color: #007bff;
  background-color: #007bff; }

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); }

.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5); }

.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5); }

.custom-radio .custom-control-label::before {
  -webkit-border-radius: 50%;
  border-radius: 50%; }

.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); }

.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5); }

.custom-switch {
  padding-left: 2.25rem; }
  .custom-switch .custom-control-label::before {
    left: -2.25rem;
    width: 1.75rem;
    pointer-events: all;
    -webkit-border-radius: 0.5rem;
    border-radius: 0.5rem; }
  .custom-switch .custom-control-label::after {
    top: calc(0.25rem + 2px);
    left: calc(-2.25rem + 2px);
    width: calc(1rem - 4px);
    height: calc(1rem - 4px);
    background-color: #adb5bd;
    -webkit-border-radius: 0.5rem;
    border-radius: 0.5rem;
    -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    -o-transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; }
    @media (prefers-reduced-motion: reduce) {
      .custom-switch .custom-control-label::after {
        -webkit-transition: none;
        -o-transition: none;
        transition: none; } }
  .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
    background-color: #fff;
    -webkit-transform: translateX(0.75rem);
    -ms-transform: translateX(0.75rem);
    transform: translateX(0.75rem); }
  .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(0, 123, 255, 0.5); }

.custom-select {
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  vertical-align: middle;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;
  background-color: #fff;
  border: 1px solid #ced4da;
  -webkit-border-radius: 0.25rem;
  border-radius: 0.25rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }
  .custom-select:focus {
    border-color: #80bdff;
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .custom-select:focus::-ms-value {
      color: #495057;
      background-color: #fff; }
  .custom-select[multiple], .custom-select[size]:not([size="1"]) {
    height: auto;
    padding-right: 0.75rem;
    background-image: none; }
  .custom-select:disabled {
    color: #6c757d;
    background-color: #e9ecef; }
  .custom-select::-ms-expand {
    display: none; }

.custom-select-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem; }

.custom-select-lg {
  height: calc(1.5em + 1rem + 2px);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem; }

.custom-file {
  position: relative;
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  margin-bottom: 0; }

.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  margin: 0;
  opacity: 0; }
  .custom-file-input:focus ~ .custom-file-label {
    border-color: #80bdff;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .custom-file-input:disabled ~ .custom-file-label {
    background-color: #e9ecef; }
  .custom-file-input:lang(en) ~ .custom-file-label::after {
    content: "Browse"; }
  .custom-file-input ~ .custom-file-label[data-browse]::after {
    content: attr(data-browse); }

.custom-file-label {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  border: 1px solid #ced4da;
  -webkit-border-radius: 0.25rem;
  border-radius: 0.25rem; }
  .custom-file-label::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: block;
    height: calc(1.5em + 0.75rem);
    padding: 0.375rem 0.75rem;
    line-height: 1.5;
    color: #495057;
    content: "Browse";
    background-color: #e9ecef;
    border-left: inherit;
    -webkit-border-radius: 0 0.25rem 0.25rem 0;
    border-radius: 0 0.25rem 0.25rem 0; }

.custom-range {
  width: 100%;
  height: calc(1rem + 0.4rem);
  padding: 0;
  background-color: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }
  .custom-range:focus {
    outline: none; }
    .custom-range:focus::-webkit-slider-thumb {
      -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .custom-range:focus::-moz-range-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .custom-range:focus::-ms-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .custom-range::-moz-focus-outer {
    border: 0; }
  .custom-range::-webkit-slider-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: -0.25rem;
    background-color: #007bff;
    border: 0;
    -webkit-border-radius: 1rem;
    border-radius: 1rem;
    -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    -o-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    -webkit-appearance: none;
    appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .custom-range::-webkit-slider-thumb {
        -webkit-transition: none;
        -o-transition: none;
        transition: none; } }
    .custom-range::-webkit-slider-thumb:active, .custom-range.nice-select.open::-webkit-slider-thumb {
      background-color: #b3d7ff; }
  .custom-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent;
    -webkit-border-radius: 1rem;
    border-radius: 1rem; }
  .custom-range::-moz-range-thumb {
    width: 1rem;
    height: 1rem;
    background-color: #007bff;
    border: 0;
    border-radius: 1rem;
    -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    -o-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    -moz-appearance: none;
    appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .custom-range::-moz-range-thumb {
        -webkit-transition: none;
        -o-transition: none;
        transition: none; } }
    .custom-range::-moz-range-thumb:active, .custom-range.nice-select.open::-moz-range-thumb {
      background-color: #b3d7ff; }
  .custom-range::-moz-range-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent;
    border-radius: 1rem; }
  .custom-range::-ms-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: 0;
    margin-right: 0.2rem;
    margin-left: 0.2rem;
    background-color: #007bff;
    border: 0;
    border-radius: 1rem;
    -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    -o-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .custom-range::-ms-thumb {
        -webkit-transition: none;
        -o-transition: none;
        transition: none; } }
    .custom-range::-ms-thumb:active, .custom-range.nice-select.open::-ms-thumb {
      background-color: #b3d7ff; }
  .custom-range::-ms-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: transparent;
    border-color: transparent;
    border-width: 0.5rem; }
  .custom-range::-ms-fill-lower {
    background-color: #dee2e6;
    border-radius: 1rem; }
  .custom-range::-ms-fill-upper {
    margin-right: 15px;
    background-color: #dee2e6;
    border-radius: 1rem; }
  .custom-range:disabled::-webkit-slider-thumb {
    background-color: #adb5bd; }
  .custom-range:disabled::-webkit-slider-runnable-track {
    cursor: default; }
  .custom-range:disabled::-moz-range-thumb {
    background-color: #adb5bd; }
  .custom-range:disabled::-moz-range-track {
    cursor: default; }
  .custom-range:disabled::-ms-thumb {
    background-color: #adb5bd; }

.custom-control-label::before,
.custom-file-label,
.custom-select {
  -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  -o-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .custom-control-label::before,
    .custom-file-label,
    .custom-select {
      -webkit-transition: none;
      -o-transition: none;
      transition: none; } }

.nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }

.nav-link {
  display: block;
  padding: 0.5rem 1rem; }
  .nav-link:hover, .nav-link:focus {
    text-decoration: none; }
  .nav-link.disabled {
    color: #6c757d;
    pointer-events: none;
    cursor: default; }

.nav-tabs {
  border-bottom: 1px solid #dee2e6; }
  .nav-tabs .nav-item {
    margin-bottom: -1px; }
  .nav-tabs .nav-link {
    border: 1px solid transparent;
    -webkit-border-top-left-radius: 0.25rem;
    border-top-left-radius: 0.25rem;
    -webkit-border-top-right-radius: 0.25rem;
    border-top-right-radius: 0.25rem; }
    .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
      border-color: #e9ecef #e9ecef #dee2e6; }
    .nav-tabs .nav-link.disabled {
      color: #6c757d;
      background-color: transparent;
      border-color: transparent; }
  .nav-tabs .nav-link.active,
  .nav-tabs .nav-item.show .nav-link {
    color: #495057;
    background-color: #fff;
    border-color: #dee2e6 #dee2e6 #fff; }
  .nav-tabs .dropdown-menu {
    margin-top: -1px;
    -webkit-border-top-left-radius: 0;
    border-top-left-radius: 0;
    -webkit-border-top-right-radius: 0;
    border-top-right-radius: 0; }

.nav-pills .nav-link {
  -webkit-border-radius: 0.25rem;
  border-radius: 0.25rem; }

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #007bff; }

.nav-fill .nav-item {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  text-align: center; }

.nav-justified .nav-item {
  -webkit-flex-basis: 0;
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  text-align: center; }

.tab-content > .tab-pane {
  display: none; }

.tab-content > .active {
  display: block; }

.navbar {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 0.5rem 1rem; }
  .navbar > .container, .navbar > .header-container,
  .navbar > .container-fluid {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between; }

.navbar-brand {
  display: inline-block;
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  margin-right: 1rem;
  font-size: 1.25rem;
  line-height: inherit;
  white-space: nowrap; }
  .navbar-brand:hover, .navbar-brand:focus {
    text-decoration: none; }

.navbar-nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }
  .navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 0; }
  .navbar-nav .dropdown-menu {
    position: static;
    float: none; }

.navbar-text {
  display: inline-block;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem; }

.navbar-collapse {
  -webkit-flex-basis: 100%;
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center; }

.navbar-toggler {
  padding: 0.25rem 0.75rem;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  -webkit-border-radius: 0.25rem;
  border-radius: 0.25rem; }
  .navbar-toggler:hover, .navbar-toggler:focus {
    text-decoration: none; }

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  content: "";
  background: no-repeat center center;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%; }

@media (max-width: 575.98px) {
  .navbar-expand-sm > .container, .navbar-expand-sm > .header-container,
  .navbar-expand-sm > .container-fluid {
    padding-right: 0;
    padding-left: 0; } }

@media (min-width: 576px) {
  .navbar-expand-sm {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start; }
    .navbar-expand-sm .navbar-nav {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
      -ms-flex-direction: row;
      flex-direction: row; }
      .navbar-expand-sm .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-sm .navbar-nav .nav-link {
        padding-right: 0.5rem;
        padding-left: 0.5rem; }
    .navbar-expand-sm > .container, .navbar-expand-sm > .header-container,
    .navbar-expand-sm > .container-fluid {
      -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
    .navbar-expand-sm .navbar-collapse {
      display: -webkit-box !important;
      display: -webkit-flex !important;
      display: -ms-flexbox !important;
      display: flex !important;
      -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
      flex-basis: auto; }
    .navbar-expand-sm .navbar-toggler {
      display: none; } }

@media (max-width: 767.98px) {
  .navbar-expand-md > .container, .navbar-expand-md > .header-container,
  .navbar-expand-md > .container-fluid {
    padding-right: 0;
    padding-left: 0; } }

@media (min-width: 768px) {
  .navbar-expand-md {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start; }
    .navbar-expand-md .navbar-nav {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
      -ms-flex-direction: row;
      flex-direction: row; }
      .navbar-expand-md .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-md .navbar-nav .nav-link {
        padding-right: 0.5rem;
        padding-left: 0.5rem; }
    .navbar-expand-md > .container, .navbar-expand-md > .header-container,
    .navbar-expand-md > .container-fluid {
      -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
    .navbar-expand-md .navbar-collapse {
      display: -webkit-box !important;
      display: -webkit-flex !important;
      display: -ms-flexbox !important;
      display: flex !important;
      -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
      flex-basis: auto; }
    .navbar-expand-md .navbar-toggler {
      display: none; } }

@media (max-width: 991.98px) {
  .navbar-expand-lg > .container, .navbar-expand-lg > .header-container,
  .navbar-expand-lg > .container-fluid {
    padding-right: 0;
    padding-left: 0; } }

@media (min-width: 992px) {
  .navbar-expand-lg {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start; }
    .navbar-expand-lg .navbar-nav {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
      -ms-flex-direction: row;
      flex-direction: row; }
      .navbar-expand-lg .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 0.5rem;
        padding-left: 0.5rem; }
    .navbar-expand-lg > .container, .navbar-expand-lg > .header-container,
    .navbar-expand-lg > .container-fluid {
      -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
    .navbar-expand-lg .navbar-collapse {
      display: -webkit-box !important;
      display: -webkit-flex !important;
      display: -ms-flexbox !important;
      display: flex !important;
      -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
      flex-basis: auto; }
    .navbar-expand-lg .navbar-toggler {
      display: none; } }

@media (max-width: 1199.98px) {
  .navbar-expand-xl > .container, .navbar-expand-xl > .header-container,
  .navbar-expand-xl > .container-fluid {
    padding-right: 0;
    padding-left: 0; } }

@media (min-width: 1200px) {
  .navbar-expand-xl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start; }
    .navbar-expand-xl .navbar-nav {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
      -ms-flex-direction: row;
      flex-direction: row; }
      .navbar-expand-xl .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-xl .navbar-nav .nav-link {
        padding-right: 0.5rem;
        padding-left: 0.5rem; }
    .navbar-expand-xl > .container, .navbar-expand-xl > .header-container,
    .navbar-expand-xl > .container-fluid {
      -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
    .navbar-expand-xl .navbar-collapse {
      display: -webkit-box !important;
      display: -webkit-flex !important;
      display: -ms-flexbox !important;
      display: flex !important;
      -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
      flex-basis: auto; }
    .navbar-expand-xl .navbar-toggler {
      display: none; } }

.navbar-expand {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row nowrap;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start; }
  .navbar-expand > .container, .navbar-expand > .header-container,
  .navbar-expand > .container-fluid {
    padding-right: 0;
    padding-left: 0; }
  .navbar-expand .navbar-nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row; }
    .navbar-expand .navbar-nav .dropdown-menu {
      position: absolute; }
    .navbar-expand .navbar-nav .nav-link {
      padding-right: 0.5rem;
      padding-left: 0.5rem; }
  .navbar-expand > .container, .navbar-expand > .header-container,
  .navbar-expand > .container-fluid {
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap; }
  .navbar-expand .navbar-collapse {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
    flex-basis: auto; }
  .navbar-expand .navbar-toggler {
    display: none; }

.navbar-light .navbar-brand {
  color: rgba(0, 0, 0, 0.9); }
  .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
    color: rgba(0, 0, 0, 0.9); }

.navbar-light .navbar-nav .nav-link {
  color: rgba(0, 0, 0, 0.5); }
  .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
    color: rgba(0, 0, 0, 0.7); }
  .navbar-light .navbar-nav .nav-link.disabled {
    color: rgba(0, 0, 0, 0.3); }

.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .nav-link.active {
  color: rgba(0, 0, 0, 0.9); }

.navbar-light .navbar-toggler {
  color: rgba(0, 0, 0, 0.5);
  border-color: rgba(0, 0, 0, 0.1); }

.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

.navbar-light .navbar-text {
  color: rgba(0, 0, 0, 0.5); }
  .navbar-light .navbar-text a {
    color: rgba(0, 0, 0, 0.9); }
    .navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {
      color: rgba(0, 0, 0, 0.9); }

.navbar-dark .navbar-brand {
  color: #fff; }
  .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
    color: #fff; }

.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.5); }
  .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
    color: rgba(255, 255, 255, 0.75); }
  .navbar-dark .navbar-nav .nav-link.disabled {
    color: rgba(255, 255, 255, 0.25); }

.navbar-dark .navbar-nav .show > .nav-link,
.navbar-dark .navbar-nav .active > .nav-link,
.navbar-dark .navbar-nav .nav-link.show,
.navbar-dark .navbar-nav .nav-link.active {
  color: #fff; }

.navbar-dark .navbar-toggler {
  color: rgba(255, 255, 255, 0.5);
  border-color: rgba(255, 255, 255, 0.1); }

.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

.navbar-dark .navbar-text {
  color: rgba(255, 255, 255, 0.5); }
  .navbar-dark .navbar-text a {
    color: #fff; }
    .navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {
      color: #fff; }

.card {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  -webkit-border-radius: 0.25rem;
  border-radius: 0.25rem; }
  .card > hr {
    margin-right: 0;
    margin-left: 0; }
  .card > .list-group:first-child .list-group-item:first-child {
    -webkit-border-top-left-radius: 0.25rem;
    border-top-left-radius: 0.25rem;
    -webkit-border-top-right-radius: 0.25rem;
    border-top-right-radius: 0.25rem; }
  .card > .list-group:last-child .list-group-item:last-child {
    -webkit-border-bottom-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
    -webkit-border-bottom-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem; }

.card-body {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  padding: 1.25rem; }

.card-title {
  margin-bottom: 0.75rem; }

.card-subtitle {
  margin-top: -0.375rem;
  margin-bottom: 0; }

.card-text:last-child {
  margin-bottom: 0; }

.card-link:hover {
  text-decoration: none; }

.card-link + .card-link {
  margin-left: 1.25rem; }

.card-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125); }
  .card-header:first-child {
    -webkit-border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
    border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; }
  .card-header + .list-group .list-group-item:first-child {
    border-top: 0; }

.card-footer {
  padding: 0.75rem 1.25rem;
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 1px solid rgba(0, 0, 0, 0.125); }
  .card-footer:last-child {
    -webkit-border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
    border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); }

.card-header-tabs {
  margin-right: -0.625rem;
  margin-bottom: -0.75rem;
  margin-left: -0.625rem;
  border-bottom: 0; }

.card-header-pills {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem; }

.card-img {
  width: 100%;
  -webkit-border-radius: calc(0.25rem - 1px);
  border-radius: calc(0.25rem - 1px); }

.card-img-top {
  width: 100%;
  -webkit-border-top-left-radius: calc(0.25rem - 1px);
  border-top-left-radius: calc(0.25rem - 1px);
  -webkit-border-top-right-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px); }

.card-img-bottom {
  width: 100%;
  -webkit-border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-right-radius: calc(0.25rem - 1px);
  -webkit-border-bottom-left-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px); }

.card-deck {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }
  .card-deck .card {
    margin-bottom: 5px; }
  @media (min-width: 576px) {
    .card-deck {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      margin-right: -5px;
      margin-left: -5px; }
      .card-deck .card {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-flex: 1;
        -webkit-flex: 1 0 0%;
        -ms-flex: 1 0 0%;
        flex: 1 0 0%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-right: 5px;
        margin-bottom: 0;
        margin-left: 5px; } }

.card-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }
  .card-group > .card {
    margin-bottom: 5px; }
  @media (min-width: 576px) {
    .card-group {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap; }
      .card-group > .card {
        -webkit-box-flex: 1;
        -webkit-flex: 1 0 0%;
        -ms-flex: 1 0 0%;
        flex: 1 0 0%;
        margin-bottom: 0; }
        .card-group > .card + .card {
          margin-left: 0;
          border-left: 0; }
        .card-group > .card:not(:last-child) {
          -webkit-border-top-right-radius: 0;
          border-top-right-radius: 0;
          -webkit-border-bottom-right-radius: 0;
          border-bottom-right-radius: 0; }
          .card-group > .card:not(:last-child) .card-img-top,
          .card-group > .card:not(:last-child) .card-header {
            -webkit-border-top-right-radius: 0;
            border-top-right-radius: 0; }
          .card-group > .card:not(:last-child) .card-img-bottom,
          .card-group > .card:not(:last-child) .card-footer {
            -webkit-border-bottom-right-radius: 0;
            border-bottom-right-radius: 0; }
        .card-group > .card:not(:first-child) {
          -webkit-border-top-left-radius: 0;
          border-top-left-radius: 0;
          -webkit-border-bottom-left-radius: 0;
          border-bottom-left-radius: 0; }
          .card-group > .card:not(:first-child) .card-img-top,
          .card-group > .card:not(:first-child) .card-header {
            -webkit-border-top-left-radius: 0;
            border-top-left-radius: 0; }
          .card-group > .card:not(:first-child) .card-img-bottom,
          .card-group > .card:not(:first-child) .card-footer {
            -webkit-border-bottom-left-radius: 0;
            border-bottom-left-radius: 0; } }

.card-columns .card {
  margin-bottom: 0.75rem; }

@media (min-width: 576px) {
  .card-columns {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
    -webkit-column-gap: 1.25rem;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    orphans: 1;
    widows: 1; }
    .card-columns .card {
      display: inline-block;
      width: 100%; } }

.accordion > .card {
  overflow: hidden; }
  .accordion > .card:not(:first-of-type) .card-header:first-child {
    -webkit-border-radius: 0;
    border-radius: 0; }
  .accordion > .card:not(:first-of-type):not(:last-of-type) {
    border-bottom: 0;
    -webkit-border-radius: 0;
    border-radius: 0; }
  .accordion > .card:first-of-type {
    border-bottom: 0;
    -webkit-border-bottom-right-radius: 0;
    border-bottom-right-radius: 0;
    -webkit-border-bottom-left-radius: 0;
    border-bottom-left-radius: 0; }
  .accordion > .card:last-of-type {
    -webkit-border-top-left-radius: 0;
    border-top-left-radius: 0;
    -webkit-border-top-right-radius: 0;
    border-top-right-radius: 0; }
  .accordion > .card .card-header {
    margin-bottom: -1px; }

.breadcrumb {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  list-style: none;
  background-color: #e9ecef;
  -webkit-border-radius: 0.25rem;
  border-radius: 0.25rem; }

.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem; }
  .breadcrumb-item + .breadcrumb-item::before {
    display: inline-block;
    padding-right: 0.5rem;
    color: #6c757d;
    content: "/"; }

.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: underline; }

.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: none; }

.breadcrumb-item.active {
  color: #6c757d; }

.pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-left: 0;
  list-style: none;
  -webkit-border-radius: 0.25rem;
  border-radius: 0.25rem; }

.page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.25;
  color: #007bff;
  background-color: #fff;
  border: 1px solid #dee2e6; }
  .page-link:hover {
    z-index: 2;
    color: #0056b3;
    text-decoration: none;
    background-color: #e9ecef;
    border-color: #dee2e6; }
  .page-link:focus {
    z-index: 2;
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }

.page-item:first-child .page-link {
  margin-left: 0;
  -webkit-border-top-left-radius: 0.25rem;
  border-top-left-radius: 0.25rem;
  -webkit-border-bottom-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem; }

.page-item:last-child .page-link {
  -webkit-border-top-right-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
  -webkit-border-bottom-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem; }

.page-item.active .page-link {
  z-index: 1;
  color: #fff;
  background-color: #007bff;
  border-color: #007bff; }

.page-item.disabled .page-link {
  color: #6c757d;
  pointer-events: none;
  cursor: auto;
  background-color: #fff;
  border-color: #dee2e6; }

.pagination-lg .page-link {
  padding: 0.75rem 1.5rem;
  font-size: 1.25rem;
  line-height: 1.5; }

.pagination-lg .page-item:first-child .page-link {
  -webkit-border-top-left-radius: 0.3rem;
  border-top-left-radius: 0.3rem;
  -webkit-border-bottom-left-radius: 0.3rem;
  border-bottom-left-radius: 0.3rem; }

.pagination-lg .page-item:last-child .page-link {
  -webkit-border-top-right-radius: 0.3rem;
  border-top-right-radius: 0.3rem;
  -webkit-border-bottom-right-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem; }

.pagination-sm .page-link {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5; }

.pagination-sm .page-item:first-child .page-link {
  -webkit-border-top-left-radius: 0.2rem;
  border-top-left-radius: 0.2rem;
  -webkit-border-bottom-left-radius: 0.2rem;
  border-bottom-left-radius: 0.2rem; }

.pagination-sm .page-item:last-child .page-link {
  -webkit-border-top-right-radius: 0.2rem;
  border-top-right-radius: 0.2rem;
  -webkit-border-bottom-right-radius: 0.2rem;
  border-bottom-right-radius: 0.2rem; }

.badge {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  -webkit-border-radius: 0.25rem;
  border-radius: 0.25rem;
  -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .badge {
      -webkit-transition: none;
      -o-transition: none;
      transition: none; } }
  a.badge:hover, a.badge:focus {
    text-decoration: none; }
  .badge:empty {
    display: none; }

.btn .badge {
  position: relative;
  top: -1px; }

.badge-pill {
  padding-right: 0.6em;
  padding-left: 0.6em;
  -webkit-border-radius: 10rem;
  border-radius: 10rem; }

.badge-primary {
  color: #fff;
  background-color: #007bff; }
  a.badge-primary:hover, a.badge-primary:focus {
    color: #fff;
    background-color: #0062cc; }
  a.badge-primary:focus, a.badge-primary.focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }

.badge-secondary {
  color: #fff;
  background-color: #6c757d; }
  a.badge-secondary:hover, a.badge-secondary:focus {
    color: #fff;
    background-color: #545b62; }
  a.badge-secondary:focus, a.badge-secondary.focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }

.badge-success {
  color: #fff;
  background-color: #28a745; }
  a.badge-success:hover, a.badge-success:focus {
    color: #fff;
    background-color: #1e7e34; }
  a.badge-success:focus, a.badge-success.focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }

.badge-info {
  color: #fff;
  background-color: #17a2b8; }
  a.badge-info:hover, a.badge-info:focus {
    color: #fff;
    background-color: #117a8b; }
  a.badge-info:focus, a.badge-info.focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }

.badge-warning {
  color: #212529;
  background-color: #ffc107; }
  a.badge-warning:hover, a.badge-warning:focus {
    color: #212529;
    background-color: #d39e00; }
  a.badge-warning:focus, a.badge-warning.focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }

.badge-danger {
  color: #fff;
  background-color: #dc3545; }
  a.badge-danger:hover, a.badge-danger:focus {
    color: #fff;
    background-color: #bd2130; }
  a.badge-danger:focus, a.badge-danger.focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }

.badge-light {
  color: #212529;
  background-color: #f8f9fa; }
  a.badge-light:hover, a.badge-light:focus {
    color: #212529;
    background-color: #dae0e5; }
  a.badge-light:focus, a.badge-light.focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }

.badge-dark {
  color: #fff;
  background-color: #343a40; }
  a.badge-dark:hover, a.badge-dark:focus {
    color: #fff;
    background-color: #1d2124; }
  a.badge-dark:focus, a.badge-dark.focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }

.jumbotron {
  padding: 2rem 1rem;
  margin-bottom: 2rem;
  background-color: #e9ecef;
  -webkit-border-radius: 0.3rem;
  border-radius: 0.3rem; }
  @media (min-width: 576px) {
    .jumbotron {
      padding: 4rem 2rem; } }

.jumbotron-fluid {
  padding-right: 0;
  padding-left: 0;
  -webkit-border-radius: 0;
  border-radius: 0; }

.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  -webkit-border-radius: 0.25rem;
  border-radius: 0.25rem; }

.alert-heading {
  color: inherit; }

.alert-link {
  font-weight: 700; }

.alert-dismissible {
  padding-right: 4rem; }
  .alert-dismissible .close {
    position: absolute;
    top: 0;
    right: 0;
    padding: 0.75rem 1.25rem;
    color: inherit; }

.alert-primary {
  color: #004085;
  background-color: #cce5ff;
  border-color: #b8daff; }
  .alert-primary hr {
    border-top-color: #9fcdff; }
  .alert-primary .alert-link {
    color: #002752; }

.alert-secondary {
  color: #383d41;
  background-color: #e2e3e5;
  border-color: #d6d8db; }
  .alert-secondary hr {
    border-top-color: #c8cbcf; }
  .alert-secondary .alert-link {
    color: #202326; }

.alert-success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb; }
  .alert-success hr {
    border-top-color: #b1dfbb; }
  .alert-success .alert-link {
    color: #0b2e13; }

.alert-info {
  color: #0c5460;
  background-color: #d1ecf1;
  border-color: #bee5eb; }
  .alert-info hr {
    border-top-color: #abdde5; }
  .alert-info .alert-link {
    color: #062c33; }

.alert-warning {
  color: #856404;
  background-color: #fff3cd;
  border-color: #ffeeba; }
  .alert-warning hr {
    border-top-color: #ffe8a1; }
  .alert-warning .alert-link {
    color: #533f03; }

.alert-danger {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb; }
  .alert-danger hr {
    border-top-color: #f1b0b7; }
  .alert-danger .alert-link {
    color: #491217; }

.alert-light {
  color: #818182;
  background-color: #fefefe;
  border-color: #fdfdfe; }
  .alert-light hr {
    border-top-color: #ececf6; }
  .alert-light .alert-link {
    color: #686868; }

.alert-dark {
  color: #1b1e21;
  background-color: #d6d8d9;
  border-color: #c6c8ca; }
  .alert-dark hr {
    border-top-color: #b9bbbe; }
  .alert-dark .alert-link {
    color: #040505; }

@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0; }
  to {
    background-position: 0 0; } }

@keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0; }
  to {
    background-position: 0 0; } }

.progress {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 1rem;
  overflow: hidden;
  font-size: 0.75rem;
  background-color: #e9ecef;
  -webkit-border-radius: 0.25rem;
  border-radius: 0.25rem; }

.progress-bar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #007bff;
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease; }
  @media (prefers-reduced-motion: reduce) {
    .progress-bar {
      -webkit-transition: none;
      -o-transition: none;
      transition: none; } }

.progress-bar-striped {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  -webkit-background-size: 1rem 1rem;
  background-size: 1rem 1rem; }

.progress-bar-animated {
  -webkit-animation: progress-bar-stripes 1s linear infinite;
  animation: progress-bar-stripes 1s linear infinite; }
  @media (prefers-reduced-motion: reduce) {
    .progress-bar-animated {
      -webkit-animation: none;
      animation: none; } }

.media {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start; }

.media-body {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1; }

.list-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0; }

.list-group-item-action {
  width: 100%;
  color: #495057;
  text-align: inherit; }
  .list-group-item-action:hover, .list-group-item-action:focus {
    z-index: 1;
    color: #495057;
    text-decoration: none;
    background-color: #f8f9fa; }
  .list-group-item-action:active, .list-group-item-action.nice-select.open {
    color: #212529;
    background-color: #e9ecef; }

.list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125); }
  .list-group-item:first-child {
    -webkit-border-top-left-radius: 0.25rem;
    border-top-left-radius: 0.25rem;
    -webkit-border-top-right-radius: 0.25rem;
    border-top-right-radius: 0.25rem; }
  .list-group-item:last-child {
    margin-bottom: 0;
    -webkit-border-bottom-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
    -webkit-border-bottom-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem; }
  .list-group-item.disabled, .list-group-item:disabled {
    color: #6c757d;
    pointer-events: none;
    background-color: #fff; }
  .list-group-item.active {
    z-index: 2;
    color: #fff;
    background-color: #007bff;
    border-color: #007bff; }

.list-group-horizontal {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row; }
  .list-group-horizontal .list-group-item {
    margin-right: -1px;
    margin-bottom: 0; }
    .list-group-horizontal .list-group-item:first-child {
      -webkit-border-top-left-radius: 0.25rem;
      border-top-left-radius: 0.25rem;
      -webkit-border-bottom-left-radius: 0.25rem;
      border-bottom-left-radius: 0.25rem;
      -webkit-border-top-right-radius: 0;
      border-top-right-radius: 0; }
    .list-group-horizontal .list-group-item:last-child {
      margin-right: 0;
      -webkit-border-top-right-radius: 0.25rem;
      border-top-right-radius: 0.25rem;
      -webkit-border-bottom-right-radius: 0.25rem;
      border-bottom-right-radius: 0.25rem;
      -webkit-border-bottom-left-radius: 0;
      border-bottom-left-radius: 0; }

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row; }
    .list-group-horizontal-sm .list-group-item {
      margin-right: -1px;
      margin-bottom: 0; }
      .list-group-horizontal-sm .list-group-item:first-child {
        -webkit-border-top-left-radius: 0.25rem;
        border-top-left-radius: 0.25rem;
        -webkit-border-bottom-left-radius: 0.25rem;
        border-bottom-left-radius: 0.25rem;
        -webkit-border-top-right-radius: 0;
        border-top-right-radius: 0; }
      .list-group-horizontal-sm .list-group-item:last-child {
        margin-right: 0;
        -webkit-border-top-right-radius: 0.25rem;
        border-top-right-radius: 0.25rem;
        -webkit-border-bottom-right-radius: 0.25rem;
        border-bottom-right-radius: 0.25rem;
        -webkit-border-bottom-left-radius: 0;
        border-bottom-left-radius: 0; } }

@media (min-width: 768px) {
  .list-group-horizontal-md {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row; }
    .list-group-horizontal-md .list-group-item {
      margin-right: -1px;
      margin-bottom: 0; }
      .list-group-horizontal-md .list-group-item:first-child {
        -webkit-border-top-left-radius: 0.25rem;
        border-top-left-radius: 0.25rem;
        -webkit-border-bottom-left-radius: 0.25rem;
        border-bottom-left-radius: 0.25rem;
        -webkit-border-top-right-radius: 0;
        border-top-right-radius: 0; }
      .list-group-horizontal-md .list-group-item:last-child {
        margin-right: 0;
        -webkit-border-top-right-radius: 0.25rem;
        border-top-right-radius: 0.25rem;
        -webkit-border-bottom-right-radius: 0.25rem;
        border-bottom-right-radius: 0.25rem;
        -webkit-border-bottom-left-radius: 0;
        border-bottom-left-radius: 0; } }

@media (min-width: 992px) {
  .list-group-horizontal-lg {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row; }
    .list-group-horizontal-lg .list-group-item {
      margin-right: -1px;
      margin-bottom: 0; }
      .list-group-horizontal-lg .list-group-item:first-child {
        -webkit-border-top-left-radius: 0.25rem;
        border-top-left-radius: 0.25rem;
        -webkit-border-bottom-left-radius: 0.25rem;
        border-bottom-left-radius: 0.25rem;
        -webkit-border-top-right-radius: 0;
        border-top-right-radius: 0; }
      .list-group-horizontal-lg .list-group-item:last-child {
        margin-right: 0;
        -webkit-border-top-right-radius: 0.25rem;
        border-top-right-radius: 0.25rem;
        -webkit-border-bottom-right-radius: 0.25rem;
        border-bottom-right-radius: 0.25rem;
        -webkit-border-bottom-left-radius: 0;
        border-bottom-left-radius: 0; } }

@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row; }
    .list-group-horizontal-xl .list-group-item {
      margin-right: -1px;
      margin-bottom: 0; }
      .list-group-horizontal-xl .list-group-item:first-child {
        -webkit-border-top-left-radius: 0.25rem;
        border-top-left-radius: 0.25rem;
        -webkit-border-bottom-left-radius: 0.25rem;
        border-bottom-left-radius: 0.25rem;
        -webkit-border-top-right-radius: 0;
        border-top-right-radius: 0; }
      .list-group-horizontal-xl .list-group-item:last-child {
        margin-right: 0;
        -webkit-border-top-right-radius: 0.25rem;
        border-top-right-radius: 0.25rem;
        -webkit-border-bottom-right-radius: 0.25rem;
        border-bottom-right-radius: 0.25rem;
        -webkit-border-bottom-left-radius: 0;
        border-bottom-left-radius: 0; } }

.list-group-flush .list-group-item {
  border-right: 0;
  border-left: 0;
  -webkit-border-radius: 0;
  border-radius: 0; }
  .list-group-flush .list-group-item:last-child {
    margin-bottom: -1px; }

.list-group-flush:first-child .list-group-item:first-child {
  border-top: 0; }

.list-group-flush:last-child .list-group-item:last-child {
  margin-bottom: 0;
  border-bottom: 0; }

.list-group-item-primary {
  color: #004085;
  background-color: #b8daff; }
  .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
    color: #004085;
    background-color: #9fcdff; }
  .list-group-item-primary.list-group-item-action.active {
    color: #fff;
    background-color: #004085;
    border-color: #004085; }

.list-group-item-secondary {
  color: #383d41;
  background-color: #d6d8db; }
  .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
    color: #383d41;
    background-color: #c8cbcf; }
  .list-group-item-secondary.list-group-item-action.active {
    color: #fff;
    background-color: #383d41;
    border-color: #383d41; }

.list-group-item-success {
  color: #155724;
  background-color: #c3e6cb; }
  .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
    color: #155724;
    background-color: #b1dfbb; }
  .list-group-item-success.list-group-item-action.active {
    color: #fff;
    background-color: #155724;
    border-color: #155724; }

.list-group-item-info {
  color: #0c5460;
  background-color: #bee5eb; }
  .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
    color: #0c5460;
    background-color: #abdde5; }
  .list-group-item-info.list-group-item-action.active {
    color: #fff;
    background-color: #0c5460;
    border-color: #0c5460; }

.list-group-item-warning {
  color: #856404;
  background-color: #ffeeba; }
  .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
    color: #856404;
    background-color: #ffe8a1; }
  .list-group-item-warning.list-group-item-action.active {
    color: #fff;
    background-color: #856404;
    border-color: #856404; }

.list-group-item-danger {
  color: #721c24;
  background-color: #f5c6cb; }
  .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
    color: #721c24;
    background-color: #f1b0b7; }
  .list-group-item-danger.list-group-item-action.active {
    color: #fff;
    background-color: #721c24;
    border-color: #721c24; }

.list-group-item-light {
  color: #818182;
  background-color: #fdfdfe; }
  .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
    color: #818182;
    background-color: #ececf6; }
  .list-group-item-light.list-group-item-action.active {
    color: #fff;
    background-color: #818182;
    border-color: #818182; }

.list-group-item-dark {
  color: #1b1e21;
  background-color: #c6c8ca; }
  .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
    color: #1b1e21;
    background-color: #b9bbbe; }
  .list-group-item-dark.list-group-item-action.active {
    color: #fff;
    background-color: #1b1e21;
    border-color: #1b1e21; }

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: .5; }
  .close:hover {
    color: #000;
    text-decoration: none; }
  .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
    opacity: .75; }

button.close {
  padding: 0;
  background-color: transparent;
  border: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

a.close.disabled {
  pointer-events: none; }

.toast {
  max-width: 350px;
  overflow: hidden;
  font-size: 0.875rem;
  background-color: rgba(255, 255, 255, 0.85);
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  opacity: 0;
  -webkit-border-radius: 0.25rem;
  border-radius: 0.25rem; }
  .toast:not(:last-child) {
    margin-bottom: 0.75rem; }
  .toast.showing {
    opacity: 1; }
  .toast.show {
    display: block;
    opacity: 1; }
  .toast.hide {
    display: none; }

.toast-header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0.25rem 0.75rem;
  color: #6c757d;
  background-color: rgba(255, 255, 255, 0.85);
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05); }

.toast-body {
  padding: 0.75rem; }

.modal-open {
  overflow: hidden; }
  .modal-open .modal {
    overflow-x: hidden;
    overflow-y: auto; }

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 0; }

.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none; }
  .modal.fade .modal-dialog {
    -webkit-transition: -webkit-transform 0.3s ease-out;
    transition: -webkit-transform 0.3s ease-out;
    -o-transition: transform 0.3s ease-out;
    transition: transform 0.3s ease-out;
    transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
    -webkit-transform: translate(0, -50px);
    -ms-transform: translate(0, -50px);
    transform: translate(0, -50px); }
    @media (prefers-reduced-motion: reduce) {
      .modal.fade .modal-dialog {
        -webkit-transition: none;
        -o-transition: none;
        transition: none; } }
  .modal.show .modal-dialog {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none; }

.modal-dialog-scrollable {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  max-height: calc(100% - 1rem); }
  .modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 1rem);
    overflow: hidden; }
  .modal-dialog-scrollable .modal-header,
  .modal-dialog-scrollable .modal-footer {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0; }
  .modal-dialog-scrollable .modal-body {
    overflow-y: auto; }

.modal-dialog-centered {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: calc(100% - 1rem); }
  .modal-dialog-centered::before {
    display: block;
    height: calc(100vh - 1rem);
    content: ""; }
  .modal-dialog-centered.modal-dialog-scrollable {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%; }
    .modal-dialog-centered.modal-dialog-scrollable .modal-content {
      max-height: none; }
    .modal-dialog-centered.modal-dialog-scrollable::before {
      content: none; }

.modal-content {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-border-radius: 0.3rem;
  border-radius: 0.3rem;
  outline: 0; }

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000; }
  .modal-backdrop.fade {
    opacity: 0; }
  .modal-backdrop.show {
    opacity: 0.5; }

.modal-header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #dee2e6;
  -webkit-border-top-left-radius: 0.3rem;
  border-top-left-radius: 0.3rem;
  -webkit-border-top-right-radius: 0.3rem;
  border-top-right-radius: 0.3rem; }
  .modal-header .close {
    padding: 1rem 1rem;
    margin: -1rem -1rem -1rem auto; }

.modal-title {
  margin-bottom: 0;
  line-height: 1.5; }

.modal-body {
  position: relative;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  padding: 1rem; }

.modal-footer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding: 1rem;
  border-top: 1px solid #dee2e6;
  -webkit-border-bottom-right-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
  -webkit-border-bottom-left-radius: 0.3rem;
  border-bottom-left-radius: 0.3rem; }
  .modal-footer > :not(:first-child) {
    margin-left: .25rem; }
  .modal-footer > :not(:last-child) {
    margin-right: .25rem; }

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll; }

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto; }
  .modal-dialog-scrollable {
    max-height: calc(100% - 3.5rem); }
    .modal-dialog-scrollable .modal-content {
      max-height: calc(100vh - 3.5rem); }
  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem); }
    .modal-dialog-centered::before {
      height: calc(100vh - 3.5rem); }
  .modal-sm {
    max-width: 300px; } }

@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    max-width: 800px; } }

@media (min-width: 1200px) {
  .modal-xl {
    max-width: 1140px; } }

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  opacity: 0; }
  .tooltip.show {
    opacity: 0.9; }
  .tooltip .arrow {
    position: absolute;
    display: block;
    width: 0.8rem;
    height: 0.4rem; }
    .tooltip .arrow::before {
      position: absolute;
      content: "";
      border-color: transparent;
      border-style: solid; }

.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] {
  padding: 0.4rem 0; }
  .bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow {
    bottom: 0; }
    .bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before {
      top: 0;
      border-width: 0.4rem 0.4rem 0;
      border-top-color: #000; }

.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] {
  padding: 0 0.4rem; }
  .bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow {
    left: 0;
    width: 0.4rem;
    height: 0.8rem; }
    .bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before {
      right: 0;
      border-width: 0.4rem 0.4rem 0.4rem 0;
      border-right-color: #000; }

.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] {
  padding: 0.4rem 0; }
  .bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow {
    top: 0; }
    .bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
      bottom: 0;
      border-width: 0 0.4rem 0.4rem;
      border-bottom-color: #000; }

.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] {
  padding: 0 0.4rem; }
  .bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow {
    right: 0;
    width: 0.4rem;
    height: 0.8rem; }
    .bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before {
      left: 0;
      border-width: 0.4rem 0 0.4rem 0.4rem;
      border-left-color: #000; }

.tooltip-inner {
  max-width: 200px;
  padding: 0.25rem 0.5rem;
  color: #fff;
  text-align: center;
  background-color: #000;
  -webkit-border-radius: 0.25rem;
  border-radius: 0.25rem; }

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  background-color: #fff;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-border-radius: 0.3rem;
  border-radius: 0.3rem; }
  .popover .arrow {
    position: absolute;
    display: block;
    width: 1rem;
    height: 0.5rem;
    margin: 0 0.3rem; }
    .popover .arrow::before, .popover .arrow::after {
      position: absolute;
      display: block;
      content: "";
      border-color: transparent;
      border-style: solid; }

.bs-popover-top, .bs-popover-auto[x-placement^="top"] {
  margin-bottom: 0.5rem; }
  .bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow {
    bottom: calc((0.5rem + 1px) * -1); }
    .bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before {
      bottom: 0;
      border-width: 0.5rem 0.5rem 0;
      border-top-color: rgba(0, 0, 0, 0.25); }
    .bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after {
      bottom: 1px;
      border-width: 0.5rem 0.5rem 0;
      border-top-color: #fff; }

.bs-popover-right, .bs-popover-auto[x-placement^="right"] {
  margin-left: 0.5rem; }
  .bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow {
    left: calc((0.5rem + 1px) * -1);
    width: 0.5rem;
    height: 1rem;
    margin: 0.3rem 0; }
    .bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before {
      left: 0;
      border-width: 0.5rem 0.5rem 0.5rem 0;
      border-right-color: rgba(0, 0, 0, 0.25); }
    .bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after {
      left: 1px;
      border-width: 0.5rem 0.5rem 0.5rem 0;
      border-right-color: #fff; }

.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] {
  margin-top: 0.5rem; }
  .bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow {
    top: calc((0.5rem + 1px) * -1); }
    .bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before {
      top: 0;
      border-width: 0 0.5rem 0.5rem 0.5rem;
      border-bottom-color: rgba(0, 0, 0, 0.25); }
    .bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after {
      top: 1px;
      border-width: 0 0.5rem 0.5rem 0.5rem;
      border-bottom-color: #fff; }
  .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before {
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 1rem;
    margin-left: -0.5rem;
    content: "";
    border-bottom: 1px solid #f7f7f7; }

.bs-popover-left, .bs-popover-auto[x-placement^="left"] {
  margin-right: 0.5rem; }
  .bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow {
    right: calc((0.5rem + 1px) * -1);
    width: 0.5rem;
    height: 1rem;
    margin: 0.3rem 0; }
    .bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before {
      right: 0;
      border-width: 0.5rem 0 0.5rem 0.5rem;
      border-left-color: rgba(0, 0, 0, 0.25); }
    .bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after {
      right: 1px;
      border-width: 0.5rem 0 0.5rem 0.5rem;
      border-left-color: #fff; }

.popover-header {
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  -webkit-border-top-left-radius: calc(0.3rem - 1px);
  border-top-left-radius: calc(0.3rem - 1px);
  -webkit-border-top-right-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px); }
  .popover-header:empty {
    display: none; }

.popover-body {
  padding: 0.5rem 0.75rem;
  color: #212529; }

.carousel {
  position: relative; }

.carousel.pointer-event {
  -ms-touch-action: pan-y;
  touch-action: pan-y; }

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden; }
  .carousel-inner::after {
    display: block;
    clear: both;
    content: ""; }

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: -webkit-transform 0.6s ease-in-out;
  transition: -webkit-transform 0.6s ease-in-out;
  -o-transition: transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .carousel-item {
      -webkit-transition: none;
      -o-transition: none;
      transition: none; } }

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block; }

.carousel-item-next:not(.carousel-item-left),
.active.carousel-item-right {
  -webkit-transform: translateX(100%);
  -ms-transform: translateX(100%);
  transform: translateX(100%); }

.carousel-item-prev:not(.carousel-item-right),
.active.carousel-item-left {
  -webkit-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%); }

.carousel-fade .carousel-item {
  opacity: 0;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none; }

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right {
  z-index: 1;
  opacity: 1; }

.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
  z-index: 0;
  opacity: 0;
  -webkit-transition: 0s 0.6s opacity;
  -o-transition: 0s 0.6s opacity;
  transition: 0s 0.6s opacity; }
  @media (prefers-reduced-motion: reduce) {
    .carousel-fade .active.carousel-item-left,
    .carousel-fade .active.carousel-item-right {
      -webkit-transition: none;
      -o-transition: none;
      transition: none; } }

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 15%;
  color: #fff;
  text-align: center;
  opacity: 0.5;
  -webkit-transition: opacity 0.15s ease;
  -o-transition: opacity 0.15s ease;
  transition: opacity 0.15s ease; }
  @media (prefers-reduced-motion: reduce) {
    .carousel-control-prev,
    .carousel-control-next {
      -webkit-transition: none;
      -o-transition: none;
      transition: none; } }
  .carousel-control-prev:hover, .carousel-control-prev:focus,
  .carousel-control-next:hover,
  .carousel-control-next:focus {
    color: #fff;
    text-decoration: none;
    outline: 0;
    opacity: 0.9; }

.carousel-control-prev {
  left: 0; }

.carousel-control-next {
  right: 0; }

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: no-repeat 50% / 100% 100%; }

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e"); }

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e"); }

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none; }
  .carousel-indicators li {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    width: 30px;
    height: 3px;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #fff;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    opacity: .5;
    -webkit-transition: opacity 0.6s ease;
    -o-transition: opacity 0.6s ease;
    transition: opacity 0.6s ease; }
    @media (prefers-reduced-motion: reduce) {
      .carousel-indicators li {
        -webkit-transition: none;
        -o-transition: none;
        transition: none; } }
  .carousel-indicators .active {
    opacity: 1; }

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center; }

@-webkit-keyframes spinner-border {
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes spinner-border {
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: text-bottom;
  border: 0.25em solid currentColor;
  border-right-color: transparent;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  -webkit-animation: spinner-border .75s linear infinite;
  animation: spinner-border .75s linear infinite; }

.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em; }

@-webkit-keyframes spinner-grow {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0); }
  50% {
    opacity: 1; } }

@keyframes spinner-grow {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0); }
  50% {
    opacity: 1; } }

.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: text-bottom;
  background-color: currentColor;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  opacity: 0;
  -webkit-animation: spinner-grow .75s linear infinite;
  animation: spinner-grow .75s linear infinite; }

.spinner-grow-sm {
  width: 1rem;
  height: 1rem; }

.align-baseline {
  vertical-align: baseline !important; }

.align-top {
  vertical-align: top !important; }

.align-middle {
  vertical-align: middle !important; }

.align-bottom {
  vertical-align: bottom !important; }

.align-text-bottom {
  vertical-align: text-bottom !important; }

.align-text-top {
  vertical-align: text-top !important; }

.bg-primary {
  background-color: #007bff !important; }

a.bg-primary:hover, a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
  background-color: #0062cc !important; }

.bg-secondary {
  background-color: #6c757d !important; }

a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #545b62 !important; }

.bg-success {
  background-color: #28a745 !important; }

a.bg-success:hover, a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
  background-color: #1e7e34 !important; }

.bg-info {
  background-color: #17a2b8 !important; }

a.bg-info:hover, a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
  background-color: #117a8b !important; }

.bg-warning {
  background-color: #ffc107 !important; }

a.bg-warning:hover, a.bg-warning:focus,
button.bg-warning:hover,
button.bg-warning:focus {
  background-color: #d39e00 !important; }

.bg-danger {
  background-color: #dc3545 !important; }

a.bg-danger:hover, a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
  background-color: #bd2130 !important; }

.bg-light {
  background-color: #f8f9fa !important; }

a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
  background-color: #dae0e5 !important; }

.bg-dark {
  background-color: #343a40 !important; }

a.bg-dark:hover, a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
  background-color: #1d2124 !important; }

.bg-white {
  background-color: #fff !important; }

.bg-transparent {
  background-color: transparent !important; }

.border {
  border: 1px solid #dee2e6 !important; }

.border-top {
  border-top: 1px solid #dee2e6 !important; }

.border-right {
  border-right: 1px solid #dee2e6 !important; }

.border-bottom {
  border-bottom: 1px solid #dee2e6 !important; }

.border-left {
  border-left: 1px solid #dee2e6 !important; }

.border-0 {
  border: 0 !important; }

.border-top-0 {
  border-top: 0 !important; }

.border-right-0 {
  border-right: 0 !important; }

.border-bottom-0 {
  border-bottom: 0 !important; }

.border-left-0 {
  border-left: 0 !important; }

.border-primary {
  border-color: #007bff !important; }

.border-secondary {
  border-color: #6c757d !important; }

.border-success {
  border-color: #28a745 !important; }

.border-info {
  border-color: #17a2b8 !important; }

.border-warning {
  border-color: #ffc107 !important; }

.border-danger {
  border-color: #dc3545 !important; }

.border-light {
  border-color: #f8f9fa !important; }

.border-dark {
  border-color: #343a40 !important; }

.border-white {
  border-color: #fff !important; }

.rounded-sm {
  -webkit-border-radius: 0.2rem !important;
  border-radius: 0.2rem !important; }

.rounded {
  -webkit-border-radius: 0.25rem !important;
  border-radius: 0.25rem !important; }

.rounded-top {
  -webkit-border-top-left-radius: 0.25rem !important;
  border-top-left-radius: 0.25rem !important;
  -webkit-border-top-right-radius: 0.25rem !important;
  border-top-right-radius: 0.25rem !important; }

.rounded-right {
  -webkit-border-top-right-radius: 0.25rem !important;
  border-top-right-radius: 0.25rem !important;
  -webkit-border-bottom-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important; }

.rounded-bottom {
  -webkit-border-bottom-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important;
  -webkit-border-bottom-left-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important; }

.rounded-left {
  -webkit-border-top-left-radius: 0.25rem !important;
  border-top-left-radius: 0.25rem !important;
  -webkit-border-bottom-left-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important; }

.rounded-lg {
  -webkit-border-radius: 0.3rem !important;
  border-radius: 0.3rem !important; }

.rounded-circle {
  -webkit-border-radius: 50% !important;
  border-radius: 50% !important; }

.rounded-pill {
  -webkit-border-radius: 50rem !important;
  border-radius: 50rem !important; }

.rounded-0 {
  -webkit-border-radius: 0 !important;
  border-radius: 0 !important; }

.clearfix::after {
  display: block;
  clear: both;
  content: ""; }

.d-none {
  display: none !important; }

.d-inline {
  display: inline !important; }

.d-inline-block {
  display: inline-block !important; }

.d-block {
  display: block !important; }

.d-table {
  display: table !important; }

.d-table-row {
  display: table-row !important; }

.d-table-cell {
  display: table-cell !important; }

.d-flex {
  display: -webkit-box !important;
  display: -webkit-flex !important;
  display: -ms-flexbox !important;
  display: flex !important; }

.d-inline-flex {
  display: -webkit-inline-box !important;
  display: -webkit-inline-flex !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important; }

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important; }
  .d-sm-inline {
    display: inline !important; }
  .d-sm-inline-block {
    display: inline-block !important; }
  .d-sm-block {
    display: block !important; }
  .d-sm-table {
    display: table !important; }
  .d-sm-table-row {
    display: table-row !important; }
  .d-sm-table-cell {
    display: table-cell !important; }
  .d-sm-flex {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important; }
  .d-sm-inline-flex {
    display: -webkit-inline-box !important;
    display: -webkit-inline-flex !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important; } }

@media (min-width: 768px) {
  .d-md-none {
    display: none !important; }
  .d-md-inline {
    display: inline !important; }
  .d-md-inline-block {
    display: inline-block !important; }
  .d-md-block {
    display: block !important; }
  .d-md-table {
    display: table !important; }
  .d-md-table-row {
    display: table-row !important; }
  .d-md-table-cell {
    display: table-cell !important; }
  .d-md-flex {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important; }
  .d-md-inline-flex {
    display: -webkit-inline-box !important;
    display: -webkit-inline-flex !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important; } }

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important; }
  .d-lg-inline {
    display: inline !important; }
  .d-lg-inline-block {
    display: inline-block !important; }
  .d-lg-block {
    display: block !important; }
  .d-lg-table {
    display: table !important; }
  .d-lg-table-row {
    display: table-row !important; }
  .d-lg-table-cell {
    display: table-cell !important; }
  .d-lg-flex {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important; }
  .d-lg-inline-flex {
    display: -webkit-inline-box !important;
    display: -webkit-inline-flex !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important; } }

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important; }
  .d-xl-inline {
    display: inline !important; }
  .d-xl-inline-block {
    display: inline-block !important; }
  .d-xl-block {
    display: block !important; }
  .d-xl-table {
    display: table !important; }
  .d-xl-table-row {
    display: table-row !important; }
  .d-xl-table-cell {
    display: table-cell !important; }
  .d-xl-flex {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important; }
  .d-xl-inline-flex {
    display: -webkit-inline-box !important;
    display: -webkit-inline-flex !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important; } }

@media print {
  .d-print-none {
    display: none !important; }
  .d-print-inline {
    display: inline !important; }
  .d-print-inline-block {
    display: inline-block !important; }
  .d-print-block {
    display: block !important; }
  .d-print-table {
    display: table !important; }
  .d-print-table-row {
    display: table-row !important; }
  .d-print-table-cell {
    display: table-cell !important; }
  .d-print-flex {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important; }
  .d-print-inline-flex {
    display: -webkit-inline-box !important;
    display: -webkit-inline-flex !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important; } }

.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden; }
  .embed-responsive::before {
    display: block;
    content: ""; }
  .embed-responsive .embed-responsive-item,
  .embed-responsive iframe,
  .embed-responsive embed,
  .embed-responsive object,
  .embed-responsive video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0; }

.embed-responsive-21by9::before {
  padding-top: 42.85714%; }

.embed-responsive-16by9::before {
  padding-top: 56.25%; }

.embed-responsive-4by3::before {
  padding-top: 75%; }

.embed-responsive-1by1::before {
  padding-top: 100%; }

.flex-row {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
  -webkit-flex-direction: row !important;
  -ms-flex-direction: row !important;
  flex-direction: row !important; }

.flex-column {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
  -webkit-flex-direction: column !important;
  -ms-flex-direction: column !important;
  flex-direction: column !important; }

.flex-row-reverse {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: reverse !important;
  -webkit-flex-direction: row-reverse !important;
  -ms-flex-direction: row-reverse !important;
  flex-direction: row-reverse !important; }

.flex-column-reverse {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: reverse !important;
  -webkit-flex-direction: column-reverse !important;
  -ms-flex-direction: column-reverse !important;
  flex-direction: column-reverse !important; }

.flex-wrap {
  -webkit-flex-wrap: wrap !important;
  -ms-flex-wrap: wrap !important;
  flex-wrap: wrap !important; }

.flex-nowrap {
  -webkit-flex-wrap: nowrap !important;
  -ms-flex-wrap: nowrap !important;
  flex-wrap: nowrap !important; }

.flex-wrap-reverse {
  -webkit-flex-wrap: wrap-reverse !important;
  -ms-flex-wrap: wrap-reverse !important;
  flex-wrap: wrap-reverse !important; }

.flex-fill {
  -webkit-box-flex: 1 !important;
  -webkit-flex: 1 1 auto !important;
  -ms-flex: 1 1 auto !important;
  flex: 1 1 auto !important; }

.flex-grow-0 {
  -webkit-box-flex: 0 !important;
  -webkit-flex-grow: 0 !important;
  -ms-flex-positive: 0 !important;
  flex-grow: 0 !important; }

.flex-grow-1 {
  -webkit-box-flex: 1 !important;
  -webkit-flex-grow: 1 !important;
  -ms-flex-positive: 1 !important;
  flex-grow: 1 !important; }

.flex-shrink-0 {
  -webkit-flex-shrink: 0 !important;
  -ms-flex-negative: 0 !important;
  flex-shrink: 0 !important; }

.flex-shrink-1 {
  -webkit-flex-shrink: 1 !important;
  -ms-flex-negative: 1 !important;
  flex-shrink: 1 !important; }

.justify-content-start {
  -webkit-box-pack: start !important;
  -webkit-justify-content: flex-start !important;
  -ms-flex-pack: start !important;
  justify-content: flex-start !important; }

.justify-content-end {
  -webkit-box-pack: end !important;
  -webkit-justify-content: flex-end !important;
  -ms-flex-pack: end !important;
  justify-content: flex-end !important; }

.justify-content-center {
  -webkit-box-pack: center !important;
  -webkit-justify-content: center !important;
  -ms-flex-pack: center !important;
  justify-content: center !important; }

.justify-content-between {
  -webkit-box-pack: justify !important;
  -webkit-justify-content: space-between !important;
  -ms-flex-pack: justify !important;
  justify-content: space-between !important; }

.justify-content-around {
  -webkit-justify-content: space-around !important;
  -ms-flex-pack: distribute !important;
  justify-content: space-around !important; }

.align-items-start {
  -webkit-box-align: start !important;
  -webkit-align-items: flex-start !important;
  -ms-flex-align: start !important;
  align-items: flex-start !important; }

.align-items-end {
  -webkit-box-align: end !important;
  -webkit-align-items: flex-end !important;
  -ms-flex-align: end !important;
  align-items: flex-end !important; }

.align-items-center {
  -webkit-box-align: center !important;
  -webkit-align-items: center !important;
  -ms-flex-align: center !important;
  align-items: center !important; }

.align-items-baseline {
  -webkit-box-align: baseline !important;
  -webkit-align-items: baseline !important;
  -ms-flex-align: baseline !important;
  align-items: baseline !important; }

.align-items-stretch {
  -webkit-box-align: stretch !important;
  -webkit-align-items: stretch !important;
  -ms-flex-align: stretch !important;
  align-items: stretch !important; }

.align-content-start {
  -webkit-align-content: flex-start !important;
  -ms-flex-line-pack: start !important;
  align-content: flex-start !important; }

.align-content-end {
  -webkit-align-content: flex-end !important;
  -ms-flex-line-pack: end !important;
  align-content: flex-end !important; }

.align-content-center {
  -webkit-align-content: center !important;
  -ms-flex-line-pack: center !important;
  align-content: center !important; }

.align-content-between {
  -webkit-align-content: space-between !important;
  -ms-flex-line-pack: justify !important;
  align-content: space-between !important; }

.align-content-around {
  -webkit-align-content: space-around !important;
  -ms-flex-line-pack: distribute !important;
  align-content: space-around !important; }

.align-content-stretch {
  -webkit-align-content: stretch !important;
  -ms-flex-line-pack: stretch !important;
  align-content: stretch !important; }

.align-self-auto {
  -webkit-align-self: auto !important;
  -ms-flex-item-align: auto !important;
  align-self: auto !important; }

.align-self-start {
  -webkit-align-self: flex-start !important;
  -ms-flex-item-align: start !important;
  align-self: flex-start !important; }

.align-self-end {
  -webkit-align-self: flex-end !important;
  -ms-flex-item-align: end !important;
  align-self: flex-end !important; }

.align-self-center {
  -webkit-align-self: center !important;
  -ms-flex-item-align: center !important;
  align-self: center !important; }

.align-self-baseline {
  -webkit-align-self: baseline !important;
  -ms-flex-item-align: baseline !important;
  align-self: baseline !important; }

.align-self-stretch {
  -webkit-align-self: stretch !important;
  -ms-flex-item-align: stretch !important;
  align-self: stretch !important; }

@media (min-width: 576px) {
  .flex-sm-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: row !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important; }
  .flex-sm-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: column !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important; }
  .flex-sm-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
    -webkit-flex-direction: row-reverse !important;
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important; }
  .flex-sm-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
    -webkit-flex-direction: column-reverse !important;
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important; }
  .flex-sm-wrap {
    -webkit-flex-wrap: wrap !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important; }
  .flex-sm-nowrap {
    -webkit-flex-wrap: nowrap !important;
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important; }
  .flex-sm-wrap-reverse {
    -webkit-flex-wrap: wrap-reverse !important;
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important; }
  .flex-sm-fill {
    -webkit-box-flex: 1 !important;
    -webkit-flex: 1 1 auto !important;
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important; }
  .flex-sm-grow-0 {
    -webkit-box-flex: 0 !important;
    -webkit-flex-grow: 0 !important;
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important; }
  .flex-sm-grow-1 {
    -webkit-box-flex: 1 !important;
    -webkit-flex-grow: 1 !important;
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important; }
  .flex-sm-shrink-0 {
    -webkit-flex-shrink: 0 !important;
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important; }
  .flex-sm-shrink-1 {
    -webkit-flex-shrink: 1 !important;
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important; }
  .justify-content-sm-start {
    -webkit-box-pack: start !important;
    -webkit-justify-content: flex-start !important;
    -ms-flex-pack: start !important;
    justify-content: flex-start !important; }
  .justify-content-sm-end {
    -webkit-box-pack: end !important;
    -webkit-justify-content: flex-end !important;
    -ms-flex-pack: end !important;
    justify-content: flex-end !important; }
  .justify-content-sm-center {
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important; }
  .justify-content-sm-between {
    -webkit-box-pack: justify !important;
    -webkit-justify-content: space-between !important;
    -ms-flex-pack: justify !important;
    justify-content: space-between !important; }
  .justify-content-sm-around {
    -webkit-justify-content: space-around !important;
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important; }
  .align-items-sm-start {
    -webkit-box-align: start !important;
    -webkit-align-items: flex-start !important;
    -ms-flex-align: start !important;
    align-items: flex-start !important; }
  .align-items-sm-end {
    -webkit-box-align: end !important;
    -webkit-align-items: flex-end !important;
    -ms-flex-align: end !important;
    align-items: flex-end !important; }
  .align-items-sm-center {
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
    -ms-flex-align: center !important;
    align-items: center !important; }
  .align-items-sm-baseline {
    -webkit-box-align: baseline !important;
    -webkit-align-items: baseline !important;
    -ms-flex-align: baseline !important;
    align-items: baseline !important; }
  .align-items-sm-stretch {
    -webkit-box-align: stretch !important;
    -webkit-align-items: stretch !important;
    -ms-flex-align: stretch !important;
    align-items: stretch !important; }
  .align-content-sm-start {
    -webkit-align-content: flex-start !important;
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important; }
  .align-content-sm-end {
    -webkit-align-content: flex-end !important;
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important; }
  .align-content-sm-center {
    -webkit-align-content: center !important;
    -ms-flex-line-pack: center !important;
    align-content: center !important; }
  .align-content-sm-between {
    -webkit-align-content: space-between !important;
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important; }
  .align-content-sm-around {
    -webkit-align-content: space-around !important;
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important; }
  .align-content-sm-stretch {
    -webkit-align-content: stretch !important;
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important; }
  .align-self-sm-auto {
    -webkit-align-self: auto !important;
    -ms-flex-item-align: auto !important;
    align-self: auto !important; }
  .align-self-sm-start {
    -webkit-align-self: flex-start !important;
    -ms-flex-item-align: start !important;
    align-self: flex-start !important; }
  .align-self-sm-end {
    -webkit-align-self: flex-end !important;
    -ms-flex-item-align: end !important;
    align-self: flex-end !important; }
  .align-self-sm-center {
    -webkit-align-self: center !important;
    -ms-flex-item-align: center !important;
    align-self: center !important; }
  .align-self-sm-baseline {
    -webkit-align-self: baseline !important;
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important; }
  .align-self-sm-stretch {
    -webkit-align-self: stretch !important;
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important; } }

@media (min-width: 768px) {
  .flex-md-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: row !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important; }
  .flex-md-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: column !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important; }
  .flex-md-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
    -webkit-flex-direction: row-reverse !important;
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important; }
  .flex-md-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
    -webkit-flex-direction: column-reverse !important;
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important; }
  .flex-md-wrap {
    -webkit-flex-wrap: wrap !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important; }
  .flex-md-nowrap {
    -webkit-flex-wrap: nowrap !important;
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important; }
  .flex-md-wrap-reverse {
    -webkit-flex-wrap: wrap-reverse !important;
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important; }
  .flex-md-fill {
    -webkit-box-flex: 1 !important;
    -webkit-flex: 1 1 auto !important;
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important; }
  .flex-md-grow-0 {
    -webkit-box-flex: 0 !important;
    -webkit-flex-grow: 0 !important;
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important; }
  .flex-md-grow-1 {
    -webkit-box-flex: 1 !important;
    -webkit-flex-grow: 1 !important;
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important; }
  .flex-md-shrink-0 {
    -webkit-flex-shrink: 0 !important;
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important; }
  .flex-md-shrink-1 {
    -webkit-flex-shrink: 1 !important;
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important; }
  .justify-content-md-start {
    -webkit-box-pack: start !important;
    -webkit-justify-content: flex-start !important;
    -ms-flex-pack: start !important;
    justify-content: flex-start !important; }
  .justify-content-md-end {
    -webkit-box-pack: end !important;
    -webkit-justify-content: flex-end !important;
    -ms-flex-pack: end !important;
    justify-content: flex-end !important; }
  .justify-content-md-center {
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important; }
  .justify-content-md-between {
    -webkit-box-pack: justify !important;
    -webkit-justify-content: space-between !important;
    -ms-flex-pack: justify !important;
    justify-content: space-between !important; }
  .justify-content-md-around {
    -webkit-justify-content: space-around !important;
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important; }
  .align-items-md-start {
    -webkit-box-align: start !important;
    -webkit-align-items: flex-start !important;
    -ms-flex-align: start !important;
    align-items: flex-start !important; }
  .align-items-md-end {
    -webkit-box-align: end !important;
    -webkit-align-items: flex-end !important;
    -ms-flex-align: end !important;
    align-items: flex-end !important; }
  .align-items-md-center {
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
    -ms-flex-align: center !important;
    align-items: center !important; }
  .align-items-md-baseline {
    -webkit-box-align: baseline !important;
    -webkit-align-items: baseline !important;
    -ms-flex-align: baseline !important;
    align-items: baseline !important; }
  .align-items-md-stretch {
    -webkit-box-align: stretch !important;
    -webkit-align-items: stretch !important;
    -ms-flex-align: stretch !important;
    align-items: stretch !important; }
  .align-content-md-start {
    -webkit-align-content: flex-start !important;
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important; }
  .align-content-md-end {
    -webkit-align-content: flex-end !important;
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important; }
  .align-content-md-center {
    -webkit-align-content: center !important;
    -ms-flex-line-pack: center !important;
    align-content: center !important; }
  .align-content-md-between {
    -webkit-align-content: space-between !important;
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important; }
  .align-content-md-around {
    -webkit-align-content: space-around !important;
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important; }
  .align-content-md-stretch {
    -webkit-align-content: stretch !important;
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important; }
  .align-self-md-auto {
    -webkit-align-self: auto !important;
    -ms-flex-item-align: auto !important;
    align-self: auto !important; }
  .align-self-md-start {
    -webkit-align-self: flex-start !important;
    -ms-flex-item-align: start !important;
    align-self: flex-start !important; }
  .align-self-md-end {
    -webkit-align-self: flex-end !important;
    -ms-flex-item-align: end !important;
    align-self: flex-end !important; }
  .align-self-md-center {
    -webkit-align-self: center !important;
    -ms-flex-item-align: center !important;
    align-self: center !important; }
  .align-self-md-baseline {
    -webkit-align-self: baseline !important;
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important; }
  .align-self-md-stretch {
    -webkit-align-self: stretch !important;
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important; } }

@media (min-width: 992px) {
  .flex-lg-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: row !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important; }
  .flex-lg-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: column !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important; }
  .flex-lg-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
    -webkit-flex-direction: row-reverse !important;
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important; }
  .flex-lg-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
    -webkit-flex-direction: column-reverse !important;
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important; }
  .flex-lg-wrap {
    -webkit-flex-wrap: wrap !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important; }
  .flex-lg-nowrap {
    -webkit-flex-wrap: nowrap !important;
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important; }
  .flex-lg-wrap-reverse {
    -webkit-flex-wrap: wrap-reverse !important;
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important; }
  .flex-lg-fill {
    -webkit-box-flex: 1 !important;
    -webkit-flex: 1 1 auto !important;
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important; }
  .flex-lg-grow-0 {
    -webkit-box-flex: 0 !important;
    -webkit-flex-grow: 0 !important;
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important; }
  .flex-lg-grow-1 {
    -webkit-box-flex: 1 !important;
    -webkit-flex-grow: 1 !important;
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important; }
  .flex-lg-shrink-0 {
    -webkit-flex-shrink: 0 !important;
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important; }
  .flex-lg-shrink-1 {
    -webkit-flex-shrink: 1 !important;
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important; }
  .justify-content-lg-start {
    -webkit-box-pack: start !important;
    -webkit-justify-content: flex-start !important;
    -ms-flex-pack: start !important;
    justify-content: flex-start !important; }
  .justify-content-lg-end {
    -webkit-box-pack: end !important;
    -webkit-justify-content: flex-end !important;
    -ms-flex-pack: end !important;
    justify-content: flex-end !important; }
  .justify-content-lg-center {
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important; }
  .justify-content-lg-between {
    -webkit-box-pack: justify !important;
    -webkit-justify-content: space-between !important;
    -ms-flex-pack: justify !important;
    justify-content: space-between !important; }
  .justify-content-lg-around {
    -webkit-justify-content: space-around !important;
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important; }
  .align-items-lg-start {
    -webkit-box-align: start !important;
    -webkit-align-items: flex-start !important;
    -ms-flex-align: start !important;
    align-items: flex-start !important; }
  .align-items-lg-end {
    -webkit-box-align: end !important;
    -webkit-align-items: flex-end !important;
    -ms-flex-align: end !important;
    align-items: flex-end !important; }
  .align-items-lg-center {
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
    -ms-flex-align: center !important;
    align-items: center !important; }
  .align-items-lg-baseline {
    -webkit-box-align: baseline !important;
    -webkit-align-items: baseline !important;
    -ms-flex-align: baseline !important;
    align-items: baseline !important; }
  .align-items-lg-stretch {
    -webkit-box-align: stretch !important;
    -webkit-align-items: stretch !important;
    -ms-flex-align: stretch !important;
    align-items: stretch !important; }
  .align-content-lg-start {
    -webkit-align-content: flex-start !important;
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important; }
  .align-content-lg-end {
    -webkit-align-content: flex-end !important;
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important; }
  .align-content-lg-center {
    -webkit-align-content: center !important;
    -ms-flex-line-pack: center !important;
    align-content: center !important; }
  .align-content-lg-between {
    -webkit-align-content: space-between !important;
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important; }
  .align-content-lg-around {
    -webkit-align-content: space-around !important;
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important; }
  .align-content-lg-stretch {
    -webkit-align-content: stretch !important;
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important; }
  .align-self-lg-auto {
    -webkit-align-self: auto !important;
    -ms-flex-item-align: auto !important;
    align-self: auto !important; }
  .align-self-lg-start {
    -webkit-align-self: flex-start !important;
    -ms-flex-item-align: start !important;
    align-self: flex-start !important; }
  .align-self-lg-end {
    -webkit-align-self: flex-end !important;
    -ms-flex-item-align: end !important;
    align-self: flex-end !important; }
  .align-self-lg-center {
    -webkit-align-self: center !important;
    -ms-flex-item-align: center !important;
    align-self: center !important; }
  .align-self-lg-baseline {
    -webkit-align-self: baseline !important;
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important; }
  .align-self-lg-stretch {
    -webkit-align-self: stretch !important;
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important; } }

@media (min-width: 1200px) {
  .flex-xl-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: row !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important; }
  .flex-xl-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: column !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important; }
  .flex-xl-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
    -webkit-flex-direction: row-reverse !important;
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important; }
  .flex-xl-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
    -webkit-flex-direction: column-reverse !important;
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important; }
  .flex-xl-wrap {
    -webkit-flex-wrap: wrap !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important; }
  .flex-xl-nowrap {
    -webkit-flex-wrap: nowrap !important;
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important; }
  .flex-xl-wrap-reverse {
    -webkit-flex-wrap: wrap-reverse !important;
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important; }
  .flex-xl-fill {
    -webkit-box-flex: 1 !important;
    -webkit-flex: 1 1 auto !important;
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important; }
  .flex-xl-grow-0 {
    -webkit-box-flex: 0 !important;
    -webkit-flex-grow: 0 !important;
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important; }
  .flex-xl-grow-1 {
    -webkit-box-flex: 1 !important;
    -webkit-flex-grow: 1 !important;
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important; }
  .flex-xl-shrink-0 {
    -webkit-flex-shrink: 0 !important;
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important; }
  .flex-xl-shrink-1 {
    -webkit-flex-shrink: 1 !important;
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important; }
  .justify-content-xl-start {
    -webkit-box-pack: start !important;
    -webkit-justify-content: flex-start !important;
    -ms-flex-pack: start !important;
    justify-content: flex-start !important; }
  .justify-content-xl-end {
    -webkit-box-pack: end !important;
    -webkit-justify-content: flex-end !important;
    -ms-flex-pack: end !important;
    justify-content: flex-end !important; }
  .justify-content-xl-center {
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important; }
  .justify-content-xl-between {
    -webkit-box-pack: justify !important;
    -webkit-justify-content: space-between !important;
    -ms-flex-pack: justify !important;
    justify-content: space-between !important; }
  .justify-content-xl-around {
    -webkit-justify-content: space-around !important;
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important; }
  .align-items-xl-start {
    -webkit-box-align: start !important;
    -webkit-align-items: flex-start !important;
    -ms-flex-align: start !important;
    align-items: flex-start !important; }
  .align-items-xl-end {
    -webkit-box-align: end !important;
    -webkit-align-items: flex-end !important;
    -ms-flex-align: end !important;
    align-items: flex-end !important; }
  .align-items-xl-center {
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
    -ms-flex-align: center !important;
    align-items: center !important; }
  .align-items-xl-baseline {
    -webkit-box-align: baseline !important;
    -webkit-align-items: baseline !important;
    -ms-flex-align: baseline !important;
    align-items: baseline !important; }
  .align-items-xl-stretch {
    -webkit-box-align: stretch !important;
    -webkit-align-items: stretch !important;
    -ms-flex-align: stretch !important;
    align-items: stretch !important; }
  .align-content-xl-start {
    -webkit-align-content: flex-start !important;
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important; }
  .align-content-xl-end {
    -webkit-align-content: flex-end !important;
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important; }
  .align-content-xl-center {
    -webkit-align-content: center !important;
    -ms-flex-line-pack: center !important;
    align-content: center !important; }
  .align-content-xl-between {
    -webkit-align-content: space-between !important;
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important; }
  .align-content-xl-around {
    -webkit-align-content: space-around !important;
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important; }
  .align-content-xl-stretch {
    -webkit-align-content: stretch !important;
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important; }
  .align-self-xl-auto {
    -webkit-align-self: auto !important;
    -ms-flex-item-align: auto !important;
    align-self: auto !important; }
  .align-self-xl-start {
    -webkit-align-self: flex-start !important;
    -ms-flex-item-align: start !important;
    align-self: flex-start !important; }
  .align-self-xl-end {
    -webkit-align-self: flex-end !important;
    -ms-flex-item-align: end !important;
    align-self: flex-end !important; }
  .align-self-xl-center {
    -webkit-align-self: center !important;
    -ms-flex-item-align: center !important;
    align-self: center !important; }
  .align-self-xl-baseline {
    -webkit-align-self: baseline !important;
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important; }
  .align-self-xl-stretch {
    -webkit-align-self: stretch !important;
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important; } }

.float-left {
  float: left !important; }

.float-right {
  float: right !important; }

.float-none {
  float: none !important; }

@media (min-width: 576px) {
  .float-sm-left {
    float: left !important; }
  .float-sm-right {
    float: right !important; }
  .float-sm-none {
    float: none !important; } }

@media (min-width: 768px) {
  .float-md-left {
    float: left !important; }
  .float-md-right {
    float: right !important; }
  .float-md-none {
    float: none !important; } }

@media (min-width: 992px) {
  .float-lg-left {
    float: left !important; }
  .float-lg-right {
    float: right !important; }
  .float-lg-none {
    float: none !important; } }

@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important; }
  .float-xl-right {
    float: right !important; }
  .float-xl-none {
    float: none !important; } }

.overflow-auto {
  overflow: auto !important; }

.overflow-hidden {
  overflow: hidden !important; }

.position-static {
  position: static !important; }

.position-relative {
  position: relative !important; }

.position-absolute {
  position: absolute !important; }

.position-fixed {
  position: fixed !important; }

.position-sticky {
  position: -webkit-sticky !important;
  position: sticky !important; }

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030; }

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030; }

@supports ((position: -webkit-sticky) or (position: sticky)) {
  .sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020; } }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0; }

.sr-only-focusable:active, .sr-only-focusable.nice-select.open, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal; }

.shadow-sm {
  -webkit-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; }

.shadow {
  -webkit-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; }

.shadow-lg {
  -webkit-box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; }

.shadow-none {
  -webkit-box-shadow: none !important;
  box-shadow: none !important; }

.w-25 {
  width: 25% !important; }

.w-50 {
  width: 50% !important; }

.w-75 {
  width: 75% !important; }

.w-100 {
  width: 100% !important; }

.w-auto {
  width: auto !important; }

.h-25 {
  height: 25% !important; }

.h-50 {
  height: 50% !important; }

.h-75 {
  height: 75% !important; }

.h-100 {
  height: 100% !important; }

.h-auto {
  height: auto !important; }

.mw-100 {
  max-width: 100% !important; }

.mh-100 {
  max-height: 100% !important; }

.min-vw-100 {
  min-width: 100vw !important; }

.min-vh-100 {
  min-height: 100vh !important; }

.vw-100 {
  width: 100vw !important; }

.vh-100 {
  height: 100vh !important; }

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0); }

.m-0 {
  margin: 0 !important; }

.mt-0,
.my-0 {
  margin-top: 0 !important; }

.mr-0,
.mx-0 {
  margin-right: 0 !important; }

.mb-0,
.my-0 {
  margin-bottom: 0 !important; }

.ml-0,
.mx-0 {
  margin-left: 0 !important; }

.m-1 {
  margin: 0.25rem !important; }

.mt-1,
.my-1 {
  margin-top: 0.25rem !important; }

.mr-1,
.mx-1 {
  margin-right: 0.25rem !important; }

.mb-1,
.my-1 {
  margin-bottom: 0.25rem !important; }

.ml-1,
.mx-1 {
  margin-left: 0.25rem !important; }

.m-2 {
  margin: 0.5rem !important; }

.mt-2,
.my-2 {
  margin-top: 0.5rem !important; }

.mr-2,
.mx-2 {
  margin-right: 0.5rem !important; }

.mb-2,
.my-2 {
  margin-bottom: 0.5rem !important; }

.ml-2,
.mx-2 {
  margin-left: 0.5rem !important; }

.m-3 {
  margin: 1rem !important; }

.mt-3,
.my-3 {
  margin-top: 1rem !important; }

.mr-3,
.mx-3 {
  margin-right: 1rem !important; }

.mb-3,
.my-3 {
  margin-bottom: 1rem !important; }

.ml-3,
.mx-3 {
  margin-left: 1rem !important; }

.m-4 {
  margin: 1.5rem !important; }

.mt-4,
.my-4 {
  margin-top: 1.5rem !important; }

.mr-4,
.mx-4 {
  margin-right: 1.5rem !important; }

.mb-4,
.my-4 {
  margin-bottom: 1.5rem !important; }

.ml-4,
.mx-4 {
  margin-left: 1.5rem !important; }

.m-5 {
  margin: 3rem !important; }

.mt-5,
.my-5 {
  margin-top: 3rem !important; }

.mr-5,
.mx-5 {
  margin-right: 3rem !important; }

.mb-5,
.my-5 {
  margin-bottom: 3rem !important; }

.ml-5,
.mx-5 {
  margin-left: 3rem !important; }

.p-0 {
  padding: 0 !important; }

.pt-0,
.py-0 {
  padding-top: 0 !important; }

.pr-0,
.px-0 {
  padding-right: 0 !important; }

.pb-0,
.py-0 {
  padding-bottom: 0 !important; }

.pl-0,
.px-0 {
  padding-left: 0 !important; }

.p-1 {
  padding: 0.25rem !important; }

.pt-1,
.py-1 {
  padding-top: 0.25rem !important; }

.pr-1,
.px-1 {
  padding-right: 0.25rem !important; }

.pb-1,
.py-1 {
  padding-bottom: 0.25rem !important; }

.pl-1,
.px-1 {
  padding-left: 0.25rem !important; }

.p-2 {
  padding: 0.5rem !important; }

.pt-2,
.py-2 {
  padding-top: 0.5rem !important; }

.pr-2,
.px-2 {
  padding-right: 0.5rem !important; }

.pb-2,
.py-2 {
  padding-bottom: 0.5rem !important; }

.pl-2,
.px-2 {
  padding-left: 0.5rem !important; }

.p-3 {
  padding: 1rem !important; }

.pt-3,
.py-3 {
  padding-top: 1rem !important; }

.pr-3,
.px-3 {
  padding-right: 1rem !important; }

.pb-3,
.py-3 {
  padding-bottom: 1rem !important; }

.pl-3,
.px-3 {
  padding-left: 1rem !important; }

.p-4 {
  padding: 1.5rem !important; }

.pt-4,
.py-4 {
  padding-top: 1.5rem !important; }

.pr-4,
.px-4 {
  padding-right: 1.5rem !important; }

.pb-4,
.py-4 {
  padding-bottom: 1.5rem !important; }

.pl-4,
.px-4 {
  padding-left: 1.5rem !important; }

.p-5 {
  padding: 3rem !important; }

.pt-5,
.py-5 {
  padding-top: 3rem !important; }

.pr-5,
.px-5 {
  padding-right: 3rem !important; }

.pb-5,
.py-5 {
  padding-bottom: 3rem !important; }

.pl-5,
.px-5 {
  padding-left: 3rem !important; }

.m-n1 {
  margin: -0.25rem !important; }

.mt-n1,
.my-n1 {
  margin-top: -0.25rem !important; }

.mr-n1,
.mx-n1 {
  margin-right: -0.25rem !important; }

.mb-n1,
.my-n1 {
  margin-bottom: -0.25rem !important; }

.ml-n1,
.mx-n1 {
  margin-left: -0.25rem !important; }

.m-n2 {
  margin: -0.5rem !important; }

.mt-n2,
.my-n2 {
  margin-top: -0.5rem !important; }

.mr-n2,
.mx-n2 {
  margin-right: -0.5rem !important; }

.mb-n2,
.my-n2 {
  margin-bottom: -0.5rem !important; }

.ml-n2,
.mx-n2 {
  margin-left: -0.5rem !important; }

.m-n3 {
  margin: -1rem !important; }

.mt-n3,
.my-n3 {
  margin-top: -1rem !important; }

.mr-n3,
.mx-n3 {
  margin-right: -1rem !important; }

.mb-n3,
.my-n3 {
  margin-bottom: -1rem !important; }

.ml-n3,
.mx-n3 {
  margin-left: -1rem !important; }

.m-n4 {
  margin: -1.5rem !important; }

.mt-n4,
.my-n4 {
  margin-top: -1.5rem !important; }

.mr-n4,
.mx-n4 {
  margin-right: -1.5rem !important; }

.mb-n4,
.my-n4 {
  margin-bottom: -1.5rem !important; }

.ml-n4,
.mx-n4 {
  margin-left: -1.5rem !important; }

.m-n5 {
  margin: -3rem !important; }

.mt-n5,
.my-n5 {
  margin-top: -3rem !important; }

.mr-n5,
.mx-n5 {
  margin-right: -3rem !important; }

.mb-n5,
.my-n5 {
  margin-bottom: -3rem !important; }

.ml-n5,
.mx-n5 {
  margin-left: -3rem !important; }

.m-auto {
  margin: auto !important; }

.mt-auto,
.my-auto {
  margin-top: auto !important; }

.mr-auto,
.mx-auto {
  margin-right: auto !important; }

.mb-auto,
.my-auto {
  margin-bottom: auto !important; }

.ml-auto,
.mx-auto {
  margin-left: auto !important; }

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important; }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important; }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important; }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important; }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important; }
  .m-sm-1 {
    margin: 0.25rem !important; }
  .mt-sm-1,
  .my-sm-1 {
    margin-top: 0.25rem !important; }
  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 0.25rem !important; }
  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 0.25rem !important; }
  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 0.25rem !important; }
  .m-sm-2 {
    margin: 0.5rem !important; }
  .mt-sm-2,
  .my-sm-2 {
    margin-top: 0.5rem !important; }
  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 0.5rem !important; }
  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 0.5rem !important; }
  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 0.5rem !important; }
  .m-sm-3 {
    margin: 1rem !important; }
  .mt-sm-3,
  .my-sm-3 {
    margin-top: 1rem !important; }
  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 1rem !important; }
  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 1rem !important; }
  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 1rem !important; }
  .m-sm-4 {
    margin: 1.5rem !important; }
  .mt-sm-4,
  .my-sm-4 {
    margin-top: 1.5rem !important; }
  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 1.5rem !important; }
  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 1.5rem !important; }
  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 1.5rem !important; }
  .m-sm-5 {
    margin: 3rem !important; }
  .mt-sm-5,
  .my-sm-5 {
    margin-top: 3rem !important; }
  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 3rem !important; }
  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 3rem !important; }
  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 3rem !important; }
  .p-sm-0 {
    padding: 0 !important; }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important; }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important; }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important; }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important; }
  .p-sm-1 {
    padding: 0.25rem !important; }
  .pt-sm-1,
  .py-sm-1 {
    padding-top: 0.25rem !important; }
  .pr-sm-1,
  .px-sm-1 {
    padding-right: 0.25rem !important; }
  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 0.25rem !important; }
  .pl-sm-1,
  .px-sm-1 {
    padding-left: 0.25rem !important; }
  .p-sm-2 {
    padding: 0.5rem !important; }
  .pt-sm-2,
  .py-sm-2 {
    padding-top: 0.5rem !important; }
  .pr-sm-2,
  .px-sm-2 {
    padding-right: 0.5rem !important; }
  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 0.5rem !important; }
  .pl-sm-2,
  .px-sm-2 {
    padding-left: 0.5rem !important; }
  .p-sm-3 {
    padding: 1rem !important; }
  .pt-sm-3,
  .py-sm-3 {
    padding-top: 1rem !important; }
  .pr-sm-3,
  .px-sm-3 {
    padding-right: 1rem !important; }
  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 1rem !important; }
  .pl-sm-3,
  .px-sm-3 {
    padding-left: 1rem !important; }
  .p-sm-4 {
    padding: 1.5rem !important; }
  .pt-sm-4,
  .py-sm-4 {
    padding-top: 1.5rem !important; }
  .pr-sm-4,
  .px-sm-4 {
    padding-right: 1.5rem !important; }
  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 1.5rem !important; }
  .pl-sm-4,
  .px-sm-4 {
    padding-left: 1.5rem !important; }
  .p-sm-5 {
    padding: 3rem !important; }
  .pt-sm-5,
  .py-sm-5 {
    padding-top: 3rem !important; }
  .pr-sm-5,
  .px-sm-5 {
    padding-right: 3rem !important; }
  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 3rem !important; }
  .pl-sm-5,
  .px-sm-5 {
    padding-left: 3rem !important; }
  .m-sm-n1 {
    margin: -0.25rem !important; }
  .mt-sm-n1,
  .my-sm-n1 {
    margin-top: -0.25rem !important; }
  .mr-sm-n1,
  .mx-sm-n1 {
    margin-right: -0.25rem !important; }
  .mb-sm-n1,
  .my-sm-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-sm-n1,
  .mx-sm-n1 {
    margin-left: -0.25rem !important; }
  .m-sm-n2 {
    margin: -0.5rem !important; }
  .mt-sm-n2,
  .my-sm-n2 {
    margin-top: -0.5rem !important; }
  .mr-sm-n2,
  .mx-sm-n2 {
    margin-right: -0.5rem !important; }
  .mb-sm-n2,
  .my-sm-n2 {
    margin-bottom: -0.5rem !important; }
  .ml-sm-n2,
  .mx-sm-n2 {
    margin-left: -0.5rem !important; }
  .m-sm-n3 {
    margin: -1rem !important; }
  .mt-sm-n3,
  .my-sm-n3 {
    margin-top: -1rem !important; }
  .mr-sm-n3,
  .mx-sm-n3 {
    margin-right: -1rem !important; }
  .mb-sm-n3,
  .my-sm-n3 {
    margin-bottom: -1rem !important; }
  .ml-sm-n3,
  .mx-sm-n3 {
    margin-left: -1rem !important; }
  .m-sm-n4 {
    margin: -1.5rem !important; }
  .mt-sm-n4,
  .my-sm-n4 {
    margin-top: -1.5rem !important; }
  .mr-sm-n4,
  .mx-sm-n4 {
    margin-right: -1.5rem !important; }
  .mb-sm-n4,
  .my-sm-n4 {
    margin-bottom: -1.5rem !important; }
  .ml-sm-n4,
  .mx-sm-n4 {
    margin-left: -1.5rem !important; }
  .m-sm-n5 {
    margin: -3rem !important; }
  .mt-sm-n5,
  .my-sm-n5 {
    margin-top: -3rem !important; }
  .mr-sm-n5,
  .mx-sm-n5 {
    margin-right: -3rem !important; }
  .mb-sm-n5,
  .my-sm-n5 {
    margin-bottom: -3rem !important; }
  .ml-sm-n5,
  .mx-sm-n5 {
    margin-left: -3rem !important; }
  .m-sm-auto {
    margin: auto !important; }
  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important; }
  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important; }
  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important; }
  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important; } }

@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important; }
  .mt-md-0,
  .my-md-0 {
    margin-top: 0 !important; }
  .mr-md-0,
  .mx-md-0 {
    margin-right: 0 !important; }
  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0 !important; }
  .ml-md-0,
  .mx-md-0 {
    margin-left: 0 !important; }
  .m-md-1 {
    margin: 0.25rem !important; }
  .mt-md-1,
  .my-md-1 {
    margin-top: 0.25rem !important; }
  .mr-md-1,
  .mx-md-1 {
    margin-right: 0.25rem !important; }
  .mb-md-1,
  .my-md-1 {
    margin-bottom: 0.25rem !important; }
  .ml-md-1,
  .mx-md-1 {
    margin-left: 0.25rem !important; }
  .m-md-2 {
    margin: 0.5rem !important; }
  .mt-md-2,
  .my-md-2 {
    margin-top: 0.5rem !important; }
  .mr-md-2,
  .mx-md-2 {
    margin-right: 0.5rem !important; }
  .mb-md-2,
  .my-md-2 {
    margin-bottom: 0.5rem !important; }
  .ml-md-2,
  .mx-md-2 {
    margin-left: 0.5rem !important; }
  .m-md-3 {
    margin: 1rem !important; }
  .mt-md-3,
  .my-md-3 {
    margin-top: 1rem !important; }
  .mr-md-3,
  .mx-md-3 {
    margin-right: 1rem !important; }
  .mb-md-3,
  .my-md-3 {
    margin-bottom: 1rem !important; }
  .ml-md-3,
  .mx-md-3 {
    margin-left: 1rem !important; }
  .m-md-4 {
    margin: 1.5rem !important; }
  .mt-md-4,
  .my-md-4 {
    margin-top: 1.5rem !important; }
  .mr-md-4,
  .mx-md-4 {
    margin-right: 1.5rem !important; }
  .mb-md-4,
  .my-md-4 {
    margin-bottom: 1.5rem !important; }
  .ml-md-4,
  .mx-md-4 {
    margin-left: 1.5rem !important; }
  .m-md-5 {
    margin: 3rem !important; }
  .mt-md-5,
  .my-md-5 {
    margin-top: 3rem !important; }
  .mr-md-5,
  .mx-md-5 {
    margin-right: 3rem !important; }
  .mb-md-5,
  .my-md-5 {
    margin-bottom: 3rem !important; }
  .ml-md-5,
  .mx-md-5 {
    margin-left: 3rem !important; }
  .p-md-0 {
    padding: 0 !important; }
  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important; }
  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important; }
  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important; }
  .pl-md-0,
  .px-md-0 {
    padding-left: 0 !important; }
  .p-md-1 {
    padding: 0.25rem !important; }
  .pt-md-1,
  .py-md-1 {
    padding-top: 0.25rem !important; }
  .pr-md-1,
  .px-md-1 {
    padding-right: 0.25rem !important; }
  .pb-md-1,
  .py-md-1 {
    padding-bottom: 0.25rem !important; }
  .pl-md-1,
  .px-md-1 {
    padding-left: 0.25rem !important; }
  .p-md-2 {
    padding: 0.5rem !important; }
  .pt-md-2,
  .py-md-2 {
    padding-top: 0.5rem !important; }
  .pr-md-2,
  .px-md-2 {
    padding-right: 0.5rem !important; }
  .pb-md-2,
  .py-md-2 {
    padding-bottom: 0.5rem !important; }
  .pl-md-2,
  .px-md-2 {
    padding-left: 0.5rem !important; }
  .p-md-3 {
    padding: 1rem !important; }
  .pt-md-3,
  .py-md-3 {
    padding-top: 1rem !important; }
  .pr-md-3,
  .px-md-3 {
    padding-right: 1rem !important; }
  .pb-md-3,
  .py-md-3 {
    padding-bottom: 1rem !important; }
  .pl-md-3,
  .px-md-3 {
    padding-left: 1rem !important; }
  .p-md-4 {
    padding: 1.5rem !important; }
  .pt-md-4,
  .py-md-4 {
    padding-top: 1.5rem !important; }
  .pr-md-4,
  .px-md-4 {
    padding-right: 1.5rem !important; }
  .pb-md-4,
  .py-md-4 {
    padding-bottom: 1.5rem !important; }
  .pl-md-4,
  .px-md-4 {
    padding-left: 1.5rem !important; }
  .p-md-5 {
    padding: 3rem !important; }
  .pt-md-5,
  .py-md-5 {
    padding-top: 3rem !important; }
  .pr-md-5,
  .px-md-5 {
    padding-right: 3rem !important; }
  .pb-md-5,
  .py-md-5 {
    padding-bottom: 3rem !important; }
  .pl-md-5,
  .px-md-5 {
    padding-left: 3rem !important; }
  .m-md-n1 {
    margin: -0.25rem !important; }
  .mt-md-n1,
  .my-md-n1 {
    margin-top: -0.25rem !important; }
  .mr-md-n1,
  .mx-md-n1 {
    margin-right: -0.25rem !important; }
  .mb-md-n1,
  .my-md-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-md-n1,
  .mx-md-n1 {
    margin-left: -0.25rem !important; }
  .m-md-n2 {
    margin: -0.5rem !important; }
  .mt-md-n2,
  .my-md-n2 {
    margin-top: -0.5rem !important; }
  .mr-md-n2,
  .mx-md-n2 {
    margin-right: -0.5rem !important; }
  .mb-md-n2,
  .my-md-n2 {
    margin-bottom: -0.5rem !important; }
  .ml-md-n2,
  .mx-md-n2 {
    margin-left: -0.5rem !important; }
  .m-md-n3 {
    margin: -1rem !important; }
  .mt-md-n3,
  .my-md-n3 {
    margin-top: -1rem !important; }
  .mr-md-n3,
  .mx-md-n3 {
    margin-right: -1rem !important; }
  .mb-md-n3,
  .my-md-n3 {
    margin-bottom: -1rem !important; }
  .ml-md-n3,
  .mx-md-n3 {
    margin-left: -1rem !important; }
  .m-md-n4 {
    margin: -1.5rem !important; }
  .mt-md-n4,
  .my-md-n4 {
    margin-top: -1.5rem !important; }
  .mr-md-n4,
  .mx-md-n4 {
    margin-right: -1.5rem !important; }
  .mb-md-n4,
  .my-md-n4 {
    margin-bottom: -1.5rem !important; }
  .ml-md-n4,
  .mx-md-n4 {
    margin-left: -1.5rem !important; }
  .m-md-n5 {
    margin: -3rem !important; }
  .mt-md-n5,
  .my-md-n5 {
    margin-top: -3rem !important; }
  .mr-md-n5,
  .mx-md-n5 {
    margin-right: -3rem !important; }
  .mb-md-n5,
  .my-md-n5 {
    margin-bottom: -3rem !important; }
  .ml-md-n5,
  .mx-md-n5 {
    margin-left: -3rem !important; }
  .m-md-auto {
    margin: auto !important; }
  .mt-md-auto,
  .my-md-auto {
    margin-top: auto !important; }
  .mr-md-auto,
  .mx-md-auto {
    margin-right: auto !important; }
  .mb-md-auto,
  .my-md-auto {
    margin-bottom: auto !important; }
  .ml-md-auto,
  .mx-md-auto {
    margin-left: auto !important; } }

@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important; }
  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0 !important; }
  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0 !important; }
  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0 !important; }
  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0 !important; }
  .m-lg-1 {
    margin: 0.25rem !important; }
  .mt-lg-1,
  .my-lg-1 {
    margin-top: 0.25rem !important; }
  .mr-lg-1,
  .mx-lg-1 {
    margin-right: 0.25rem !important; }
  .mb-lg-1,
  .my-lg-1 {
    margin-bottom: 0.25rem !important; }
  .ml-lg-1,
  .mx-lg-1 {
    margin-left: 0.25rem !important; }
  .m-lg-2 {
    margin: 0.5rem !important; }
  .mt-lg-2,
  .my-lg-2 {
    margin-top: 0.5rem !important; }
  .mr-lg-2,
  .mx-lg-2 {
    margin-right: 0.5rem !important; }
  .mb-lg-2,
  .my-lg-2 {
    margin-bottom: 0.5rem !important; }
  .ml-lg-2,
  .mx-lg-2 {
    margin-left: 0.5rem !important; }
  .m-lg-3 {
    margin: 1rem !important; }
  .mt-lg-3,
  .my-lg-3 {
    margin-top: 1rem !important; }
  .mr-lg-3,
  .mx-lg-3 {
    margin-right: 1rem !important; }
  .mb-lg-3,
  .my-lg-3 {
    margin-bottom: 1rem !important; }
  .ml-lg-3,
  .mx-lg-3 {
    margin-left: 1rem !important; }
  .m-lg-4 {
    margin: 1.5rem !important; }
  .mt-lg-4,
  .my-lg-4 {
    margin-top: 1.5rem !important; }
  .mr-lg-4,
  .mx-lg-4 {
    margin-right: 1.5rem !important; }
  .mb-lg-4,
  .my-lg-4 {
    margin-bottom: 1.5rem !important; }
  .ml-lg-4,
  .mx-lg-4 {
    margin-left: 1.5rem !important; }
  .m-lg-5 {
    margin: 3rem !important; }
  .mt-lg-5,
  .my-lg-5 {
    margin-top: 3rem !important; }
  .mr-lg-5,
  .mx-lg-5 {
    margin-right: 3rem !important; }
  .mb-lg-5,
  .my-lg-5 {
    margin-bottom: 3rem !important; }
  .ml-lg-5,
  .mx-lg-5 {
    margin-left: 3rem !important; }
  .p-lg-0 {
    padding: 0 !important; }
  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important; }
  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important; }
  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important; }
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0 !important; }
  .p-lg-1 {
    padding: 0.25rem !important; }
  .pt-lg-1,
  .py-lg-1 {
    padding-top: 0.25rem !important; }
  .pr-lg-1,
  .px-lg-1 {
    padding-right: 0.25rem !important; }
  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 0.25rem !important; }
  .pl-lg-1,
  .px-lg-1 {
    padding-left: 0.25rem !important; }
  .p-lg-2 {
    padding: 0.5rem !important; }
  .pt-lg-2,
  .py-lg-2 {
    padding-top: 0.5rem !important; }
  .pr-lg-2,
  .px-lg-2 {
    padding-right: 0.5rem !important; }
  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 0.5rem !important; }
  .pl-lg-2,
  .px-lg-2 {
    padding-left: 0.5rem !important; }
  .p-lg-3 {
    padding: 1rem !important; }
  .pt-lg-3,
  .py-lg-3 {
    padding-top: 1rem !important; }
  .pr-lg-3,
  .px-lg-3 {
    padding-right: 1rem !important; }
  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 1rem !important; }
  .pl-lg-3,
  .px-lg-3 {
    padding-left: 1rem !important; }
  .p-lg-4 {
    padding: 1.5rem !important; }
  .pt-lg-4,
  .py-lg-4 {
    padding-top: 1.5rem !important; }
  .pr-lg-4,
  .px-lg-4 {
    padding-right: 1.5rem !important; }
  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 1.5rem !important; }
  .pl-lg-4,
  .px-lg-4 {
    padding-left: 1.5rem !important; }
  .p-lg-5 {
    padding: 3rem !important; }
  .pt-lg-5,
  .py-lg-5 {
    padding-top: 3rem !important; }
  .pr-lg-5,
  .px-lg-5 {
    padding-right: 3rem !important; }
  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 3rem !important; }
  .pl-lg-5,
  .px-lg-5 {
    padding-left: 3rem !important; }
  .m-lg-n1 {
    margin: -0.25rem !important; }
  .mt-lg-n1,
  .my-lg-n1 {
    margin-top: -0.25rem !important; }
  .mr-lg-n1,
  .mx-lg-n1 {
    margin-right: -0.25rem !important; }
  .mb-lg-n1,
  .my-lg-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-lg-n1,
  .mx-lg-n1 {
    margin-left: -0.25rem !important; }
  .m-lg-n2 {
    margin: -0.5rem !important; }
  .mt-lg-n2,
  .my-lg-n2 {
    margin-top: -0.5rem !important; }
  .mr-lg-n2,
  .mx-lg-n2 {
    margin-right: -0.5rem !important; }
  .mb-lg-n2,
  .my-lg-n2 {
    margin-bottom: -0.5rem !important; }
  .ml-lg-n2,
  .mx-lg-n2 {
    margin-left: -0.5rem !important; }
  .m-lg-n3 {
    margin: -1rem !important; }
  .mt-lg-n3,
  .my-lg-n3 {
    margin-top: -1rem !important; }
  .mr-lg-n3,
  .mx-lg-n3 {
    margin-right: -1rem !important; }
  .mb-lg-n3,
  .my-lg-n3 {
    margin-bottom: -1rem !important; }
  .ml-lg-n3,
  .mx-lg-n3 {
    margin-left: -1rem !important; }
  .m-lg-n4 {
    margin: -1.5rem !important; }
  .mt-lg-n4,
  .my-lg-n4 {
    margin-top: -1.5rem !important; }
  .mr-lg-n4,
  .mx-lg-n4 {
    margin-right: -1.5rem !important; }
  .mb-lg-n4,
  .my-lg-n4 {
    margin-bottom: -1.5rem !important; }
  .ml-lg-n4,
  .mx-lg-n4 {
    margin-left: -1.5rem !important; }
  .m-lg-n5 {
    margin: -3rem !important; }
  .mt-lg-n5,
  .my-lg-n5 {
    margin-top: -3rem !important; }
  .mr-lg-n5,
  .mx-lg-n5 {
    margin-right: -3rem !important; }
  .mb-lg-n5,
  .my-lg-n5 {
    margin-bottom: -3rem !important; }
  .ml-lg-n5,
  .mx-lg-n5 {
    margin-left: -3rem !important; }
  .m-lg-auto {
    margin: auto !important; }
  .mt-lg-auto,
  .my-lg-auto {
    margin-top: auto !important; }
  .mr-lg-auto,
  .mx-lg-auto {
    margin-right: auto !important; }
  .mb-lg-auto,
  .my-lg-auto {
    margin-bottom: auto !important; }
  .ml-lg-auto,
  .mx-lg-auto {
    margin-left: auto !important; } }

@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important; }
  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0 !important; }
  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0 !important; }
  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0 !important; }
  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0 !important; }
  .m-xl-1 {
    margin: 0.25rem !important; }
  .mt-xl-1,
  .my-xl-1 {
    margin-top: 0.25rem !important; }
  .mr-xl-1,
  .mx-xl-1 {
    margin-right: 0.25rem !important; }
  .mb-xl-1,
  .my-xl-1 {
    margin-bottom: 0.25rem !important; }
  .ml-xl-1,
  .mx-xl-1 {
    margin-left: 0.25rem !important; }
  .m-xl-2 {
    margin: 0.5rem !important; }
  .mt-xl-2,
  .my-xl-2 {
    margin-top: 0.5rem !important; }
  .mr-xl-2,
  .mx-xl-2 {
    margin-right: 0.5rem !important; }
  .mb-xl-2,
  .my-xl-2 {
    margin-bottom: 0.5rem !important; }
  .ml-xl-2,
  .mx-xl-2 {
    margin-left: 0.5rem !important; }
  .m-xl-3 {
    margin: 1rem !important; }
  .mt-xl-3,
  .my-xl-3 {
    margin-top: 1rem !important; }
  .mr-xl-3,
  .mx-xl-3 {
    margin-right: 1rem !important; }
  .mb-xl-3,
  .my-xl-3 {
    margin-bottom: 1rem !important; }
  .ml-xl-3,
  .mx-xl-3 {
    margin-left: 1rem !important; }
  .m-xl-4 {
    margin: 1.5rem !important; }
  .mt-xl-4,
  .my-xl-4 {
    margin-top: 1.5rem !important; }
  .mr-xl-4,
  .mx-xl-4 {
    margin-right: 1.5rem !important; }
  .mb-xl-4,
  .my-xl-4 {
    margin-bottom: 1.5rem !important; }
  .ml-xl-4,
  .mx-xl-4 {
    margin-left: 1.5rem !important; }
  .m-xl-5 {
    margin: 3rem !important; }
  .mt-xl-5,
  .my-xl-5 {
    margin-top: 3rem !important; }
  .mr-xl-5,
  .mx-xl-5 {
    margin-right: 3rem !important; }
  .mb-xl-5,
  .my-xl-5 {
    margin-bottom: 3rem !important; }
  .ml-xl-5,
  .mx-xl-5 {
    margin-left: 3rem !important; }
  .p-xl-0 {
    padding: 0 !important; }
  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important; }
  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0 !important; }
  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important; }
  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0 !important; }
  .p-xl-1 {
    padding: 0.25rem !important; }
  .pt-xl-1,
  .py-xl-1 {
    padding-top: 0.25rem !important; }
  .pr-xl-1,
  .px-xl-1 {
    padding-right: 0.25rem !important; }
  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 0.25rem !important; }
  .pl-xl-1,
  .px-xl-1 {
    padding-left: 0.25rem !important; }
  .p-xl-2 {
    padding: 0.5rem !important; }
  .pt-xl-2,
  .py-xl-2 {
    padding-top: 0.5rem !important; }
  .pr-xl-2,
  .px-xl-2 {
    padding-right: 0.5rem !important; }
  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 0.5rem !important; }
  .pl-xl-2,
  .px-xl-2 {
    padding-left: 0.5rem !important; }
  .p-xl-3 {
    padding: 1rem !important; }
  .pt-xl-3,
  .py-xl-3 {
    padding-top: 1rem !important; }
  .pr-xl-3,
  .px-xl-3 {
    padding-right: 1rem !important; }
  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 1rem !important; }
  .pl-xl-3,
  .px-xl-3 {
    padding-left: 1rem !important; }
  .p-xl-4 {
    padding: 1.5rem !important; }
  .pt-xl-4,
  .py-xl-4 {
    padding-top: 1.5rem !important; }
  .pr-xl-4,
  .px-xl-4 {
    padding-right: 1.5rem !important; }
  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 1.5rem !important; }
  .pl-xl-4,
  .px-xl-4 {
    padding-left: 1.5rem !important; }
  .p-xl-5 {
    padding: 3rem !important; }
  .pt-xl-5,
  .py-xl-5 {
    padding-top: 3rem !important; }
  .pr-xl-5,
  .px-xl-5 {
    padding-right: 3rem !important; }
  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 3rem !important; }
  .pl-xl-5,
  .px-xl-5 {
    padding-left: 3rem !important; }
  .m-xl-n1 {
    margin: -0.25rem !important; }
  .mt-xl-n1,
  .my-xl-n1 {
    margin-top: -0.25rem !important; }
  .mr-xl-n1,
  .mx-xl-n1 {
    margin-right: -0.25rem !important; }
  .mb-xl-n1,
  .my-xl-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-xl-n1,
  .mx-xl-n1 {
    margin-left: -0.25rem !important; }
  .m-xl-n2 {
    margin: -0.5rem !important; }
  .mt-xl-n2,
  .my-xl-n2 {
    margin-top: -0.5rem !important; }
  .mr-xl-n2,
  .mx-xl-n2 {
    margin-right: -0.5rem !important; }
  .mb-xl-n2,
  .my-xl-n2 {
    margin-bottom: -0.5rem !important; }
  .ml-xl-n2,
  .mx-xl-n2 {
    margin-left: -0.5rem !important; }
  .m-xl-n3 {
    margin: -1rem !important; }
  .mt-xl-n3,
  .my-xl-n3 {
    margin-top: -1rem !important; }
  .mr-xl-n3,
  .mx-xl-n3 {
    margin-right: -1rem !important; }
  .mb-xl-n3,
  .my-xl-n3 {
    margin-bottom: -1rem !important; }
  .ml-xl-n3,
  .mx-xl-n3 {
    margin-left: -1rem !important; }
  .m-xl-n4 {
    margin: -1.5rem !important; }
  .mt-xl-n4,
  .my-xl-n4 {
    margin-top: -1.5rem !important; }
  .mr-xl-n4,
  .mx-xl-n4 {
    margin-right: -1.5rem !important; }
  .mb-xl-n4,
  .my-xl-n4 {
    margin-bottom: -1.5rem !important; }
  .ml-xl-n4,
  .mx-xl-n4 {
    margin-left: -1.5rem !important; }
  .m-xl-n5 {
    margin: -3rem !important; }
  .mt-xl-n5,
  .my-xl-n5 {
    margin-top: -3rem !important; }
  .mr-xl-n5,
  .mx-xl-n5 {
    margin-right: -3rem !important; }
  .mb-xl-n5,
  .my-xl-n5 {
    margin-bottom: -3rem !important; }
  .ml-xl-n5,
  .mx-xl-n5 {
    margin-left: -3rem !important; }
  .m-xl-auto {
    margin: auto !important; }
  .mt-xl-auto,
  .my-xl-auto {
    margin-top: auto !important; }
  .mr-xl-auto,
  .mx-xl-auto {
    margin-right: auto !important; }
  .mb-xl-auto,
  .my-xl-auto {
    margin-bottom: auto !important; }
  .ml-xl-auto,
  .mx-xl-auto {
    margin-left: auto !important; } }

.text-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; }

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

.text-wrap {
  white-space: normal !important; }

.text-nowrap {
  white-space: nowrap !important; }

.text-truncate {
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  white-space: nowrap; }

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

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

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

@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important; }
  .text-sm-right {
    text-align: right !important; }
  .text-sm-center {
    text-align: center !important; } }

@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important; }
  .text-md-right {
    text-align: right !important; }
  .text-md-center {
    text-align: center !important; } }

@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important; }
  .text-lg-right {
    text-align: right !important; }
  .text-lg-center {
    text-align: center !important; } }

@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important; }
  .text-xl-right {
    text-align: right !important; }
  .text-xl-center {
    text-align: center !important; } }

.text-lowercase {
  text-transform: lowercase !important; }

.text-uppercase {
  text-transform: uppercase !important; }

.text-capitalize {
  text-transform: capitalize !important; }

.font-weight-light {
  font-weight: 300 !important; }

.font-weight-lighter {
  font-weight: lighter !important; }

.font-weight-normal {
  font-weight: 400 !important; }

.font-weight-bold {
  font-weight: 700 !important; }

.font-weight-bolder {
  font-weight: bolder !important; }

.font-italic {
  font-style: italic !important; }

.text-white {
  color: #fff !important; }

.text-primary {
  color: #007bff !important; }

a.text-primary:hover, a.text-primary:focus {
  color: #0056b3 !important; }

.text-secondary {
  color: #6c757d !important; }

a.text-secondary:hover, a.text-secondary:focus {
  color: #494f54 !important; }

.text-success {
  color: #28a745 !important; }

a.text-success:hover, a.text-success:focus {
  color: #19692c !important; }

.text-info {
  color: #17a2b8 !important; }

a.text-info:hover, a.text-info:focus {
  color: #0f6674 !important; }

.text-warning {
  color: #ffc107 !important; }

a.text-warning:hover, a.text-warning:focus {
  color: #ba8b00 !important; }

.text-danger {
  color: #dc3545 !important; }

a.text-danger:hover, a.text-danger:focus {
  color: #a71d2a !important; }

.text-light {
  color: #f8f9fa !important; }

a.text-light:hover, a.text-light:focus {
  color: #cbd3da !important; }

.text-dark {
  color: #343a40 !important; }

a.text-dark:hover, a.text-dark:focus {
  color: #121416 !important; }

.text-body {
  color: #212529 !important; }

.text-muted {
  color: #6c757d !important; }

.text-black-50 {
  color: rgba(0, 0, 0, 0.5) !important; }

.text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important; }

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0; }

.text-decoration-none {
  text-decoration: none !important; }

.text-break {
  word-break: break-word !important;
  overflow-wrap: break-word !important; }

.text-reset {
  color: inherit !important; }

.visible {
  visibility: visible !important; }

.invisible {
  visibility: hidden !important; }

@media print {
  *,
  *::before,
  *::after {
    text-shadow: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important; }
  a:not(.btn) {
    text-decoration: underline; }
  abbr[title]::after {
    content: " (" attr(title) ")"; }
  pre {
    white-space: pre-wrap !important; }
  pre,
  blockquote {
    border: 1px solid #adb5bd;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  @page {
    size: a3; }
  body {
    min-width: 992px !important; }
  .container, .header-container {
    min-width: 992px !important; }
  .navbar {
    display: none; }
  .badge {
    border: 1px solid #000; }
  .table {
    border-collapse: collapse !important; }
    .table td,
    .table th {
      background-color: #fff !important; }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #dee2e6 !important; }
  .table-dark {
    color: inherit; }
    .table-dark th,
    .table-dark td,
    .table-dark thead th,
    .table-dark tbody + tbody {
      border-color: #dee2e6; }
  .table .thead-dark th {
    color: inherit;
    border-color: #dee2e6; } }

/**
 * Swiper 5.2.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://swiperjs.com
 *
 * Copyright 2014-2019 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: October 26, 2019
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, 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") format("woff");
  font-weight: 400;
  font-style: normal; }

:root {
  --swiper-theme-color:#007aff; }

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1; }

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
  box-sizing: content-box; }

.swiper-container-android .swiper-slide, .swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
  transform: translate3d(0px, 0, 0); }

.swiper-container-multirow > .swiper-wrapper {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.swiper-container-multirow-column > .swiper-wrapper {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto; }

.swiper-slide {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }

.swiper-slide-invisible-blank {
  visibility: hidden; }

.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto; }

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transition-property: height,-webkit-transform;
  transition-property: height,-webkit-transform;
  -o-transition-property: transform,height;
  transition-property: transform,height;
  transition-property: transform,height,-webkit-transform; }

.swiper-container-3d {
  -webkit-perspective: 1200px;
  perspective: 1200px; }

.swiper-container-3d .swiper-cube-shadow, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d; }

.swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10; }

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none; }

.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none; }

.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start; }

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  -webkit-scroll-snap-type: x mandatory;
  -ms-scroll-snap-type: x mandatory;
  scroll-snap-type: x mandatory; }

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  -webkit-scroll-snap-type: y mandatory;
  -ms-scroll-snap-type: y mandatory;
  scroll-snap-type: y mandatory; }

:root {
  --swiper-navigation-size:44px; }

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size)/ 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(-1 * var(--swiper-navigation-size)/ 2);
  z-index: 10;
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color)); }

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events: none; }

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial; }

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  left: 10px;
  right: auto; }

.swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after {
  content: 'prev'; }

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  right: 10px;
  left: auto; }

.swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after {
  content: 'next'; }

.swiper-button-next.swiper-button-white, .swiper-button-prev.swiper-button-white {
  --swiper-navigation-color:#ffffff; }

.swiper-button-next.swiper-button-black, .swiper-button-prev.swiper-button-black {
  --swiper-navigation-color:#000000; }

.swiper-button-lock {
  display: none; }

.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: .3s opacity;
  -o-transition: .3s opacity;
  transition: .3s opacity;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10; }

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0; }

.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%; }

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
  position: relative; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33); }

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  background: #000;
  opacity: .2; }

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer; }

.swiper-pagination-bullet-active {
  opacity: 1;
  background: var(--swiper-pagination-color, var(--swiper-theme-color)); }

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0px, -50%, 0);
  transform: translate3d(0px, -50%, 0); }

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 8px; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  -webkit-transition: .2s transform,.2s top;
  -o-transition: .2s transform,.2s top;
  transition: .2s transform,.2s top; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  white-space: nowrap; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s transform,.2s left;
  -o-transition: .2s transform,.2s left;
  transition: .2s transform,.2s left; }

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s transform,.2s right;
  -o-transition: .2s transform,.2s right;
  transition: .2s transform,.2s right; }

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute; }

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top; }

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top; }

.swiper-container-horizontal > .swiper-pagination-progressbar, .swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0; }

.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-container-vertical > .swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0; }

.swiper-pagination-white {
  --swiper-pagination-color:#ffffff; }

.swiper-pagination-black {
  --swiper-pagination-color:#000000; }

.swiper-pagination-lock {
  display: none; }

.swiper-scrollbar {
  -webkit-border-radius: 10px;
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1); }

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%; }

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%; }

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  -webkit-border-radius: 10px;
  border-radius: 10px;
  left: 0;
  top: 0; }

.swiper-scrollbar-cursor-drag {
  cursor: move; }

.swiper-scrollbar-lock {
  display: none; }

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center; }

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain; }

.swiper-slide-zoomed {
  cursor: move; }

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  -ms-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s infinite linear;
  animation: swiper-preloader-spin 1s infinite linear;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  -webkit-border-radius: 50%;
  border-radius: 50%;
  border-top-color: transparent; }

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff; }

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000; }

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000; }

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out; }

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity; }

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube {
  overflow: visible; }

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  width: 100%;
  height: 100%; }

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0; }

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-next + .swiper-slide, .swiper-container-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible; }

.swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0; }

.swiper-container-flip {
  overflow: visible; }

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1; }

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-flip .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.fancybox-enabled {
  overflow: hidden; }

.fancybox-enabled body {
  overflow: visible;
  -ms-touch-action: none;
  touch-action: none; }

.fancybox-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99993;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

/* Make sure that the first one is on the top */
.fancybox-container ~ .fancybox-container {
  z-index: 99992; }

.fancybox-bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #0f0f11;
  opacity: 0;
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.06, 0.68, 0.19);
  -o-transition-timing-function: cubic-bezier(0.55, 0.06, 0.68, 0.19);
  transition-timing-function: cubic-bezier(0.55, 0.06, 0.68, 0.19);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.fancybox-container--ready .fancybox-bg {
  opacity: 0.87;
  -webkit-transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  -o-transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1); }

.fancybox-controls {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
  opacity: 0;
  z-index: 99994;
  -webkit-transition: opacity .2s;
  -o-transition: opacity .2s;
  transition: opacity .2s;
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  direction: ltr; }

.fancybox-show-controls .fancybox-controls {
  opacity: 1; }

.fancybox-infobar {
  display: none; }

.fancybox-show-infobar .fancybox-infobar {
  display: inline-block;
  pointer-events: all; }

.fancybox-infobar__body {
  display: inline-block;
  width: 70px;
  line-height: 44px;
  font-size: 13px;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
  text-align: center;
  color: #ddd;
  background-color: rgba(30, 30, 30, 0.7);
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-font-smoothing: subpixel-antialiased; }

.fancybox-buttons {
  position: absolute;
  top: 0;
  right: 0;
  display: none;
  pointer-events: all; }

.fancybox-show-buttons .fancybox-buttons {
  display: block; }

.fancybox-slider-wrap {
  overflow: hidden;
  direction: ltr; }

.fancybox-slider-wrap,
.fancybox-slider {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 0;
  margin: 0;
  z-index: 99993;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent; }

.fancybox-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: auto;
  outline: none;
  white-space: normal;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  z-index: 99994;
  -webkit-overflow-scrolling: touch; }

.fancybox-slide::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  height: 100%;
  width: 0; }

.fancybox-slide > * {
  display: inline-block;
  position: relative;
  padding: 24px;
  margin: 44px 0 44px;
  border-width: 0;
  vertical-align: middle;
  text-align: left;
  background-color: #fff;
  overflow: auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.fancybox-slide--image {
  overflow: hidden; }

.fancybox-slide--image::before {
  display: none; }

.fancybox-content {
  display: inline-block;
  position: relative;
  margin: 44px auto;
  padding: 0;
  border: 0;
  width: 80%;
  height: calc(100% - 88px);
  vertical-align: middle;
  line-height: normal;
  text-align: left;
  white-space: normal;
  outline: none;
  font-size: 16px;
  font-family: Arial, sans-serif;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  -webkit-overflow-scrolling: touch; }

.fancybox-iframe {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  width: 100%;
  height: 100%;
  background: #fff; }

.fancybox-slide--video .fancybox-content,
.fancybox-slide--video .fancybox-iframe {
  background: transparent; }

.fancybox-placeholder {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  border: 0;
  z-index: 99995;
  background: transparent;
  cursor: default;
  overflow: visible;
  -webkit-transform-origin: top left;
  -ms-transform-origin: top left;
  transform-origin: top left;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.fancybox-image,
.fancybox-spaceball {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  max-width: none;
  max-height: none;
  background: transparent;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%; }

.fancybox-controls--canzoomOut .fancybox-placeholder {
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.fancybox-controls--canzoomIn .fancybox-placeholder {
  cursor: -webkit-zoom-in;
  cursor: zoom-in; }

.fancybox-controls--canGrab .fancybox-placeholder {
  cursor: -webkit-grab;
  cursor: grab; }

.fancybox-controls--isGrabbing .fancybox-placeholder {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

.fancybox-spaceball {
  z-index: 1; }

.fancybox-tmp {
  position: absolute;
  top: -9999px;
  left: -9999px;
  visibility: hidden; }

.fancybox-error {
  position: absolute;
  margin: 0;
  padding: 40px;
  top: 50%;
  left: 50%;
  width: 380px;
  max-width: 100%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: #fff;
  cursor: default; }

.fancybox-error p {
  margin: 0;
  padding: 0;
  color: #444;
  font: 16px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; }

.fancybox-close-small {
  position: absolute;
  top: 4px;
  right: 4px;
  padding: 0;
  margin: 0;
  width: 30px;
  height: 30px;
  font: 21px/1 Arial,"Helvetica Neue",Helvetica,sans-serif;
  color: #888;
  font-weight: 300;
  text-align: center;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  border-width: 0;
  cursor: pointer;
  background: #fff;
  -webkit-transition: background .2s;
  -o-transition: background .2s;
  transition: background .2s;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 2; }

.fancybox-close-small:focus {
  outline: 1px dotted #888; }

.fancybox-slide--video .fancybox-close-small {
  top: -36px;
  right: -36px;
  background: transparent; }

.fancybox-close-small:hover {
  color: #555;
  background: #eee; }

/* Caption */
.fancybox-caption-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 60px 30px 0 30px;
  z-index: 99998;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(20%, rgba(0, 0, 0, 0.1)), color-stop(40%, rgba(0, 0, 0, 0.2)), color-stop(80%, rgba(0, 0, 0, 0.6)), to(rgba(0, 0, 0, 0.8)));
  background: -webkit-linear-gradient(top, transparent 0%, rgba(0, 0, 0, 0.1) 20%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0.6) 80%, rgba(0, 0, 0, 0.8) 100%);
  background: -o-linear-gradient(top, transparent 0%, rgba(0, 0, 0, 0.1) 20%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0.6) 80%, rgba(0, 0, 0, 0.8) 100%);
  background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.1) 20%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0.6) 80%, rgba(0, 0, 0, 0.8) 100%);
  opacity: 0;
  -webkit-transition: opacity .2s;
  -o-transition: opacity .2s;
  transition: opacity .2s;
  pointer-events: none; }

.fancybox-show-caption .fancybox-caption-wrap {
  opacity: 1; }

.fancybox-caption {
  padding: 30px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  font-size: 14px;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
  color: #fff;
  line-height: 20px;
  -webkit-text-size-adjust: none; }

.fancybox-caption a,
.fancybox-caption button {
  pointer-events: all; }

.fancybox-caption a {
  color: #fff;
  text-decoration: underline; }

/* Buttons */
.fancybox-button {
  display: inline-block;
  position: relative;
  width: 44px;
  height: 44px;
  line-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
  cursor: pointer;
  background: transparent;
  color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: top;
  outline: none; }

.fancybox-button--disabled {
  cursor: default;
  pointer-events: none; }

.fancybox-infobar__body, .fancybox-button {
  background: rgba(30, 30, 30, 0.6); }

.fancybox-button:hover {
  background: rgba(0, 0, 0, 0.8); }

.fancybox-button::before,
.fancybox-button::after {
  content: '';
  pointer-events: none;
  position: absolute;
  border-color: #fff;
  background-color: currentColor;
  color: currentColor;
  opacity: 0.9;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block; }

.fancybox-button--disabled::before,
.fancybox-button--disabled::after {
  opacity: 0.5; }

.fancybox-button--left::after {
  left: 20px;
  top: 18px;
  width: 6px;
  height: 6px;
  background: transparent;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  -webkit-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  transform: rotate(-135deg); }

.fancybox-button--right::after {
  right: 20px;
  top: 18px;
  width: 6px;
  height: 6px;
  background: transparent;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.fancybox-button--left {
  -webkit-border-bottom-left-radius: 5px;
  border-bottom-left-radius: 5px; }

.fancybox-button--right {
  -webkit-border-bottom-right-radius: 5px;
  border-bottom-right-radius: 5px; }

.fancybox-button--close {
  float: right; }

.fancybox-button--close::before, .fancybox-button--close::after {
  content: '';
  display: inline-block;
  position: absolute;
  height: 2px;
  width: 16px;
  top: calc(50% - 1px);
  left: calc(50% - 8px); }

.fancybox-button--close::before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.fancybox-button--close::after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

/* Loading spinner */
.fancybox-loading {
  border: 6px solid rgba(100, 100, 100, 0.4);
  border-top: 6px solid rgba(255, 255, 255, 0.6);
  -webkit-border-radius: 100%;
  border-radius: 100%;
  height: 50px;
  width: 50px;
  -webkit-animation: fancybox-rotate .8s infinite linear;
  animation: fancybox-rotate .8s infinite linear;
  background: transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -25px;
  margin-left: -25px;
  z-index: 99999; }

@-webkit-keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

/* Styling for Small-Screen Devices */
@media all and (max-width: 800px) {
  .fancybox-controls {
    text-align: left; }
  .fancybox-button--left,
  .fancybox-button--right,
  .fancybox-buttons button:not(.fancybox-button--close) {
    display: none !important; }
  .fancybox-caption {
    padding: 20px 0;
    margin: 0; } }

/* Fullscreen  */
.fancybox-button--fullscreen::before {
  width: 15px;
  height: 11px;
  left: 15px;
  top: 16px;
  border: 2px solid;
  background: none; }

/* Slideshow button */
.fancybox-button--play::before {
  top: 16px;
  left: 18px;
  width: 0;
  height: 0;
  border-top: 6px inset transparent;
  border-bottom: 6px inset transparent;
  border-left: 10px solid;
  -webkit-border-radius: 1px;
  border-radius: 1px;
  background: transparent; }

.fancybox-button--pause::before {
  top: 16px;
  left: 18px;
  width: 7px;
  height: 11px;
  border-style: solid;
  border-width: 0 2px 0 2px;
  background: transparent; }

/* Thumbs */
.fancybox-button--thumbs span {
  font-size: 23px; }

.fancybox-button--thumbs::before {
  top: 20px;
  left: 21px;
  width: 3px;
  height: 3px;
  -webkit-box-shadow: 0 -4px 0, -4px -4px 0, 4px -4px 0, 0 0 0 32px inset, -4px 0 0, 4px 0 0, 0 4px 0, -4px 4px 0, 4px 4px 0;
  box-shadow: 0 -4px 0, -4px -4px 0, 4px -4px 0, 0 0 0 32px inset, -4px 0 0, 4px 0 0, 0 4px 0, -4px 4px 0, 4px 4px 0; }

.fancybox-container--thumbs .fancybox-controls,
.fancybox-container--thumbs .fancybox-slider-wrap,
.fancybox-container--thumbs .fancybox-caption-wrap {
  right: 220px; }

.fancybox-thumbs {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  width: 220px;
  margin: 0;
  padding: 5px 5px 0 0;
  background: #fff;
  z-index: 99993;
  word-break: normal;
  -webkit-overflow-scrolling: touch;
  -webkit-tap-highlight-color: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.fancybox-thumbs > ul {
  list-style: none;
  position: absolute;
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  font-size: 0; }

.fancybox-thumbs > ul > li {
  float: left;
  overflow: hidden;
  max-width: 50%;
  padding: 0;
  margin: 0;
  width: 105px;
  height: 75px;
  position: relative;
  cursor: pointer;
  outline: none;
  border: 5px solid #fff;
  border-top-width: 0;
  border-right-width: 0;
  -webkit-tap-highlight-color: transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

li.fancybox-thumbs-loading {
  background: rgba(0, 0, 0, 0.1); }

.fancybox-thumbs > ul > li > img {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  min-height: 100%;
  max-width: none;
  max-height: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.fancybox-thumbs > ul > li:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  border: 4px solid #4ea7f9;
  z-index: 99991;
  opacity: 0;
  -webkit-transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -o-transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.fancybox-thumbs > ul > li.fancybox-thumbs-active:before {
  opacity: 1; }

/* Styling for Small-Screen Devices */
@media all and (max-width: 800px) {
  .fancybox-thumbs {
    display: none !important; }
  .fancybox-container--thumbs .fancybox-controls,
  .fancybox-container--thumbs .fancybox-slider-wrap,
  .fancybox-container--thumbs .fancybox-caption-wrap {
    right: 0; } }

/*animations*/
/******************
* Bounce in right *
*******************/
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.slow {
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.slower {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.slowest {
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

/* Added by Andy Meetan */
.delay-250 {
  -webkit-animation-delay: 0.25s;
  animation-delay: 0.25s; }

.delay-500 {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s; }

.delay-750 {
  -webkit-animation-delay: 0.75s;
  animation-delay: 0.75s; }

.delay-1000 {
  -webkit-animation-delay: 1.0s;
  animation-delay: 1.0s; }

.delay-1250 {
  -webkit-animation-delay: 1.25s;
  animation-delay: 1.25s; }

.delay-1500 {
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s; }

.delay-1750 {
  -webkit-animation-delay: 1.75s;
  animation-delay: 1.75s; }

.delay-2000 {
  -webkit-animation-delay: 2.0s;
  animation-delay: 2.0s; }

.delay-2500 {
  -webkit-animation-delay: 2.5s;
  animation-delay: 2.5s; }

.delay-2000 {
  -webkit-animation-delay: 2.0s;
  animation-delay: 2.0s; }

.delay-2500 {
  -webkit-animation-delay: 2.5s;
  animation-delay: 2.5s; }

.delay-3000 {
  -webkit-animation-delay: 3.0s;
  animation-delay: 3.0s; }

.delay-3500 {
  -webkit-animation-delay: 3.5s;
  animation-delay: 3.5s; }

.bounceInRight, .bounceInLeft, .bounceInUp, .bounceInDown {
  opacity: 0;
  -webkit-transform: translateX(400px);
  -ms-transform: translateX(400px);
  transform: translateX(400px); }

.fadeInRight, .fadeInLeft, .fadeInUp, .fadeInDown {
  opacity: 0;
  -webkit-transform: translateX(400px);
  -ms-transform: translateX(400px);
  transform: translateX(400px); }

.flipInX, .flipInY, .rotateIn, .rotateInUpLeft, .rotateInUpRight, .rotateInDownLeft, .rotateDownUpRight, .rollIn {
  opacity: 0; }

.lightSpeedInRight, .lightSpeedInLeft {
  opacity: 0;
  -webkit-transform: translateX(400px);
  -ms-transform: translateX(400px);
  transform: translateX(400px); }

/***********
* bounceIn *
************/
@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05); }
  70% {
    -webkit-transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1); } }

@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    transform: scale(0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
    transform: scale(1.05); }
  70% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

.bounceIn.go {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

/****************
* bounceInRight *
****************/
@-webkit-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px); }
  60% {
    -webkit-transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px);
    transform: translateX(400px); }
  60% {
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.bounceInRight.go {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

/******************
* Bounce in left *
*******************/
@-webkit-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px); }
  60% {
    -webkit-transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px);
    transform: translateX(-400px); }
  60% {
    -webkit-transform: translateX(30px);
    transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.bounceInLeft.go {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

/******************
* Bounce in up *
*******************/
@-webkit-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px); }
  60% {
    -webkit-transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px);
    transform: translateY(400px); }
  60% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.bounceInUp.go {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

/******************
* Bounce in down *
*******************/
@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px); }
  60% {
    -webkit-transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px);
    transform: translateY(-400px); }
  60% {
    -webkit-transform: translateY(30px);
    transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.bounceInDown.go {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

/**********
* Fade In *
**********/
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1;
    display: block; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1;
    display: block; } }

.fadeIn {
  opacity: 0; }

.fadeIn.go {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

/**********
* Grow in *
***********/
@-webkit-keyframes growIn {
  0% {
    -webkit-transform: scale(0.2);
    opacity: 0; }
  50% {
    -webkit-transform: scale(1.2); }
  100% {
    -webkit-transform: scale(1);
    opacity: 1; } }

@keyframes growIn {
  0% {
    -webkit-transform: scale(0.2);
    transform: scale(0.2);
    opacity: 0; }
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.growIn {
  -webkit-transform: scale(0.2);
  -ms-transform: scale(0.2);
  transform: scale(0.2);
  opacity: 0; }

.growIn.go {
  -webkit-animation-name: growIn;
  animation-name: growIn; }

/********
* Shake *
********/
@-webkit-keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-10px); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(10px); } }

@keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px); } }

.shake.go {
  -webkit-animation-name: shake;
  animation-name: shake; }

/********
* ShakeUp *
********/
@-webkit-keyframes shakeUp {
  0%, 100% {
    -webkit-transform: translateY(0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateY(-10px); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translateY(10px); } }

@keyframes shakeUp {
  0%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px); } }

.shakeUp.go {
  -webkit-animation-name: shakeUp;
  animation-name: shakeUp; }

/*************
* FadeInLeft *
*************/
@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px);
    transform: translateX(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.fadeInLeft {
  opacity: 0;
  -webkit-transform: translateX(-400px);
  -ms-transform: translateX(-400px);
  transform: translateX(-400px); }

.fadeInLeft.go {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

/*************
* FadeInRight *
*************/
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px);
    transform: translateX(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.fadeInRight {
  opacity: 0;
  -webkit-transform: translateX(400px);
  -ms-transform: translateX(400px);
  transform: translateX(400px); }

.fadeInRight.go {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

/*************
* FadeInUp *
*************/
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px);
    transform: translateY(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.fadeInUp {
  opacity: 0;
  -webkit-transform: translateY(400px);
  -ms-transform: translateY(400px);
  transform: translateY(400px); }

.fadeInUp.go {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

/*************
* FadeInDown *
*************/
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px);
    transform: translateY(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.fadeInDown {
  opacity: 0;
  -webkit-transform: translateY(-400px);
  -ms-transform: translateY(-400px);
  transform: translateY(-400px); }

.fadeInDown.go {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

/*****************
* rotateIn *
*****************/
@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateIn.go {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn; }

/*****************
* rotateInUpLeft *
*****************/
@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInUpLeft.go {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft; }

/*******************
* rotateInDownLeft *
*******************/
@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInDownLeft.go {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft; }

/******************
* rotateInUpRight *
*******************/
@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInUpRight.go {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight; }

/********************
* rotateInDownRight *
********************/
@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInDownRight.go {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight; }

/*********
* rollIn *
**********/
@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg); } }

@keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); } }

.rollIn.go {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

/*********
* wiggle *
**********/
@-webkit-keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg); } }

@keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg);
    transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg);
    transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg);
    transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg);
    transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg);
    transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg);
    transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg);
    transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg);
    transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg);
    transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg);
    transform: skewX(0deg); } }

.wiggle.go {
  -webkit-animation-name: wiggle;
  animation-name: wiggle;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/********
* swing *
*********/
@-webkit-keyframes swing {
  20%, 40%, 60%, 80%, 100% {
    -webkit-transform-origin: top center; }
  20% {
    -webkit-transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg); } }

@keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); } }

.swing.go {
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

/*******
* tada *
********/
@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1); }
  10%, 20% {
    -webkit-transform: scale(0.9) rotate(-3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale(1.1) rotate(3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale(1.1) rotate(-3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0); } }

@keyframes tada {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  10%, 20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }

.tada.go {
  -webkit-animation-name: tada;
  animation-name: tada; }

/*********
* wobble *
**********/
@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%); } }

@keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); } }

.wobble.go {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

/********
* pulse *
*********/
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1); }
  50% {
    -webkit-transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1); } }

@keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

.pulse.go {
  -webkit-animation-name: pulse;
  animation-name: pulse; }

/***************
* lightSpeedInRight *
****************/
@-webkit-keyframes lightSpeedInRight {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

@keyframes lightSpeedInRight {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

.lightSpeedInRight.go {
  -webkit-animation-name: lightSpeedInRight;
  animation-name: lightSpeedInRight;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

/***************
* lightSpeedInLeft *
****************/
@-webkit-keyframes lightSpeedInLeft {
  0% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(20%) skewX(-30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

@keyframes lightSpeedInLeft {
  0% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    transform: translateX(-100%) skewX(30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(20%) skewX(-30deg);
    transform: translateX(20%) skewX(-30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(15deg);
    transform: translateX(0%) skewX(15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

.lightSpeedInLeft.go {
  -webkit-animation-name: lightSpeedInLeft;
  animation-name: lightSpeedInLeft;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

/*******
* Flip *
*******/
@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in; } }

@keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

.flip.go {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flip;
  backface-visibility: visible !important;
  animation-name: flip; }

/**********
* flipInX *
**********/
@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

.flipInX.go {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  backface-visibility: visible !important;
  animation-name: flipInX; }

/**********
* flipInY *
**********/
@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    opacity: 1; } }

@keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1; } }

.flipInY.go {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  backface-visibility: visible !important;
  animation-name: flipInY; }

/*****************
* Out animations *
*****************/
/************
* bounceOut *
*************/
@-webkit-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1); }
  25% {
    -webkit-transform: scale(0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3); } }

@keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  25% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    transform: scale(0.3); } }

.bounceOut.goAway {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

/************
* bounceOutUp *
*************/
@-webkit-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); } }

@keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

.bounceOutUp.goAway {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

/************
* bounceOutDown *
*************/
@-webkit-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px); } }

@keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px); } }

.bounceOutDown.goAway {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

/************
* bounceOutLeft *
*************/
@-webkit-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px); } }

@keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

.bounceOutLeft.goAway {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

/************
* bounceOutRight *
*************/
@-webkit-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px); } }

@keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px); } }

.bounceOutRight.goAway {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

/************
* fadeOut *
*************/
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

.fadeOut.goAway {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

/************
* fadeOutUp *
*************/
@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); } }

@keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

.fadeOutUp.goAway {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

/************
* fadeOutDown *
*************/
@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px); } }

@keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px); } }

.fadeOutDown.goAway {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

/************
* fadeOutLeft *
*************/
@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px); } }

@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

.fadeOutLeft.goAway {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

/************
* fadeOutRight *
*************/
@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px); } }

@keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px); } }

.fadeOutRight.goAway {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

/************
* flipOutX *
*************/
@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

@keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

.flipOutX.goAway {
  -webkit-animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  animation-name: flipOutX;
  backface-visibility: visible !important; }

/************
* flipOutY *
*************/
@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0; } }

@keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0; } }

.flipOutY {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  backface-visibility: visible !important;
  animation-name: flipOutY; }

/************
* lightSpeedOutRight *
*************/
@-webkit-keyframes lightSpeedOutRight {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0; } }

@keyframes lightSpeedOutRight {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0; } }

.lightSpeedOutRight.goAway {
  -webkit-animation-name: lightSpeedOutRight;
  animation-name: lightSpeedOutRight;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/************
* lightSpeedOutLeft *
*************/
@-webkit-keyframes lightSpeedOutLeft {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    opacity: 0; } }

@keyframes lightSpeedOutLeft {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    transform: translateX(-100%) skewX(30deg);
    opacity: 0; } }

.lightSpeedOutLeft.goAway {
  -webkit-animation-name: lightSpeedOutLeft;
  animation-name: lightSpeedOutLeft;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/************
* rotateOut *
*************/
@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(200deg);
    opacity: 0; } }

@keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0; } }

.rotateOut.goAway {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut; }

/************
* rotateOutUpLeft *
*************/
@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -transform-origin: left bottom;
    -transform: rotate(-90deg);
    opacity: 0; } }

.rotateOutUpLeft.goAway {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft; }

/************
* rotateOutDownLeft *
*************/
@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

.rotateOutDownLeft.goAway {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft; }

/************
* rotateOutUpRight *
*************/
@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

.rotateOutUpRight.goAway {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight; }

/************
* rollOut *
*************/
@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg); } }

@keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
    transform: translateX(100%) rotate(120deg); } }

.rollOut.goAway {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

/*****************
* Short Animations
*******************/
/*********************
* fadeInUpShort
*********************/
@-webkit-keyframes fadeInUpShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInUpShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.fadeInUpShort {
  opacity: 0;
  -webkit-transform: translateY(20px);
  -ms-transform: translateY(20px);
  transform: translateY(20px); }

.fadeInUpShort.go {
  -webkit-animation-name: fadeInUpShort;
  animation-name: fadeInUpShort; }

/*********************
* fadeInDownShort
*********************/
@-webkit-keyframes fadeInDownShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInDownShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.fadeInDownShort {
  opacity: 0;
  -webkit-transform: translateY(-20px);
  -ms-transform: translateY(-20px);
  transform: translateY(-20px); }

.fadeInDownShort.go {
  -webkit-animation-name: fadeInDownShort;
  animation-name: fadeInDownShort; }

/*********************
* fadeInRightShort 
*********************/
@-webkit-keyframes fadeInRightShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInRightShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.fadeInRightShort {
  opacity: 0;
  -webkit-transform: translateX(20px);
  -ms-transform: translateX(20px);
  transform: translateX(20px); }

.fadeInRightShort.go {
  -webkit-animation-name: fadeInRightShort;
  animation-name: fadeInRightShort; }

/*********************
* fadeInLeftShort 
*********************/
@-webkit-keyframes fadeInLeftShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInLeftShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.fadeInLeftShort {
  opacity: 0;
  -webkit-transform: translateX(-20px);
  -ms-transform: translateX(-20px);
  transform: translateX(-20px); }

.fadeInLeftShort.go {
  -webkit-animation-name: fadeInLeftShort;
  animation-name: fadeInLeftShort; }

.nice-select {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background-color: #f5f5f5;
  -webkit-border-radius: 0.25rem;
  border-radius: 0.25rem;
  border: solid 1px #d8d8d8;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  clear: both;
  cursor: pointer;
  display: block;
  font-family: inherit;
  font-size: 14px;
  font-weight: normal;
  height: calc(1.5em + 0.75rem + 2px);
  line-height: calc(1.5em + 0.75rem + 2px);
  outline: none;
  padding-left: 18px;
  padding-right: 30px;
  position: relative;
  text-align: left !important;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap;
  width: 100%; }
  .nice-select:hover {
    border-color: #cbcbcb; }
  .nice-select:active, .nice-select.open, .nice-select:focus {
    border-color: #757575; }
  .nice-select:after {
    content: '';
    display: block;
    position: absolute;
    right: 3px;
    top: 10%;
    -webkit-transform-origin: 66% 66%;
    -ms-transform-origin: 66% 66%;
    transform-origin: 66% 66%;
    -webkit-transition: all 0.15s ease-in-out;
    -o-transition: all 0.15s ease-in-out;
    transition: all 0.15s ease-in-out;
    width: 26px;
    height: 26px;
    background: url(../images/icon-down.png); }
  .nice-select.open:after {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg);
    top: -12%;
    right: 12px; }
  .nice-select.open .list {
    opacity: 1;
    pointer-events: auto;
    -webkit-transform: scale(1) translateY(0);
    -ms-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0); }
  .nice-select.disabled {
    border-color: #dddddd;
    color: #757575;
    pointer-events: none; }
    .nice-select.disabled:after {
      border-color: #a8a8a8; }
  .nice-select.wide {
    width: 100%; }
    .nice-select.wide .list {
      left: 0 !important;
      right: 0 !important; }
  .nice-select.right {
    float: right; }
    .nice-select.right .list {
      left: auto;
      right: 0; }
  .nice-select.small {
    font-size: 12px;
    height: 36px;
    line-height: 34px; }
    .nice-select.small:after {
      height: 4px;
      width: 4px; }
    .nice-select.small .option {
      line-height: 34px;
      min-height: 34px; }
  .nice-select .list {
    width: 100%;
    -webkit-box-shadow: 0 0 0 1px rgba(68, 68, 68, 0.11);
    box-shadow: 0 0 0 1px rgba(68, 68, 68, 0.11);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: 4px;
    opacity: 0;
    overflow: hidden;
    padding: 0;
    pointer-events: none;
    position: absolute;
    top: 100%;
    left: 0;
    -webkit-transform-origin: 50% 0;
    -ms-transform-origin: 50% 0;
    transform-origin: 50% 0;
    -webkit-transform: scale(0.75) translateY(-calc(1.5em + 0.75rem + 2px)/2);
    -ms-transform: scale(0.75) translateY(-calc(1.5em + 0.75rem + 2px)/2);
    transform: scale(0.75) translateY(-calc(1.5em + 0.75rem + 2px)/2);
    -webkit-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
    -o-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
    transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
    z-index: 9; }
  .nice-select .option {
    cursor: pointer;
    font-weight: 400;
    line-height: calc(1.5em + 0.75rem + 2px);
    list-style: none;
    height: calc(1.5em + 0.75rem + 2px);
    outline: none;
    padding-left: 18px;
    padding-right: 29px;
    text-align: left;
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
    background: #040508;
    border-bottom: 1px solid #25223d;
    color: #68778b; }
    .nice-select .option:last-child {
      border-bottom: none; }
    .nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus {
      color: #ffb036; }
    .nice-select .option.selected {
      font-weight: bold; }
    .nice-select .option.disabled {
      background-color: #cccccc;
      color: #757575;
      cursor: default; }

.no-csspointerevents .nice-select .list {
  display: none; }

.no-csspointerevents .nice-select.open .list {
  display: block; }

/**
 * Swiper 5.2.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://swiperjs.com
 *
 * Copyright 2014-2019 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: October 26, 2019
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, 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") format("woff");
  font-weight: 400;
  font-style: normal; }

:root {
  --swiper-theme-color:#007aff; }

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1; }

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
  box-sizing: content-box; }

.swiper-container-android .swiper-slide, .swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
  transform: translate3d(0px, 0, 0); }

.swiper-container-multirow > .swiper-wrapper {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.swiper-container-multirow-column > .swiper-wrapper {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto; }

.swiper-slide {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }

.swiper-slide-invisible-blank {
  visibility: hidden; }

.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto; }

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transition-property: height,-webkit-transform;
  transition-property: height,-webkit-transform;
  -o-transition-property: transform,height;
  transition-property: transform,height;
  transition-property: transform,height,-webkit-transform; }

.swiper-container-3d {
  -webkit-perspective: 1200px;
  perspective: 1200px; }

.swiper-container-3d .swiper-cube-shadow, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d; }

.swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10; }

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none; }

.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none; }

.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start; }

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  -webkit-scroll-snap-type: x mandatory;
  -ms-scroll-snap-type: x mandatory;
  scroll-snap-type: x mandatory; }

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  -webkit-scroll-snap-type: y mandatory;
  -ms-scroll-snap-type: y mandatory;
  scroll-snap-type: y mandatory; }

:root {
  --swiper-navigation-size:44px; }

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size)/ 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(-1 * var(--swiper-navigation-size)/ 2);
  z-index: 10;
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color)); }

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events: none; }

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial; }

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  left: 10px;
  right: auto; }

.swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after {
  content: 'prev'; }

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  right: 10px;
  left: auto; }

.swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after {
  content: 'next'; }

.swiper-button-next.swiper-button-white, .swiper-button-prev.swiper-button-white {
  --swiper-navigation-color:#ffffff; }

.swiper-button-next.swiper-button-black, .swiper-button-prev.swiper-button-black {
  --swiper-navigation-color:#000000; }

.swiper-button-lock {
  display: none; }

.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: .3s opacity;
  -o-transition: .3s opacity;
  transition: .3s opacity;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10; }

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0; }

.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%; }

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
  position: relative; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33); }

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  background: #000;
  opacity: .2; }

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer; }

.swiper-pagination-bullet-active {
  opacity: 1;
  background: var(--swiper-pagination-color, var(--swiper-theme-color)); }

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0px, -50%, 0);
  transform: translate3d(0px, -50%, 0); }

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 8px; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  -webkit-transition: .2s transform,.2s top;
  -o-transition: .2s transform,.2s top;
  transition: .2s transform,.2s top; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  white-space: nowrap; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s transform,.2s left;
  -o-transition: .2s transform,.2s left;
  transition: .2s transform,.2s left; }

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s transform,.2s right;
  -o-transition: .2s transform,.2s right;
  transition: .2s transform,.2s right; }

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute; }

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top; }

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top; }

.swiper-container-horizontal > .swiper-pagination-progressbar, .swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0; }

.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-container-vertical > .swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0; }

.swiper-pagination-white {
  --swiper-pagination-color:#ffffff; }

.swiper-pagination-black {
  --swiper-pagination-color:#000000; }

.swiper-pagination-lock {
  display: none; }

.swiper-scrollbar {
  -webkit-border-radius: 10px;
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1); }

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%; }

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%; }

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  -webkit-border-radius: 10px;
  border-radius: 10px;
  left: 0;
  top: 0; }

.swiper-scrollbar-cursor-drag {
  cursor: move; }

.swiper-scrollbar-lock {
  display: none; }

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center; }

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain; }

.swiper-slide-zoomed {
  cursor: move; }

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  -ms-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s infinite linear;
  animation: swiper-preloader-spin 1s infinite linear;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  -webkit-border-radius: 50%;
  border-radius: 50%;
  border-top-color: transparent; }

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff; }

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000; }

@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000; }

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out; }

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity; }

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube {
  overflow: visible; }

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  width: 100%;
  height: 100%; }

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0; }

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-next + .swiper-slide, .swiper-container-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible; }

.swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0; }

.swiper-container-flip {
  overflow: visible; }

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1; }

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-flip .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

/*animations*/
/******************
* Bounce in right *
*******************/
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.slow {
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.slower {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.slowest {
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

/* Added by Andy Meetan */
.delay-250 {
  -webkit-animation-delay: 0.25s;
  animation-delay: 0.25s; }

.delay-500 {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s; }

.delay-750 {
  -webkit-animation-delay: 0.75s;
  animation-delay: 0.75s; }

.delay-1000 {
  -webkit-animation-delay: 1.0s;
  animation-delay: 1.0s; }

.delay-1250 {
  -webkit-animation-delay: 1.25s;
  animation-delay: 1.25s; }

.delay-1500 {
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s; }

.delay-1750 {
  -webkit-animation-delay: 1.75s;
  animation-delay: 1.75s; }

.delay-2000 {
  -webkit-animation-delay: 2.0s;
  animation-delay: 2.0s; }

.delay-2500 {
  -webkit-animation-delay: 2.5s;
  animation-delay: 2.5s; }

.delay-2000 {
  -webkit-animation-delay: 2.0s;
  animation-delay: 2.0s; }

.delay-2500 {
  -webkit-animation-delay: 2.5s;
  animation-delay: 2.5s; }

.delay-3000 {
  -webkit-animation-delay: 3.0s;
  animation-delay: 3.0s; }

.delay-3500 {
  -webkit-animation-delay: 3.5s;
  animation-delay: 3.5s; }

.bounceInRight, .bounceInLeft, .bounceInUp, .bounceInDown {
  opacity: 0;
  -webkit-transform: translateX(400px);
  -ms-transform: translateX(400px);
  transform: translateX(400px); }

.fadeInRight, .fadeInLeft, .fadeInUp, .fadeInDown {
  opacity: 0;
  -webkit-transform: translateX(400px);
  -ms-transform: translateX(400px);
  transform: translateX(400px); }

.flipInX, .flipInY, .rotateIn, .rotateInUpLeft, .rotateInUpRight, .rotateInDownLeft, .rotateDownUpRight, .rollIn {
  opacity: 0; }

.lightSpeedInRight, .lightSpeedInLeft {
  opacity: 0;
  -webkit-transform: translateX(400px);
  -ms-transform: translateX(400px);
  transform: translateX(400px); }

/***********
* bounceIn *
************/
@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05); }
  70% {
    -webkit-transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1); } }

@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    transform: scale(0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
    transform: scale(1.05); }
  70% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

.bounceIn.go {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

/****************
* bounceInRight *
****************/
@-webkit-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px); }
  60% {
    -webkit-transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px);
    transform: translateX(400px); }
  60% {
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.bounceInRight.go {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

/******************
* Bounce in left *
*******************/
@-webkit-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px); }
  60% {
    -webkit-transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px);
    transform: translateX(-400px); }
  60% {
    -webkit-transform: translateX(30px);
    transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.bounceInLeft.go {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

/******************
* Bounce in up *
*******************/
@-webkit-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px); }
  60% {
    -webkit-transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px);
    transform: translateY(400px); }
  60% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.bounceInUp.go {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

/******************
* Bounce in down *
*******************/
@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px); }
  60% {
    -webkit-transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px);
    transform: translateY(-400px); }
  60% {
    -webkit-transform: translateY(30px);
    transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.bounceInDown.go {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

/**********
* Fade In *
**********/
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1;
    display: block; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1;
    display: block; } }

.fadeIn {
  opacity: 0; }

.fadeIn.go {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

/**********
* Grow in *
***********/
@-webkit-keyframes growIn {
  0% {
    -webkit-transform: scale(0.2);
    opacity: 0; }
  50% {
    -webkit-transform: scale(1.2); }
  100% {
    -webkit-transform: scale(1);
    opacity: 1; } }

@keyframes growIn {
  0% {
    -webkit-transform: scale(0.2);
    transform: scale(0.2);
    opacity: 0; }
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.growIn {
  -webkit-transform: scale(0.2);
  -ms-transform: scale(0.2);
  transform: scale(0.2);
  opacity: 0; }

.growIn.go {
  -webkit-animation-name: growIn;
  animation-name: growIn; }

/********
* Shake *
********/
@-webkit-keyframes shake {
  0%,
  100% {
    -webkit-transform: translateX(0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px); } }

@keyframes shake {
  0%,
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px); } }

.shake.go {
  -webkit-animation-name: shake;
  animation-name: shake; }

/********
* ShakeUp *
********/
@-webkit-keyframes shakeUp {
  0%,
  100% {
    -webkit-transform: translateY(0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateY(-10px); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateY(10px); } }

@keyframes shakeUp {
  0%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px); } }

.shakeUp.go {
  -webkit-animation-name: shakeUp;
  animation-name: shakeUp; }

/*************
* FadeInLeft *
*************/
@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px);
    transform: translateX(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.fadeInLeft {
  opacity: 0;
  -webkit-transform: translateX(-400px);
  -ms-transform: translateX(-400px);
  transform: translateX(-400px); }

.fadeInLeft.go {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

/*************
* FadeInRight *
*************/
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px);
    transform: translateX(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.fadeInRight {
  opacity: 0;
  -webkit-transform: translateX(400px);
  -ms-transform: translateX(400px);
  transform: translateX(400px); }

.fadeInRight.go {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

/*************
* FadeInUp *
*************/
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px);
    transform: translateY(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.fadeInUp {
  opacity: 0;
  -webkit-transform: translateY(400px);
  -ms-transform: translateY(400px);
  transform: translateY(400px); }

.fadeInUp.go {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

/*************
* FadeInDown *
*************/
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px);
    transform: translateY(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.fadeInDown {
  opacity: 0;
  -webkit-transform: translateY(-400px);
  -ms-transform: translateY(-400px);
  transform: translateY(-400px); }

.fadeInDown.go {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

/*****************
* rotateIn *
*****************/
@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateIn.go {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn; }

/*****************
* rotateInUpLeft *
*****************/
@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInUpLeft.go {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft; }

/*******************
* rotateInDownLeft *
*******************/
@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInDownLeft.go {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft; }

/******************
* rotateInUpRight *
*******************/
@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInUpRight.go {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight; }

/********************
* rotateInDownRight *
********************/
@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInDownRight.go {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight; }

/*********
* rollIn *
**********/
@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg); } }

@keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); } }

.rollIn.go {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

/*********
* wiggle *
**********/
@-webkit-keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg); } }

@keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg);
    transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg);
    transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg);
    transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg);
    transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg);
    transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg);
    transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg);
    transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg);
    transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg);
    transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg);
    transform: skewX(0deg); } }

.wiggle.go {
  -webkit-animation-name: wiggle;
  animation-name: wiggle;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/********
* swing *
*********/
@-webkit-keyframes swing {
  20%,
  40%,
  60%,
  80%,
  100% {
    -webkit-transform-origin: top center; }
  20% {
    -webkit-transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg); } }

@keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); } }

.swing.go {
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

/*******
* tada *
********/
@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1); }
  10%,
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg); }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale(1.1) rotate(3deg); }
  40%,
  60%,
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0); } }

@keyframes tada {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  10%,
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  40%,
  60%,
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }

.tada.go {
  -webkit-animation-name: tada;
  animation-name: tada; }

/*********
* wobble *
**********/
@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%); } }

@keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); } }

.wobble.go {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

/********
* pulse *
*********/
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7); }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 10px rgba(0, 0, 0, 0); }
  100% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); } }

@keyframes pulse {
  0% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7); }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 10px rgba(0, 0, 0, 0); }
  100% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); } }

.pulse.go {
  -webkit-animation-name: pulse;
  animation-name: pulse; }

/***************
* lightSpeedInRight *
****************/
@-webkit-keyframes lightSpeedInRight {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

@keyframes lightSpeedInRight {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

.lightSpeedInRight.go {
  -webkit-animation-name: lightSpeedInRight;
  animation-name: lightSpeedInRight;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

/***************
* lightSpeedInLeft *
****************/
@-webkit-keyframes lightSpeedInLeft {
  0% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(20%) skewX(-30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

@keyframes lightSpeedInLeft {
  0% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    transform: translateX(-100%) skewX(30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(20%) skewX(-30deg);
    transform: translateX(20%) skewX(-30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(15deg);
    transform: translateX(0%) skewX(15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

.lightSpeedInLeft.go {
  -webkit-animation-name: lightSpeedInLeft;
  animation-name: lightSpeedInLeft;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

/*******
* Flip *
*******/
@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in; } }

@keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

.flip.go {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flip;
  backface-visibility: visible !important;
  animation-name: flip; }

/**********
* flipInX *
**********/
@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

.flipInX.go {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  backface-visibility: visible !important;
  animation-name: flipInX; }

/**********
* flipInY *
**********/
@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    opacity: 1; } }

@keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1; } }

.flipInY.go {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  backface-visibility: visible !important;
  animation-name: flipInY; }

/*****************
* Out animations *
*****************/
/************
* bounceOut *
*************/
@-webkit-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1); }
  25% {
    -webkit-transform: scale(0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3); } }

@keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  25% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    transform: scale(0.3); } }

.bounceOut.goAway {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

/************
* bounceOutUp *
*************/
@-webkit-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); } }

@keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

.bounceOutUp.goAway {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

/************
* bounceOutDown *
*************/
@-webkit-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px); } }

@keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px); } }

.bounceOutDown.goAway {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

/************
* bounceOutLeft *
*************/
@-webkit-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px); } }

@keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

.bounceOutLeft.goAway {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

/************
* bounceOutRight *
*************/
@-webkit-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px); } }

@keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px); } }

.bounceOutRight.goAway {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

/************
* fadeOut *
*************/
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

.fadeOut.goAway {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

/************
* fadeOutUp *
*************/
@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); } }

@keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

.fadeOutUp.goAway {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

/************
* fadeOutDown *
*************/
@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px); } }

@keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px); } }

.fadeOutDown.goAway {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

/************
* fadeOutLeft *
*************/
@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px); } }

@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

.fadeOutLeft.goAway {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

/************
* fadeOutRight *
*************/
@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px); } }

@keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px); } }

.fadeOutRight.goAway {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

/************
* flipOutX *
*************/
@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

@keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

.flipOutX.goAway {
  -webkit-animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  animation-name: flipOutX;
  backface-visibility: visible !important; }

/************
* flipOutY *
*************/
@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0; } }

@keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0; } }

.flipOutY {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  backface-visibility: visible !important;
  animation-name: flipOutY; }

/************
* lightSpeedOutRight *
*************/
@-webkit-keyframes lightSpeedOutRight {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0; } }

@keyframes lightSpeedOutRight {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0; } }

.lightSpeedOutRight.goAway {
  -webkit-animation-name: lightSpeedOutRight;
  animation-name: lightSpeedOutRight;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/************
* lightSpeedOutLeft *
*************/
@-webkit-keyframes lightSpeedOutLeft {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    opacity: 0; } }

@keyframes lightSpeedOutLeft {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    transform: translateX(-100%) skewX(30deg);
    opacity: 0; } }

.lightSpeedOutLeft.goAway {
  -webkit-animation-name: lightSpeedOutLeft;
  animation-name: lightSpeedOutLeft;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/************
* rotateOut *
*************/
@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(200deg);
    opacity: 0; } }

@keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0; } }

.rotateOut.goAway {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut; }

/************
* rotateOutUpLeft *
*************/
@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -transform-origin: left bottom;
    -transform: rotate(-90deg);
    opacity: 0; } }

.rotateOutUpLeft.goAway {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft; }

/************
* rotateOutDownLeft *
*************/
@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

.rotateOutDownLeft.goAway {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft; }

/************
* rotateOutUpRight *
*************/
@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

.rotateOutUpRight.goAway {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight; }

/************
* rollOut *
*************/
@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg); } }

@keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
    transform: translateX(100%) rotate(120deg); } }

.rollOut.goAway {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

/*****************
* Short Animations
*******************/
/*********************
* fadeInUpShort
*********************/
@-webkit-keyframes fadeInUpShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInUpShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.fadeInUpShort {
  opacity: 0;
  -webkit-transform: translateY(20px);
  -ms-transform: translateY(20px);
  transform: translateY(20px); }

.fadeInUpShort.go {
  -webkit-animation-name: fadeInUpShort;
  animation-name: fadeInUpShort; }

/*********************
* fadeInDownShort
*********************/
@-webkit-keyframes fadeInDownShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInDownShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.fadeInDownShort {
  opacity: 0;
  -webkit-transform: translateY(-20px);
  -ms-transform: translateY(-20px);
  transform: translateY(-20px); }

.fadeInDownShort.go {
  -webkit-animation-name: fadeInDownShort;
  animation-name: fadeInDownShort; }

/*********************
* fadeInRightShort 
*********************/
@-webkit-keyframes fadeInRightShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInRightShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.fadeInRightShort {
  opacity: 0;
  -webkit-transform: translateX(20px);
  -ms-transform: translateX(20px);
  transform: translateX(20px); }

.fadeInRightShort.go {
  -webkit-animation-name: fadeInRightShort;
  animation-name: fadeInRightShort; }

/*********************
* fadeInLeftShort 
*********************/
@-webkit-keyframes fadeInLeftShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInLeftShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.fadeInLeftShort {
  opacity: 0;
  -webkit-transform: translateX(-20px);
  -ms-transform: translateX(-20px);
  transform: translateX(-20px); }

.fadeInLeftShort.go {
  -webkit-animation-name: fadeInLeftShort;
  animation-name: fadeInLeftShort; }

/**********
* Zoom in *
***********/
@-webkit-keyframes zoomIn {
  0% {
    -webkit-transform: scale(5);
    transform: scale(5);
    opacity: 0; }
  80% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    opacity: .8; }
  80% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8); }
  90% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes zoomIn {
  0% {
    -webkit-transform: scale(5);
    transform: scale(5);
    opacity: 0; }
  80% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    opacity: .8; }
  80% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8); }
  90% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.zoomIn {
  -webkit-transform: scale(5);
  -ms-transform: scale(5);
  transform: scale(5);
  opacity: 0; }

.zoomIn.go {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
  -webkit-animation-duration: .5s;
  animation-duration: .5s; }

/********
* ShakeUp2 *
Shake and pause 
********/
@-webkit-keyframes shakeUp2 {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  70%,
  90% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  60%,
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px); } }
@keyframes shakeUp2 {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  70%,
  90% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  60%,
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px); } }

.shakeup2 {
  -webkit-animation-name: shakeUp2;
  animation-name: shakeUp2; }

.shake2 {
  /* Start the shake animation and make the animation last for 0.5 seconds */
  -webkit-animation: shake 1s;
  animation: shake 1s;
  /* When the animation is finished, start again */
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

@keyframes shake {
  0% {
    -webkit-transform: translate(1px, 1px) rotate(0deg);
    transform: translate(1px, 1px) rotate(0deg); }
  10% {
    -webkit-transform: translate(-1px, -2px) rotate(-1deg);
    transform: translate(-1px, -2px) rotate(-1deg); }
  20% {
    -webkit-transform: translate(-3px, 0px) rotate(1deg);
    transform: translate(-3px, 0px) rotate(1deg); }
  30% {
    -webkit-transform: translate(3px, 2px) rotate(0deg);
    transform: translate(3px, 2px) rotate(0deg); }
  40% {
    -webkit-transform: translate(1px, -1px) rotate(1deg);
    transform: translate(1px, -1px) rotate(1deg); }
  50% {
    -webkit-transform: translate(-1px, 2px) rotate(-1deg);
    transform: translate(-1px, 2px) rotate(-1deg); }
  60% {
    -webkit-transform: translate(-3px, 1px) rotate(0deg);
    transform: translate(-3px, 1px) rotate(0deg); }
  70% {
    -webkit-transform: translate(3px, 1px) rotate(-1deg);
    transform: translate(3px, 1px) rotate(-1deg); }
  80% {
    -webkit-transform: translate(-1px, -1px) rotate(1deg);
    transform: translate(-1px, -1px) rotate(1deg); }
  90% {
    -webkit-transform: translate(1px, 2px) rotate(0deg);
    transform: translate(1px, 2px) rotate(0deg); }
  100% {
    -webkit-transform: translate(1px, -2px) rotate(-1deg);
    transform: translate(1px, -2px) rotate(-1deg); } }

@-webkit-keyframes flashlight {
  0% {
    -webkit-transform: translate(0, 0) scale(1);
    transform: translate(0, 0) scale(1); }
  100% {
    -webkit-transform: translate(-20px, -40px) scale(1.1);
    transform: translate(-20px, -40px) scale(1.1); } }

@keyframes flashlight {
  0% {
    -webkit-transform: translate(0, 0) scale(1);
    -ms-transform: translate(0, 0) scale(1);
    transform: translate(0, 0) scale(1); }
  100% {
    -webkit-transform: translate(-20px, -40px) scale(1.1);
    -ms-transform: translate(-20px, -40px) scale(1.1);
    transform: translate(-20px, -40px) scale(1.1); } }

.rotating {
  -webkit-animation: rotating 30s linear infinite;
  animation: rotating 30s linear infinite; }

@-webkit-keyframes rotation {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes rotation {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

/*--- About Text ---*/
/* text truncate multiline */
/*--- About Images ---*/
/*--- About Position ---*/
/*------------------------------------------------------*/
/*--- About Button ---*/
/*------------------------------------------------------*/
/*--- About Text ---*/
/*--- Smooth Scroll ---*/
::-moz-selection {
  color: #004CA2;
  background: #c0c0c0; }
::selection {
  color: #004CA2;
  background: #c0c0c0; }

/*--- Animate a ---*/
a {
  -webkit-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s; }
  a img {
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }

/*--- Customize Scrollbar ---*/
* {
  /* Work on Firefox */
  scrollbar-width: 5px;
  scrollbar-color: #b52b25 #c0c0c0; }

*::-webkit-scrollbar {
  /* Works on Chrome, Edge, and Safari */
  width: 5px; }

*::-webkit-scrollbar-track {
  background: #c0c0c0;
  -webkit-border-radius: 5px;
  border-radius: 5px; }

*::-webkit-scrollbar-thumb {
  background-color: #b52b25;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #b52b25; }

/*--- Common ClassName ---*/
.loop-infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.loop-5 {
  -webkit-animation-iteration-count: 5;
  animation-iteration-count: 5; }

/*--- About Button ---*/
.btn-image {
  position: relative;
  overflow: hidden;
  display: inline-block;
  vertical-align: middle;
  line-height: 0; }
  .btn-image img:last-child {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    visibility: hidden;
    opacity: 0; }
  .btn-image:hover img:last-child {
    visibility: visible;
    opacity: 1; }

.btn-hover-zoom {
  display: inline-block;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .btn-hover-zoom:hover {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1); }

.btn-hover-translateX {
  display: inline-block;
  -webkit-transition: -webkit-transform 0.1s ease-in-out;
  transition: -webkit-transform 0.1s ease-in-out;
  -o-transition: transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out; }
  .btn-hover-translateX:hover {
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translateX(-10px); }

.btn-hover-translateY {
  display: inline-block;
  -webkit-transition: -webkit-transform 0.1s ease-in-out;
  transition: -webkit-transform 0.1s ease-in-out;
  -o-transition: transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out; }
  .btn-hover-translateY:hover {
    -webkit-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    transform: translateY(-5px); }

.btn-hover-underline {
  position: relative;
  display: inline-block;
  text-decoration: none; }
  .btn-hover-underline:before {
    width: 0;
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    height: 1px;
    background: #000;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
  .btn-hover-underline:hover:before {
    width: 100%; }

.btn-hover-border-wrapping {
  padding: 20px;
  font-size: 18px;
  position: relative;
  border: none; }
  .btn-hover-border-wrapping:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    border: #fff000 dashed;
    border-width: 0;
    -webkit-transition: border-width 0.1s ease-out;
    -o-transition: border-width 0.1s ease-out;
    transition: border-width 0.1s ease-out; }
  .btn-hover-border-wrapping:hover:before {
    z-index: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    border-width: 5px; }

.btn-hover-shine {
  display: inline-block;
  position: relative;
  overflow: hidden; }
  .btn-hover-shine:after {
    content: '';
    position: absolute;
    pointer-events: none;
    top: -110%;
    left: -210%;
    width: 200%;
    height: 200%;
    opacity: 0;
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.13)), color-stop(77%, rgba(255, 255, 255, 0.13)), color-stop(92%, rgba(255, 255, 255, 0.5)), to(rgba(255, 255, 255, 0)));
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.13) 77%, rgba(255, 255, 255, 0.5) 92%, rgba(255, 255, 255, 0) 100%);
    background: -o-linear-gradient(left, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.13) 77%, rgba(255, 255, 255, 0.5) 92%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.13) 77%, rgba(255, 255, 255, 0.5) 92%, rgba(255, 255, 255, 0) 100%);
    -webkit-transform: rotate(30deg);
    -ms-transform: rotate(30deg);
    transform: rotate(30deg); }
  .btn-hover-shine:hover:after {
    -webkit-animation: shine .75s;
    animation: shine .75s;
    opacity: 1;
    top: -30%;
    left: -30%;
    -webkit-transition-property: left, top, opacity;
    -o-transition-property: left, top, opacity;
    transition-property: left, top, opacity;
    -webkit-transition-duration: 1s, 1s, .15s;
    -o-transition-duration: 1s, 1s, .15s;
    transition-duration: 1s, 1s, .15s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease; }

/*--- About Text ---*/
.text-truncate {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  padding-bottom: 0 !important; }

.text-stroke {
  font-size: 100px;
  color: #fff;
  text-transform: uppercase;
  background: -webkit-linear-gradient(90deg, #000 20%, #f00 50%);
  /* Chrome10+,Safari5.1+ */
  -webkit-text-stroke: 5px rgba(255, 255, 255, 0.01);
  -webkit-background-clip: text; }

.text-gradient {
  text-transform: uppercase;
  font-weight: normal;
  font-size: 100px;
  background: #000;
  background: -webkit-linear-gradient(legacy-direction(180deg), #000, #f00, #fff000);
  background: -webkit-gradient(linear, left top, left bottom, from(#000), color-stop(#f00), to(#fff000));
  background: -webkit-linear-gradient(top, #000, #f00, #fff000);
  background: -o-linear-gradient(top, #000, #f00, #fff000);
  background: linear-gradient(180deg, #000, #f00, #fff000);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; }

/*--- About Image ---*/
.image-fit {
  width: 250px;
  display: block;
  height: 350px;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }

/*--- About Effect ---*/
.effect-gradient-linear {
  background: #77D7E7;
  background: -webkit-linear-gradient(legacy-direction(to bottom), #77D7E7 50%, #ff0000 50%, #fff000 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #77D7E7), color-stop(50%, #ff0000), to(#fff000));
  background: -webkit-linear-gradient(top, #77D7E7 50%, #ff0000 50%, #fff000 100%);
  background: -o-linear-gradient(top, #77D7E7 50%, #ff0000 50%, #fff000 100%);
  background: linear-gradient(to bottom, #77D7E7 50%, #ff0000 50%, #fff000 100%); }

/*--- About Other ---*/
.hover-stop-animated:hover {
  -webkit-animation-play-state: paused;
  animation-play-state: paused;
  -webkit-animation: step-end;
  -moz-animationanimation: step-end;
  animation: step-end; }

@font-face {
  font-family: "SF";
  src: url(../fonts/SF-Pro-Display-Regular.eot);
  src: url(../fonts/SF-Pro-Display-Regular.eot#iefix) format("eot"), url(../fonts/SF-Pro-Display-Regular.woff2) format("woff2"), url(../fonts/SF-Pro-Display-Regular.woff) format("woff"), url(../fonts/SF-Pro-Display-Regular.ttf) format("truetype"), url(../fonts/SF-Pro-Display-Regular.svg) format("svg"); }

@font-face {
  font-family: "SF-Bold";
  src: url(../fonts/SF-Pro-Display-SemiBold.eot);
  src: url(../fonts/SF-Pro-Display-SemiBold.eot#iefix) format("eot"), url(../fonts/SF-Pro-Display-SemiBold.woff2) format("woff2"), url(../fonts/SF-Pro-Display-SemiBold.woff) format("woff"), url(../fonts/SF-Pro-Display-SemiBold.ttf) format("truetype"), url(../fonts/SF-Pro-Display-SemiBold.svg) format("svg"); }

@font-face {
  font-family: "uvnthanhpho";
  src: url(../fonts/uvnthanhpho_r.eot);
  src: url(../fonts/uvnthanhpho_r.eot#iefix) format("eot"), url(../fonts/uvnthanhpho_r.woff2) format("woff2"), url(../fonts/uvnthanhpho_r.woff) format("woff"), url(../fonts/uvnthanhpho_r.ttf) format("truetype"), url(../fonts/uvnthanhpho_r.svg) format("svg"); }

@font-face {
  font-family: "uvnthanhpho-bold";
  src: url(../fonts/uvnthanhpho_b.eot);
  src: url(../fonts/uvnthanhpho_b.eot#iefix) format("eot"), url(../fonts/uvnthanhpho_b.woff2) format("woff2"), url(../fonts/uvnthanhpho_b.woff) format("woff"), url(../fonts/uvnthanhpho_b.ttf) format("truetype"), url(../fonts/uvnthanhpho_b.svg) format("svg"); }

.header {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 675px;
  font-family: uvnthanhpho-bold;
  margin-bottom: 10px;
  padding: 0 0; }
  .header .nav-wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background: #272338;
    position: fixed;
    height: 70px;
    width: 100%;
    min-height: 50px;
    z-index: 10; }
  .header .container, .header .header-container {
    position: relative;
    width: 100% !important; }
    .header .container [class*='col-'], .header .header-container [class*='col-'] {
      padding: 0; }
  .header-container {
    height: 100%; }
  .header .navbar-nav {
    position: absolute;
    top: 165px;
    left: 0;
    z-index: 2;
    width: 168px;
    height: 465px;
    padding: 60px 0 0 0;
    background: url(../images/menu-frame-bg.png) no-repeat;
    text-align: center; }
    .header .navbar-nav li a {
      display: block;
      height: 52px;
      line-height: 52px;
      -webkit-animation: all .2s ease-in-out;
      animation: all .2s ease-in-out;
      color: #b88b8b;
      text-transform: capitalize;
      text-align: center;
      font-weight: bold;
      font-size: 21px; }
      .header .navbar-nav li a:hover, .header .navbar-nav li a.active {
        background: url(../images/menu-hover-bg.png) no-repeat 0 0/100%;
        color: #e1d4d4; }
.header .logo {
    display: block;
    position: fixed;
    top: 22px;
    right: -120px;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 3;
    width: 205px;
  }
  .header .text {
    text-align: center;
    position: absolute;
    top: 68px;
    left: 200px;
    z-index: 3; }
  .header .play-video {
    display: block;
    text-align: center;
    z-index: 5;
    position: absolute;
    top: 127px;
    left: 450px;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-transition: all 0.1s linear;
    -o-transition: all 0.1s linear;
    transition: all 0.1s linear; }
    .header .play-video:hover {
      opacity: 0.9; }
    @media only screen and (max-width: 768px) {
      .header .play-video {
        bottom: 10%; } }
  .header .avatar {
    margin: 0 10px 0 0; }
    @media only screen and (max-width: 768px) {
      .header .avatar {
        display: none; } }
  .header .qrcode {
    margin: 0 0 0 10px; }
    @media only screen and (max-width: 768px) {
      .header .qrcode {
        display: none; } }
  .header .taigame {
    position: absolute;
    top: 5px;
    right: 50px;
    z-index: 2;
    display: none; }
    @media only screen and (max-width: 768px) {
      .header .taigame {
        display: block; } }
  .header-slider {
    position: absolute;
    width: 100%;
    height: 605px; }
    .header-slider .swiper-slide {
      height: 100%;
      position: relative; }

.buttons-block {
  width: 100%;
  margin-top: -55px;
  margin-bottom: 10px;
  overflow: hidden;
  position: relative;
  z-index: 2; }
  .buttons-block .block-1 {
    width: 318px;
    float: left; }
    .buttons-block .block-1 .image-btn {
      display: block; }
    .buttons-block .block-1 .support-btn {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
    .buttons-block .block-1 .choingay img:last-child {
      opacity: 1;
      visibility: visible; }
  .buttons-block .block-2 {
    width: 654px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .buttons-block .block-2 .image-btn {
      display: block;
      float: left; }
  .buttons-block .login-form {
    float: left;
    width: 327px;
    height: 167px;
    padding: 20px 20px 0 20px;
    background: url(../images/login-bg.jpg) no-repeat; }
  .buttons-block .naptien {
    width: 327px;
    float: left; }
  .buttons-block .BgInput {
    background: #0e141c;
    border: 1px solid #312e2f;
    width: 178px;
    margin-bottom: 20px;
    padding: 6px 5px;
    color: #6f6f6f;
    font-size: 14px; }
  .buttons-block .forminput {
    position: relative; }
  .buttons-block .error {
    color: #ba4442;
    position: absolute;
    font-size: 12px;
    margin-left: 10px;
    padding-left: 6px;
    bottom: 2px;
    left: 0; }
    .buttons-block .error:before {
      position: absolute;
      left: 0;
      top: 8px;
      width: 3px;
      height: 3px;
      background: #ba4442;
      content: ""; }
  .buttons-block .BoxInput {
    float: left;
    margin: 0 5px 0 0px;
    width: 182px; }
  .buttons-block .BoxLogin {
    float: left;
    margin-right: 10px; }
  .buttons-block .DangNhap {
    width: 94px;
    height: 94px;
    background: url(../images/dangnhap.jpg);
    border: none;
    cursor: pointer;
    text-indent: -9999px;
    float: left;
    background-color: transparent;
    outline: none; }
    .buttons-block .DangNhap:hover {
      background: url(../images/dangnhap-hover.jpg); }
  .buttons-block .ingame {
    margin-bottom: 14px; }
  .buttons-block .TextNote {
    font-size: 14px;
    color: #aec3df;
    text-align: left;
    clear: both;
    margin-left: 5px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    .buttons-block .TextNote a {
      display: inline-block;
      color: #9ea5ae;
      background: url(../images/icon-arrow.png) no-repeat 0 4px;
      padding: 0 0 0 10px; }
      .buttons-block .TextNote a:hover {
        color: #aec3df; }
  .buttons-block .BgQuit {
    margin-bottom: 10px;
    text-align: center; }
  .buttons-block .TextIngame {
    color: #7a7f9c;
    margin-bottom: 10px;
    text-align: center;
    margin-top: 12px;
    line-height: 18px; }
    .buttons-block .TextIngame a {
      text-decoration: underline;
      color: #7a7f9c; }
      .buttons-block .TextIngame a:hover {
        text-decoration: none; }
  .buttons-block .Textuser {
    font-size: 20px;
    color: #ffb036;
    font-weight: bold;
    margin: 0 10px; }
  .buttons-block .icons-bt-batdau {
    margin: 7px auto;
    border: none;
    text-indent: -9999px;
    background-color: transparent;
    display: block;
    width: 182px;
    height: 51px;
    background: url(../images/bt-batdau.png) no-repeat;
    -webkit-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out; }
    .buttons-block .icons-bt-batdau:hover {
      -webkit-transform: translateY(-5px);
      -ms-transform: translateY(-5px);
      transform: translateY(-5px); }
  .buttons-block .bgselect {
    background: #05060a;
    border: 1px solid #25223d;
    padding: 5px;
    width: 182px;
    height: 34px;
    margin: 0 auto 10px; }
    .buttons-block .bgselect span {
      color: #68778b; }
  .buttons-block .nice-select .list {
    -webkit-border-radius: 0px;
    border-radius: 0px;
    height: 170px;
    overflow-y: auto; }

.server {
  width: 100%;
  height: 160px;
  clear: both;
  padding: 70px 0 0 23px;
  background: url(../images/serverlist-bg.jpg) no-repeat 0 0/cover; }
  .server-list {
    float: left;
    width: 445px; }
    .server-list li {
      float: left; }
      .server-list li a {
        display: block;
        width: 65px;
        height: 30px;
        line-height: 30px;
        background: #182130;
        border: solid 1px #4a5371;
        color: #7a7da4;
        text-transform: uppercase;
        text-align: center;
        font-weight: normal;
        font-size: 14px;
        margin: 0 8px 7px 0; }
        .server-list li a:hover {
          color: #a7bfe0;
          border-color: #a7bfe0; }
  .server .new {
    display: block;
    width: 90px;
    height: 67px;
    float: left;
    background: #182130;
    border: solid 1px #4a5371;
    color: #7a7da4;
    text-transform: uppercase;
    text-align: center;
    font-weight: normal;
    font-size: 38px;
    font-family: 'uvnthanhpho-bold';
    line-height: 1;
    padding: 5px 0 0 0;
    margin-right: 10px; }
    .server .new span {
      display: block;
      font-size: 16px; }
    .server .new:hover {
      color: #a7bfe0;
      border-color: #a7bfe0; }

:root {
  /* Not my favorite that line-height has to be united, but needed */
  --lh: 1.4rem; }

html {
  font-size: 16px;
  line-height: var(--lh); }

body {
  background-color: #f8f2f0 !important;
  color: #010101 !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  font-family: SF !important;
  font-size: 1rem; }

a {
  transition: color 0.2s ease-out;
  -moz-transition: color 0.2s ease-out;
  -o-transition: color 0.2s ease-out;
  -webkit-transition: color 0.2s ease-out;
  -ms-transition: color 0.2s ease-out;
  background-color: transparent;
  cursor: pointer;
  color: #04459b;
  text-decoration: none; }
  a:hover, a:focus {
    text-decoration: none !important;
    outline: none;
    color: #055bcd; }

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

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

.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.loop-5 {
  -webkit-animation-iteration-count: 5;
  animation-iteration-count: 5; }

/*---- Content CSS Varibles ----*/
/*--- Image -----*/
/*--- Notice Box ---*/
/*---- End Content CSS Varibles ----*/
/* General */
.StaticMain {
  margin: calc(1.28125rem + 0.375vw) 0;
  clear: both;
  text-align: justify;
  min-height: 930px;
  color: #37404b;
  /* Text styles */
  /* END. Text styles */
  /* Image styles */
  /* Notice box */
  /* List styles */ }
  @media (min-width: 1200px) {
    .StaticMain {
      margin: 1.5625rem 0; } }
  .StaticMain h3 {
    font-family: SF-Bold;
    color: #4b618c;
    font-size: 3em;
    font-weight: bold;
    text-align: center;
    margin: 0px 0 30px 0; }
  .StaticMain a {
    color: #153a6b;
    text-decoration: underline; }
    .StaticMain a:hover {
      color: #912929;
      text-decoration: none; }
  .StaticMain p {
    margin: 0 0 10px; }
  .StaticMain ul {
    list-style: disc;
    padding: 0 0 0 0; }
    .StaticMain ul li {
      list-style: disc;
      padding: 0 0 0 0px;
      margin: 0 0 5px 20px; }
      .StaticMain ul li ul {
        list-style: circle;
        padding: 0 0 10px 0; }
  .StaticMain ol {
    margin: 0 0 20px;
    padding: 0 0 0 20px; }
    .StaticMain ol li {
      margin: 0 0 10px;
      list-style: decimal !important; }
  .StaticMain .AnchorLink {
    margin: 0px 30px 20px;
    overflow: hidden;
    list-style: none outside none; }
    .StaticMain .AnchorLink li {
      float: left;
      width: 49%;
      padding: 0 0 5px 1px;
      margin: 0 1% 0 0;
      list-style: none; }
      @media only screen and (max-width: 768px) {
        .StaticMain .AnchorLink li {
          width: 31%;
          margin-right: 2%; } }
      @media only screen and (max-width: 480px) {
        .StaticMain .AnchorLink li {
          width: 48%;
          margin-right: 2%; } }
      @media only screen and (max-width: 320px) {
        .StaticMain .AnchorLink li {
          width: 98%;
          margin-right: 2%; } }
      .StaticMain .AnchorLink li a {
        text-decoration: none;
        padding-left: 15px;
        font-weight: bold;
        position: relative;
        color: #153a6b; }
        .StaticMain .AnchorLink li a:before {
          content: '';
          width: 8px;
          height: 8px;
          border: solid 1px #153a6b;
          position: absolute;
          top: 6px;
          left: 0;
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg); }
      .StaticMain .AnchorLink li a.Active,
      .StaticMain .AnchorLink li a.Active:hover,
      .StaticMain .AnchorLink li a:hover {
        color: #912929; }
        .StaticMain .AnchorLink li a.Active:before,
        .StaticMain .AnchorLink li a.Active:hover:before,
        .StaticMain .AnchorLink li a:hover:before {
          content: '';
          position: absolute;
          top: 6px;
          left: 0;
          background: #912929;
          border: solid 1px #912929;
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg);
          color: #055bcd; }
  .StaticMain .FirstChar {
    padding: 4px 4px 0 0;
    line-height: 30px;
    font-size: 42px;
    font-weight: bold;
    float: left;
    color: #37404b; }
  .StaticMain .ContentBlock {
    padding-bottom: 20px;
    clear: both; }
  .StaticMain .ImagesBlock {
    text-align: center;
    margin-bottom: 20px; }
  .StaticMain .ImgCenter {
    text-align: center !important;
    margin-bottom: 20px !important;
    font-size: 90%;
    font-style: italic; }
  .StaticMain h4 {
    color: #912929;
    padding: 10px 0 10px 50px;
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 5px 0px;
    background: url("../images/icon-h4.png") no-repeat; }
  .StaticMain .ContentH4 {
    clear: both;
    margin: 0 0 10px 50px;
    padding: 0 0 0 0px; }
    .StaticMain .ContentH4 p {
      margin-bottom: 10px;
      /*text-align: justify;*/ }
  .StaticMain .ImagesH4 {
    text-align: center;
    margin: 0 0 20px 50px; }
  .StaticMain h5 {
    color: #912929;
    padding: 10px 0 10px 40px;
    margin: 0 0 10px 50px;
    font-size: 18px;
    font-weight: bold;
    background: url("../images/icon-h5.png") no-repeat 0 0px; }
  .StaticMain .ContentH5 {
    clear: both;
    margin: 0 0 0 90px;
    padding: 0 0 20px; }
    .StaticMain .ContentH5 p {
      margin-bottom: 10px;
      text-align: justify; }
  .StaticMain .ImagesH5 {
    text-align: center;
    margin: 0 0 20px 40px; }
  .StaticMain table {
    border-top: solid 1px #1f002b;
    margin: 0 auto 20px;
    border-collapse: collapse; }
    .StaticMain table thead tr th {
      color: #eef9f9;
      background: #31425d;
      font-weight: bolder;
      padding: 10px 10px;
      border-right: 1px solid #1f002b;
      border-left: 1px solid #1f002b;
      border-bottom: 1px solid #1f002b;
      text-align: center; }
    .StaticMain table tbody tr:nth-child(odd) {
      background-color: #c2cfe4; }
    .StaticMain table tbody tr:nth-child(even) {
      background-color: #e3e7ef; }
    .StaticMain table tbody tr td {
      padding: 10px 10px;
      border: 1px solid #1f002b;
      border-top: none;
      color: #1a222a; }
      .StaticMain table tbody tr td a {
        color: #1a222a; }
        .StaticMain table tbody tr td a:hover {
          color: #055bcd; }
  .StaticMain table.Notice {
    border: 1px solid #1f002b; }
    .StaticMain table.Notice tr td {
      padding: 10px 20px;
      border: 1px solid #1f002b; }
      .StaticMain table.Notice tr td p {
        margin-bottom: 10px; }
      .StaticMain table.Notice tr td ul,
      .StaticMain table.Notice tr td ol {
        padding-bottom: 0px;
        margin-bottom: 0px; }
  .StaticMain .TextCenter {
    text-align: center; }
  .StaticMain .TextRight {
    text-align: right; }
  .StaticMain .Strong01 {
    font-weight: bolder;
    color: #912929; }
  .StaticMain .Strong02 {
    font-weight: bolder;
    color: #153a6b; }
  .StaticMain .Strong03 {
    font-weight: bolder;
    color: #006cc8; }
  .StaticMain .TextFont17 {
    font-size: 17px; }
  .StaticMain .TextFont19 {
    font-size: 19px; }
  .StaticMain .TextFont21 {
    font-size: 21px; }
  .StaticMain .NoBorderImg {
    border: none;
    background: none;
    padding: 0; }
  .StaticMain .BorderImg {
    background: #000;
    border: 1px solid #000;
    padding: 0px; }
  .StaticMain .ImgLeft {
    float: left;
    margin: 1px 10px 5px 0;
    border: 1px solid #000; }
  .StaticMain .ImgRight {
    float: right;
    margin: 0 0 5px 10px;
    border: 1px solid #000; }
  .StaticMain blockquote {
    border-left: 2px solid #1f002b;
    font-size: 14px;
    margin: 0 20px;
    padding: 10px 40px;
    margin: 0;
    position: relative;
    font-style: italic; }
    .StaticMain blockquote:before, .StaticMain blockquote:after {
      position: absolute;
      display: block;
      width: 20px;
      height: 20px;
      content: ''; }
    .StaticMain blockquote:before {
      top: 0;
      left: 10px;
      background-position: 0 0; }
    .StaticMain blockquote:after {
      right: 0;
      bottom: 0;
      background-position: -20px 0; }
  .StaticMain .NoticeBox {
    border: solid 1px #8d8d8d;
    padding: 10px;
    background: #e3e7ef; }
    .StaticMain .NoticeBox p.Legend {
      font-size: 13px;
      font-weight: bolder;
      padding: 0 15px;
      color: #fff;
      background: #912929;
      height: 20px;
      margin: -20px 0 10px;
      float: left;
      border: solid 1px #912929; }
    .StaticMain .NoticeBox .NoteContent {
      width: 100%;
      overflow: hidden;
      text-align: justify;
      color: #1e2c19; }
      .StaticMain .NoticeBox .NoteContent a {
        color: #1c76fd; }
        .StaticMain .NoticeBox .NoteContent a:hover {
          color: #fd4b36; }
  .StaticMain ul.Decimal {
    margin: 0px 0px 10px 0px; }
    .StaticMain ul.Decimal li {
      list-style-type: decimal;
      margin-bottom: 10px;
      text-align: justify; }
      .StaticMain ul.Decimal li ul {
        padding-top: 5px; }
  .StaticMain ul.UpperAlpha {
    margin: 0px 0px 10px 0px; }
    .StaticMain ul.UpperAlpha li {
      list-style-type: upper-alpha;
      margin-bottom: 10px;
      text-align: justify; }
      .StaticMain ul.UpperAlpha li ul {
        padding-top: 5px; }
  .StaticMain ul.LowerAlpha {
    margin: 0px 0px 10px 0px; }
    .StaticMain ul.LowerAlpha li {
      list-style-type: lower-alpha;
      margin-bottom: 10px;
      text-align: justify; }
      .StaticMain ul.LowerAlpha li ul {
        padding-top: 5px; }
  .StaticMain ul.Icon {
    margin: 0px 0px 10px 5px; }
    .StaticMain ul.Icon li {
      margin-bottom: 10px;
      padding-left: 15px;
      list-style-type: none;
      text-align: justify;
      position: relative; }
      .StaticMain ul.Icon li:before {
        font-size: 8px;
        content: "\e074";
        font-family: 'GlyphiconsHalflings';
        position: absolute;
        top: 4px;
        left: 0;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg); }
      .StaticMain ul.Icon li ul {
        padding-top: 5px; }
      .StaticMain ul.Icon li ul.LowerAlpha li {
        list-style-type: lower-alpha;
        margin-bottom: 10px;
        background: none;
        padding-left: 0px; }
  .StaticMain ul.Dash {
    margin: 0px 0px 10px 5px; }
    .StaticMain ul.Dash li {
      margin-bottom: 10px;
      padding-left: 15px;
      list-style-type: none;
      text-align: justify;
      position: relative; }
      .StaticMain ul.Dash li:before {
        font-size: 8px;
        content: "\2212";
        font-family: 'GlyphiconsHalflings';
        position: absolute;
        top: 5px;
        left: 0; }
      .StaticMain ul.Dash li ul {
        padding-top: 5px; }
  .StaticMain ul.Disc {
    margin: 0px 0px 10px 5px; }
    .StaticMain ul.Disc li {
      list-style-type: none;
      margin: 0 0 10px 0;
      padding: 0 0 0 15px;
      text-align: justify;
      position: relative; }
      .StaticMain ul.Disc li:before {
        font-size: 8px;
        content: "\e165";
        font-family: 'GlyphiconsHalflings';
        position: absolute;
        top: 5px;
        left: 0; }
      .StaticMain ul.Disc li ul {
        padding-top: 5px; }

body {
  background: #f7fcfe;
  overflow-x: hidden; }
  body .wrapper {
    background: url(../images/bg.jpg) no-repeat top center;
    overflow-x: hidden; }
    body .wrapper.sub {
      background: url(../images/bg-top.jpg) no-repeat top center, url(../images/bg-bottom.jpg) no-repeat bottom center #f7fcfe;
      -webkit-background-size: auto auto;
      background-size: auto;
      background-color: #090a1c; }

.banner-slider {
  text-align: center; }
  .banner-slider img {
    border: solid 1px #214974; }
  .banner-slider .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background-color: #0c1410 !important;
    opacity: 1 !important; }
  .banner-slider .swiper-pagination-bullet-active {
    background-color: #a81919 !important; }

.block-news {
  margin: 0 0 80px; }

/*- Variable -*/
.news {
  margin: 0 0 5px;
  height: 326px; 
  padding: 10px;
}
  .news-tab {
    overflow: hidden;
    border-bottom: solid 1px #152a46;
    margin: 0 0; }
    .news-tab li {
      float: left; }
      .news-tab li a {
        display: block;
        font-family: 'uvnthanhpho';
        color: #7a7da4;
        text-transform: capitalize;
        text-align: left;
        font-weight: bold;
        font-size: 18px;
        background: transparent;
        padding: 0 11px;
        line-height: 36px;
        font-size: 15px;
        border: none; }
        .news-tab li a.active, .news-tab li a:hover {
          color: #f2f7ff;
          background: url(../images/news-tab-bg.jpg) no-repeat 0 0/cover;
          border: none; }
      .news-tab li:not(:last-child) a {
        border-right: none; }
  .news .tab-content {
    padding: 10px 0; }

.server-block {
  position: relative;
  display: block;
  overflow: hidden;
  width: 790px;
  min-height: 1000px;
  margin: 10px auto; }
  .server-block .server-hot {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 45px auto; }
    .server-block .server-hot a {
      display: block;
      width: 245px;
      height: 83px;
      line-height: 83px;
      margin: 0 5px;
      color: #d6e1ed;
      text-transform: capitalize;
      text-align: center;
      font-weight: bold;
      font-size: 40px;
      font-family: 'uvnthanhpho-bold';
      background: url(../images/server-bg.png) no-repeat;
      -webkit-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out; }
      .server-block .server-hot a:hover {
        background: url(../images/server-bg-hover.png) no-repeat; }
      .server-block .server-hot a .new {
        display: inline-block;
        font-size: 22px;
        -webkit-transform: translateY(-10px);
        -ms-transform: translateY(-10px);
        transform: translateY(-10px); }
  .server-block .server-tabs {
    position: relative;
    width: 550px;
    height: 45px;
    background: #182130;
    padding: 0 50px;
    margin: 0 auto 50px; }
    .server-block .server-tabs .swiper-slide-thumb-active a {
      color: #a7bfe0; }
    .server-block .server-tabs a {
      display: block;
      line-height: 45px;
      color: #7a7da4;
      text-transform: normal;
      text-align: center;
      font-weight: bold;
      font-size: 22px;
      text-align: center; }
      .server-block .server-tabs a:hover {
        color: #a7bfe0; }
  .server-block .server-next {
    position: absolute;
    top: 8px;
    right: 10px;
    cursor: pointer; }
    .server-block .server-next:focus {
      outline: none; }
  .server-block .server-prev {
    position: absolute;
    top: 8px;
    left: 10px;
    cursor: pointer; }
    .server-block .server-prev:focus {
      outline: none; }
  .server-block-list {
    overflow: hidden;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center; }
    .server-block-list li {
      float: left;
      margin: 0 10px 10px; }
      .server-block-list li a {
        display: block;
        width: 138px;
        height: 51px;
        line-height: 51px;
        background: #585858;
        border: solid 1px #2e2e2e;
        background: #595959;
        background: -webkit-linear-gradient(legacy-direction(to bottom), #595959, #444444);
        background: -webkit-gradient(linear, left top, left bottom, from(#595959), to(#444444));
        background: -webkit-linear-gradient(top, #595959, #444444);
        background: -o-linear-gradient(top, #595959, #444444);
        background: linear-gradient(to bottom, #595959, #444444);
        color: #dfdfdf;
        text-transform: uppercase;
        text-align: center;
        font-weight: normal;
        font-size: 34px;
        font-family: 'uvnthanhpho-bold';
        -webkit-transition: all 0.2s ease-in-out;
        -o-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out; }
        .server-block-list li a:hover {
          color: #d6e1ed;
          background: #436086;
          background: -webkit-linear-gradient(legacy-direction(to bottom), #436086, #304767);
          background: -webkit-gradient(linear, left top, left bottom, from(#436086), to(#304767));
          background: -webkit-linear-gradient(top, #436086, #304767);
          background: -o-linear-gradient(top, #436086, #304767);
          background: linear-gradient(to bottom, #436086, #304767); }

/*- news list -*/
ul.news-list {
  margin: 0; }
  ul.news-list li {
    width: 100%;
    overflow: hidden;
    padding: 0 0 5px 0;
    margin: 0 0 5px 0;
    position: relative; }
    ul.news-list li:not(:last-child) {
      border-bottom: 1px solid #c4d1d9; }
    ul.news-list li.highlight .news-title {
      float: left;
      width: calc(100% - 105px);
      display: block;
      color: #7f8dac;
      font-family: "SF-Bold"; }
      ul.news-list li.highlight .news-title:hover {
        color: #ffc947; }
        ul.news-list li.highlight .news-title:hover .news-time {
          color: #ffc947; }
      ul.news-list li.highlight .news-title .news-time {
        color: #7f8dac; }
    ul.news-list li .news__thumb {
      float: left;
      margin: 2px 10px 0 1px;
      height: auto; }
      ul.news-list li .news__thumb img {
        border: 2px solid #3c365a; }
    ul.news-list li .news-des {
      width: calc(100% - 105px);
      color: #9da3c0;
      float: left;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
      overflow: hidden;
      padding-bottom: 0 !important; }
    ul.news-list li .news-title {
      color: #7f8dac;
      width: 100%; }
      ul.news-list li .news-title:hover,
      ul.news-list li .news-title:hover .news-time {
        color: #ffc947; }
      ul.news-list li .news-title span {
        width: calc(100% - 80px);
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis;
        overflow: hidden;
        display: block;
        white-space: nowrap; }
    ul.news-list li .news-time {
      color: #7f8dac;
      font-size: 14px;
      position: absolute;
      right: 0;
      top: 3px;
      text-align: right; }

.news-more {
  display: inline-block;
  color: #e3edf1;
  float: right;
  margin: 0px 0 0px 0;
  background: #732121;
  padding: 0 30px 0 10px;
  position: relative;
  line-height: 30px; }
  .news-more:after {
    position: absolute;
    top: 0px;
    right: 5px;
    content: '+';
    font-size: 35px;
    line-height: .8; }
  .news-more:hover {
    color: #e3edf1;
    background: #214473; }

.heading {
  width: 822px;
  height: 69px;
  line-height: 69px;
  background: url(../images/heading-bg.png) no-repeat center center;
  color: #ffd97e;
  text-transform: uppercase;
  text-align: center;
  font-weight: normal;
  font-size: 35px;
  font-family: 'uvnthanhpho-bold';
  margin: 20px auto; }

.event-slider {
  margin: 70px auto 200px !important;
  overflow: hidden !important;
  max-width: 100%;
  position: relative; }
  .event-slider .swiper-slide {
    width: 472px;
    -webkit-filter: blur(2px);
    filter: blur(2px);
    position: relative;
    line-height: 0.7;
    -webkit-filter: grayscale(1);
    filter: grayscale(1); }
    .event-slider .swiper-slide img {
      border: solid 1px #360f11; }
    .event-slider .swiper-slide.off {
      -webkit-filter: blur(2px) grayscale(1);
      filter: blur(2px) grayscale(1); }
  .event-slider .swiper-slide-active {
    -webkit-filter: blur(0px);
    filter: blur(0px);
    -webkit-filter: grayscale(0);
    filter: grayscale(0); }
  .event-slider .prev-btn {
    position: absolute;
    left: 100px;
    top: 40%;
    z-index: 5;
    margin: 0; }
    @media only screen and (max-width: 768px) {
      .event-slider .prev-btn {
        left: 0px; } }
  .event-slider .next-btn {
    position: absolute;
    right: 100px;
    top: 40%;
    z-index: 5;
    margin: 0; }
    @media only screen and (max-width: 768px) {
      .event-slider .next-btn {
        right: 0px; } }

/*--- item In Game ---*/
.buttons-footer {
  padding: 10px;
  background: #201c31;
  display: none;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
  justify-content: space-around; }
  @media only screen and (max-width: 768px) {
    .buttons-footer {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }

.floating {
    width: 150px;
    height: 244px;
    position: fixed;
    top: 284px;
    right: 12px;
    background: url(../images/floating-bg.png) no-repeat;
    z-index: 10;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    padding: 22px 0 0 22px;
}
  .floating a {
    display: block; }

/*--- Sub page ---*/
.main-content {
  padding: 0 20px 20px;
  margin-bottom: 50px;
  background: url(../images/maincontent-top.jpg) no-repeat 0 0 #e4e4e4; }
  .main-content .news-list li {
    padding: 0 0 10px 0;
    margin: 0 0 10px 0;
    border-bottom: dotted 1px #899ba7 !important; }
  .main-content .news-list .highlight .news-des {
    color: #37404b; }
    .main-content .news-list .highlight .news-des:hover {
      color: #5c8bd1; }
    .main-content .news-list .highlight .news-des:before, .main-content .news-list .highlight .news-des:after {
      background: #bcd7e3; }
  .main-content .news-list .highlight .news-title {
    color: #152a46;
    margin-bottom: 5px; }
    .main-content .news-list .highlight .news-title .news-time {
      color: #152a46; }
    .main-content .news-list .highlight .news-title:hover {
      color: #5c8bd1; }
      .main-content .news-list .highlight .news-title:hover .news-time {
        color: #5c8bd1; }

.static {
  overflow: hidden;
  padding: 0;
  position: relative;
  margin: 0px 0px 50px;
  padding: 7px 0 0 0; }
  .static .icon-static {
    float: left;
    margin-right: 5px; }
  .static .icon-home {
    display: inline-block;
    width: 15px;
    height: 11px;
    margin: 0 5px 0 0;
    background: url(../images/icon-home.png) no-repeat; }
  .static h2 {
    font-size: 16px;
    font-weight: bold;
    color: #e3edf1;
    margin: 10px 0 2px 5px;
    text-transform: uppercase; }

.breadcrumb--main {
  font-size: 14px;
  color: #e3edf1; }
  .breadcrumb--main a {
    color: #e3edf1;
    text-decoration: none; }
    .breadcrumb--main a:hover {
      color: #6295e0; }

.relative {
  padding-top: 9px;
  text-align: center; }
  .relative-title a {
    display: block;
    position: relative;
    margin: 0 0 10px;
    padding: 10px;
    color: #9da3c0;
    text-transform: uppercase;
    text-align: left;
    font-weight: bold;
    font-size: 18px;
    background: #1f1f32;
    background: -webkit-linear-gradient(legacy-direction(90deg), #1f1f32, #252639);
    background: -webkit-gradient(linear, left top, right top, from(#1f1f32), to(#252639));
    background: -webkit-linear-gradient(left, #1f1f32, #252639);
    background: -o-linear-gradient(left, #1f1f32, #252639);
    background: linear-gradient(90deg, #1f1f32, #252639); }
    .relative-title a:before {
      font-size: 35px;
      content: "\002b";
      font-family: 'GlyphiconsHalflings';
      position: absolute;
      top: -3px;
      right: 15px; }
    .relative-title a:hover {
      color: #bcd7e3; }
  .relative ul.relative-list {
    list-style: none;
    text-align: left;
    padding: 5px 0px 0;
    margin: 0 0 0 20px; }
    .relative ul.relative-list li {
      list-style: none;
      border-bottom: 1px dashed #6184a8;
      padding: 12px 0 10px 5px;
      margin-left: 20px;
      position: relative;
      list-style: disc; }
      .relative ul.relative-list li:last-child {
        border-bottom: none; }
      .relative ul.relative-list li a {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        color: #37404b; }
        .relative ul.relative-list li a:hover {
          color: #264e7f;
          text-decoration: none; }
        .relative ul.relative-list li a span {
          display: block;
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 1;
          overflow: hidden;
          padding-bottom: 0 !important; }
      .relative ul.relative-list li .date {
        display: block;
        color: #615789;
        text-transform: inherit;
        text-align: inherit;
        font-weight: normal;
        font-size: 14px;
        text-align: center;
        padding-left: 40px;
        line-height: 21px; }

.boxsearch {
  position: absolute;
  top: 50%;
  right: 0px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 2;
  background: #131c28;
  border: 1px solid #242538;
  -webkit-border-radius: 20px;
  border-radius: 20px;
  width: 180px; }
  .boxsearch .bgsearch {
    background: transparent;
    border: none;
    width: 90px;
    font-size: 14px;
    padding: 3px 9px;
    color: #9da3c0; }
  .boxsearch .btsearch {
    background: url(../images/icon-search.png) no-repeat 0 0;
    width: 13px;
    height: 13px;
    display: block;
    position: absolute;
    top: 7px;
    right: 11px;
    border: none;
    text-indent: -9999px; }

/* Paging */
.paging {
  text-align: center;
  padding-bottom: 25px; }

ul.page__list {
  padding: 20px 0 0 !important;
  text-align: center; }
  ul.page__list li {
    display: inline-block !important;
    padding: 0 2px !important;
    margin: 0 !important; }
    ul.page__list li a {
      color: #152a46 !important;
      text-decoration: none !important;
      font-size: 15px;
      border: 1px solid #152a46;
      display: block;
      padding: 0 10px;
      line-height: 24px; }
      ul.page__list li a:hover {
        color: #fff !important;
        background-color: #152a46;
        border: 1px solid #152a46; }
      ul.page__list li a.disable,
      ul.page__list li a:hover .disable {
        opacity: 0.6;
        cursor: default;
        background: none;
        border: 1px solid #636363;
        color: #636363 !important; }
    ul.page__list li.active a {
      color: #fff !important;
      background-color: #152a46;
      border: 1px solid #152a46; }
    ul.page__list li.prev a,
    ul.page__list li.next a {
      display: inline-block;
      padding: 0 10px;
      vertical-align: middle;
      width: 26px;
      height: 26px;
      margin: -2px 0 0 0; }

/*--- Popup ---*/
.popup {
  display: none;
  position: fixed;
  top: 35%;
  left: 35%;
  z-index: 1000;
  width: 424px;
  height: 264px;
  max-width: 424px;
  background: url(../images/popup-bg.png) no-repeat;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  padding: 30px 40px;
  color: #636363;
  font-weight: bold;
  text-align: center; }
  .popup.active {
    display: block;
    animation: growIn 0.5s ease-in-out;
    -webkit-animation: growIn 0.5s ease-in-out; }
  @media only screen and (max-width: 640px) {
    .popup {
      max-width: 90%;
      height: 40vh; } }
  .popup .close {
    padding: 30px 30px 0;
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    font-size: 30px; }
  .popup .popup-title {
    color: #16294b;
    text-transform: uppercase;
    text-align: center;
    font-weight: normal;
    font-family: 'uvnthanhpho-bold';
    margin: 0 0 10px;
    font-size: calc(1.40625rem + 1.875vw); }
    @media (min-width: 1200px) {
      .popup .popup-title {
        font-size: 2.8125rem; } }

.popup-giftcode .value {
  padding: 5px;
  background: #152a46;
  width: 60%;
  color: #fff;
  text-transform: uppercase;
  font-size: 18px;
  text-align: center;
  margin: 0 auto;
  -webkit-border-radius: 5px;
  border-radius: 5px; }

.bgover {
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 100;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0; }

.wrapper-404 {
  height: 100vh;
  background: url(../images/wrapper-404.jpg) no-repeat center top/cover;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column;
  -ms-flex-flow: column;
  flex-flow: column; }
  .wrapper-404 .logo {
    margin-bottom: 30%; }
    @media only screen and (max-width: 768px) {
      .wrapper-404 .logo {
        max-width: 70%; } }

.footer {
  color: #bfb6a1;
  text-align: center;
  padding: 0 0 0 0;
  position: relative;
  background: #000000;
  font-family: 'SF'; }
  .footer-item {
    padding-top: 20px;
    margin-bottom: 0px; }
    @media only screen and (max-width: 480px) {
      .footer-item {
        margin-top: 0px; } }
    .footer-item li {
      color: #bfb6a1;
      display: inline-block; }
      .footer-item li a {
        font-size: 14px;
        color: inherit;
        font-weight: bold;
        padding: 0 8px; }
        .footer-item li a:hover, .footer-item li a:focus {
          color: #ff3b00; }
  .footer .copyright {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    color: #bfb6a1;
    font-size: 12px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 20px 10px; }
  .footer .img18 {
    height: 100%;
    margin-left: 10px;
    margin-top: -10px; }
  .footer .cmn {
    height: 100%;
    margin-right: 10px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNldHRpbmcvX3ZhcmlhYmxlLnNjc3MiLCJzZXR0aW5nL19yZXNldC5zY3NzIiwic3R5bGUuY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Jvb3RzdHJhcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yb290LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3JlYm9vdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHlwZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW1hZ2VzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jb2RlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2dyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mdW5jdGlvbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZm9ybXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190cmFuc2l0aW9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2FyZXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jdXN0b20tZm9ybXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdmJhci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19iYWRnZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFkZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fanVtYm90cm9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2FsZXJ0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19hbGVydC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcm9ncmVzcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tZWRpYS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19saXN0LWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nsb3NlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RvYXN0cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tb2RhbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b29sdGlwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BvcG92ZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3NwaW5uZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19hbGlnbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19iYWNrZ3JvdW5kLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19ib3JkZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19kaXNwbGF5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19lbWJlZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxleC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxvYXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX292ZXJmbG93LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2NyZWVucmVhZGVycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2hhZG93cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zdHJldGNoZWQtbGluay5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3BhY2luZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdGV4dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1oaWRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ByaW50LnNjc3MiLCJ2ZW5kb3IvX3N3aXBlci5zY3NzIiwidmVuZG9yL19mYW5jeWJveC5zY3NzIiwidmVuZG9yL19hbmltYXRpb25zLnNjc3MiLCJ2ZW5kb3IvX25pY2Utc2VsZWN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaG50LXNjc3MtbnBtL3NyYy9zY3NzL3ZlbmRvci9fYW5pbWF0ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2hudC1zY3NzLW5wbS9zcmMvc2Nzcy92ZW5kb3IvX2FuaW1hdGUtbXktb3duLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaG50LXNjc3MtbnBtL3NyYy9zY3NzL3ZlbmRvci9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaG50LXNjc3MtbnBtL3NyYy9zY3NzL3ZlbmRvci9fZXh0ZW5kLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaG50LXNjc3MtbnBtL3NyYy9zY3NzL3ZlbmRvci9fY29tbW9uLnNjc3MiLCJ0aGVtZS9fbG9hZC1mb250cy5zY3NzIiwidGhlbWUvX2hlYWRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Jmcy9zY3NzLnNjc3MiLCJ0aGVtZS9fY29tbW9uLnNjc3MiLCJ0aGVtZS9fdHlwaW5nLnNjc3MiLCJ0aGVtZS9fcGFnZXMuc2NzcyIsInRoZW1lL19mb290ZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3QkFBd0I7QUFpQnhCO0VBQ0UsNEJBQXNDO0VBQ3RDLHdCQUFrQyxFQUNuQzs7QUNwQkQ7RUFDRSxVQUFTO0VBQ1QsV0FBVTtFQUNWLHVCQUFzQjtFQUN0Qiw0QkFBMkI7RUFDM0IsK0JBQThCO0VBQzlCLDJCQUEwQixFQUMzQjs7QUFHRDtFQUVFLG9DQUFtQztFQUNuQyxtQ0FBa0M7RUFDbEMsOEJBQTZCO0VBQzdCLG1CQUFrQjtFQUNsQixVQUFTLEVBQ1Y7O0FBRUQ7RUFDRSxlQUFjLEVBQ2Y7O0FBRUQ7RUFDRSxrQ0FBaUM7RUFDakMsZ0JBQWUsRUFDaEI7O0FBRUQ7O0VBRUUsb0JBQW1CLEVBQ3BCOztBQUVEO0VBQ0Usb0JBQW1CO0VBQ25CLGVBQWM7RUFDZCxrQkFBaUI7RUFDakIsVUFBUztFQUNULGNBQWEsRUFDZDs7QUFORDtFQUNFLG9CQUFtQjtFQUNuQixlQUFjO0VBQ2Qsa0JBQWlCO0VBQ2pCLFVBQVM7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OztBSjdSRDtFSWdTRSxtQkFBa0I7RUFDbEIsZ0JBQWUsRUFDaEI7O0FKOVJEO0VJaVNFLGNBQWEsRUFDZDs7QUhZRDtFR1BFLHlCQUF3QixFQUN6Qjs7QUk1ZEQ7O0VBRUUsc0JIaVN1QztFRy9SdkMsaUJIaVMrQjtFR2hTL0IsaUJIaVMrQixFRy9SaEM7O0FBRUQ7RUZnSE0sa0JBdENZLEVFMUU2Qjs7QUFDL0M7RUYrR00sZ0JBdENZLEVFekU2Qjs7QUFDL0M7RUY4R00sbUJBdENZLEVFeEU2Qjs7QUFDL0M7RUY2R00sa0JBdENZLEVFdkU2Qjs7QUFDL0M7RUY0R00sbUJBdENZLEVFdEU2Qjs7QUFDL0M7RUYyR00sZ0JBdENZLEVFckU2Qjs7QUFFL0M7RUZ5R00sbUJBdENZO0VFakVoQixpQkhtUytCLEVHbFNoQzs7QUFHRDtFRm1HTSxnQkF0Q1k7RUUzRGhCLGlCSHNSK0I7RUdyUi9CLGlCSDZRK0IsRUc1UWhDOztBQUNEO0VGOEZNLGtCQXRDWTtFRXREaEIsaUJIa1IrQjtFR2pSL0IsaUJId1ErQixFR3ZRaEM7O0FBQ0Q7RUZ5Rk0sa0JBdENZO0VFakRoQixpQkg4UStCO0VHN1EvQixpQkhtUStCLEVHbFFoQzs7QUFDRDtFRm9GTSxrQkF0Q1k7RUU1Q2hCLGlCSDBRK0I7RUd6US9CLGlCSDhQK0IsRUc3UGhDOztBSndCRDtFSWhCRSxpQkgwRVc7RUd6RVgsb0JIeUVXO0VHeEVYLFVBQVM7RUFDVCx5Q0h6Q2EsRUcwQ2Q7O0FBT0Q7O0VGTUksZUFBVztFRUhiLGlCSHNOK0IsRUdyTmhDOztBQUVEOztFQUVFLGVIOFBnQztFRzdQaEMsMEJIc1FtQyxFR3JRcEM7O0FBT0Q7RUMvRUUsZ0JBQWU7RUFDZixpQkFBZ0IsRURnRmpCOztBQUdEO0VDcEZFLGdCQUFlO0VBQ2YsaUJBQWdCLEVEcUZqQjs7QUFDRDtFQUNFLHNCQUFxQixFQUt0QjtFQU5EO0lBSUkscUJIZ1ArQixFRy9PaEM7O0FBU0g7RUZqQ0ksZUFBVztFRW1DYiwwQkFBeUIsRUFDMUI7O0FBR0Q7RUFDRSxvQkhpQlc7RUNGUCxtQkF0Q1ksRUV5QmpCOztBQUVEO0VBQ0UsZUFBYztFRjdDWixlQUFXO0VFK0NiLGVIMUdnQixFRytHakI7RUFSRDtJQU1JLHNCQUFxQixFQUN0Qjs7QUVwSEg7RUNJRSxnQkFBZTtFQUdmLGFBQVksRURMYjs7QUFJRDtFQUNFLGlCTCsrQndDO0VLOStCeEMsdUJMUmE7RUtTYiwwQkxOZ0I7RU9MZCwrQlBxT2dDO0VPck9oQyx1QlBxT2dDO0VNL05sQyxnQkFBZTtFQUdmLGFBQVksRURRYjs7QUFNRDtFQUVFLHNCQUFxQixFQUN0Qjs7QUFFRDtFQUNFLHNCQUEwQjtFQUMxQixlQUFjLEVBQ2Y7O0FBRUQ7RUprQ0ksZUFBVztFSWhDYixlTDNCZ0IsRUs0QmpCOztBR3hDRDtFUHVFSSxpQkFBVztFT3JFYixlUm9DZTtFUW5DZix1QkFBc0IsRUFNdkI7RUFIQztJQUNFLGVBQWMsRUFDZjs7QUFJSDtFQUNFLHVCUmlrQ3VDO0VDdmdDckMsaUJBQVc7RU94RGIsWVJUYTtFUVViLDBCUkRnQjtFT1hkLDhCUHVPK0I7RU92Ty9CLHNCUHVPK0IsRVFqTmxDO0VBZEQ7SUFTSSxXQUFVO0lQa0RWLGdCQUFXO0lPaERYLGlCUm9RNkIsRVFsUTlCOztBYkhIO0VhUUUsZUFBYztFUHlDWixpQkFBVztFT3ZDYixlUmpCZ0IsRVF5QmpCO0VBWEQ7SVAwQ0ksbUJBQVc7SU9sQ1gsZUFBYztJQUNkLG1CQUFrQixFQUNuQjs7QUFJSDtFQUNFLGtCUndpQ3VDO0VRdmlDdkMsbUJBQWtCLEVBQ25COztBZDlCRDtFZVpFLFlBQVc7RUFDWCxtQkFBMEI7RUFDMUIsa0JBQXlCO0VBQ3pCLG1CQUFrQjtFQUNsQixrQkFBaUIsRUNEaEI7RUNvREM7SWpCM0NKO01lQU0saUJUOExLLEVVdk1SLEVBQUE7RUNvREM7SWpCM0NKO01lQU0saUJUK0xLLEVVeE1SLEVBQUE7RUNvREM7SWpCM0NKO01lQU0saUJUZ01LLEVVek1SLEVBQUE7RUNvREM7SWpCM0NKO01lQU0sa0JUaU1NLEVVMU1ULEVBQUE7O0FBU0Q7RURaQSxZQUFXO0VBQ1gsbUJBQTBCO0VB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Qk0sMEJBSnNDLEVaYnRCO0VZWXRCOztJQVNRLDBCQVJvQyxFQVNyQzs7QUE3QlA7OztFQUlJLDBCQzJFNEQsRUQxRTdEOztBQUxIOzs7O0VBWU0sc0JDbUUwRCxFRGxFM0Q7O0FaTkw7RVlpQk0sMEJBSnNDLEVaYnRCO0VZWXRCOztJQVNRLDBCQVJvQyxFQVNyQzs7QUE3QlA7OztFQUlJLDBCQzJFNEQsRUQxRTdEOztBQUxIOzs7O0VBWU0sc0JDbUUwRCxFRGxFM0Q7O0FaTkw7RVlpQk0sMEJBSnNDLEVaYnRCO0VZWXRCOztJQVNRLDBCQVJvQyxFQVNyQzs7QUE3QlA7OztFQUlJLDBCQzJFNEQsRUQxRTdEOztBQUxIOzs7O0VBWU0sc0JDbUUwRCxFRGxFM0Q7O0FaTkw7RVlpQk0sMEJBSnNDLEVaYnRCO0VZWXRCOztJQVNRLDBCQVJvQyxFQVNyQzs7QUE3QlA7OztFQUlJLDBCQzJFNEQsRUQxRTdEOztBQUxIOzs7O0VBWU0sc0JDbUUwRCxFRGxFM0Q7O0FaTkw7RVlpQk0sMEJBSnNDLEVaYnRCO0VZWXRCOztJQVNRLDBCQVJvQyxFQVNyQzs7QUE3QlA7OztFQUlJLDBCQzJFNEQsRUQxRTdEOztBQUxIOzs7O0VBWU0sc0JDbUUwRCxFRGxFM0Q7O0FaTkw7RVlpQk0sMEJBSnNDLEVaYnRCO0VZWXRCOztJQVNRLDBCQVJvQyxFQVNyQzs7QUE3QlA7OztFQUlJLDBCQzJFNEQsRUQxRTdEOztBQUxIOzs7O0VBWU0sc0JDbUUwRCxFRGxFM0Q7O0FaTkw7RVlpQk0sMEJBSnNDLEVaYnRCO0VZWXRCOztJQVNRLDBCQVJvQyxFQVNyQzs7QUE3QlA7OztFQUlJLDBCQzJFNEQsRUQxRTdEOztBQUxIOzs7O0VBWU0sc0JDbUUwRCxFRGxFM0Q7O0FaTkw7RVlpQk0sMEJBSnNDLEVaYnRCO0VZWXRCOztJQVNRLDBCQVJvQyxFQVNyQzs7QUE3QlA7OztFQUlJLHVDZFFTLEVjUFY7O0FaRUg7RVlpQk0sdUNBSnNDLEVaYnRCO0VZWXRCOztJQVNRLHVDQVJvQyxFQVNyQzs7QUQ2RVQ7RUFHTSxZYjNHUztFYTRHVCwwQmJw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QWtCO0VBQ2xCLFVBQVM7RUFDVCxXQUFVO0VBQ1YsY0FBYTtFQUNiLGdCQUFlO0VBQ2Ysd0JsQnN5QnFDO0VrQnJ5QnJDLGtCQUFpQjtFakJtRmYsb0JBdENZO0VpQjNDZCxpQmxCa1A2QjtFa0JqUDdCLFlsQnhDVztFa0J5Q1gseUNsQkxhO0VPdENiLCtCUHFPZ0M7RU9yT2hDLHVCUHFPZ0MsRWtCeExqQzs7QUFHQztFQUVFLHNCbEJaVztFa0JlVCxxQ2xCZ2IyRjtFa0IvYTNGLDZQSGZtSTtFR2dCbkksNkJBQTRCO0VBQzVCLDREbEIrYTZGO0VrQjlhN0YseUVsQjZhd0Y7RWtCN2F4RixpRWxCNmF3RixFa0JqYTNGO0VBckJEO0lBYUksc0JsQnZCUztJa0J3QlQseURsQnhCUztJa0J3QlQsaURsQnhCUyxFa0J5QlY7RUFmSDs7O0lBbUJJLGVBQWMsRUFDZjs7QUFNSDtFQUdJLHFDbEJ3WjJGO0VrQnZaM0YsbUZsQnlaNkYsRWtCdlpoRzs7QUFJRDtFQUVFLHNCbEJoRFc7RWtCbURULHVEbEJxZTBKO0VrQnBlMUosOGdCQUFrSixFQVlySjtFQWxCRDtJQVVJLHNCbEJ4RFM7SWtCeURULHlEbEJ6RFM7SWtCeURULGlEbEJ6RFMsRWtCMERWO0VBWkg7OztJQWdCSSxlQUFjLEVBQ2Y7O0FBTUg7OztFQUlJLGVBQWMsRUFDZjs7QUFLSDtFQUdJLGVsQmxGUyxFa0JtRlY7O0FBSkg7OztFQVFJLGVBQWMsRUFDZjs7QUFLSDtFQUdJLGVsQmhHUyxFa0JxR1Y7RUFSSDtJQU1NLHNCbEJuR08sRWtCb0dSOztBQVBMOzs7RUFZSSxlQUFjLEVBQ2Y7O0FBYkg7RUFpQk0sc0JBQWtDO0VDbkp4QywwQkRvSitDLEVBQzFDOztBQW5CTDtFQXdCTSx5RGxCckhPO0VrQnFIUCxpRGxCckhPLEVrQnNIUjs7QUF6Qkw7RUE0Qk0sc0JsQnpITyxFa0IwSFI7O0FBT0w7RUFHSSxzQmxCcElTLEVrQnFJVjs7QUFKSDs7O0VBUUksZUFBYyxFQUNmOztBQVRIO0VBYU0sc0JsQjlJTztFa0IrSVAseURsQi9JTztFa0IrSVAsaURs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QnlCZDtFbEJqREQ7SW1CQUUsWXJCTFc7SW1CRFgsMEJFRG9GO0lBU3BGLHNCQVR5SCxFbkJPckc7RW1CS3RCO0lBTUkseURBQWlGO0lBQWpGLGlEQUFpRixFQUVwRjtFQUdEO0lBRUUsWXJCdkJXO0lxQndCWCwwQnJCS2E7SXFCSmIsc0JyQklhLEVxQkNkO0VBRUQ7O0lBR0UsWXJCbkNXO0lxQm9DWCwwQkF0Q3VLO0lBMEN2SyxzQkExQytNLEVBb0RoTjtJQVJDOztNQUtJLHlEQUFpRjtNQUFqRixpREFBaUYsRUFFcEY7O0FER0g7RUNyREEsWXJCQ2E7RW1CRFgsMEJuQk9jO0VxQkxoQixzQnJCS2dCLEVvQmdEZjtFbEJqREQ7SW1CQUUsWXJCTFc7SW1CRFgsMEJFRG9GO0lBU3BGLHNCQVR5SCxFbkJPckc7RW1CS3RCO0lBTUksMERBQWlGO0lBQWpGLGtEQUFpRixFQUVwRjtFQUdEO0lBRUUsWXJCdkJXO0lxQndCWCwwQnJCbEJjO0lxQm1CZCxzQnJCbkJjLEVxQndCZjtFQUVEOztJQUdFLFlyQm5DVztJcUJvQ1gsMEJBdEN1SztJQTBDdkssc0JBMUMrTSxFQW9EaE47SUFSQzs7TUFLSSwwREFBaUY7TUFBakYsa0RBQWlGLEVBRXBGOztBREdIO0VDckRBLFlyQkNhO0VtQkRYLDBCbkJxQ2E7RXFCbkNmLHNCckJtQ2UsRW9Ca0JkO0VsQmpERDtJbUJBRSxZckJMVztJbUJEWCwwQkVEb0Y7SUFTcEYsc0JBVHlILEVuQk9yRztFbUJLdEI7SUFNSSx3REFBaUY7SUFBakYsZ0RBQWlGLEVBRXBGO0VBR0Q7SUFFRSxZckJ2Qlc7SXFCd0JYLDBCckJZYTtJcUJYYixzQnJCV2EsRXFCTmQ7RUFFRDs7SUFHRSxZckJuQ1c7SXFCb0NYLDBCQXRDdUs7SUEwQ3ZLLHNCQTFDK00sRUFvRGhOO0lBUkM7O01BS0ksd0RBQWlGO01BQWpGLGdEQUFpRixFQUVwRjs7QURHSDtFQ3JEQSxZckJDYTtFbUJEWCwwQm5CdUNhO0VxQnJDZixzQnJCcUNlLEVvQmdCZDtFbEJqREQ7SW1CQUUsWXJCTFc7SW1CRFgsMEJFRG9GO0lBU3BGLHNCQVR5SCxFbkJPckc7RW1CS3RCO0lBTUkseURBQWlGO0lBQWpGLGlEQUFpRixFQUVwRjtFQUdEO0lBRUUsWXJCdkJXO0lxQndCWCwwQnJCY2E7SXFCYmIsc0JyQmFhLEVxQlJkO0VBRUQ7O0lBR0UsWXJCbkNXO0lxQm9DWCwwQkF0Q3VLO0lBMEN2SyxzQkExQytNLEVBb0RoTjtJQVJDOztNQUtJLHlEQUFpRjtNQUFqRixpREFBaUYsRUFFcEY7O0FER0g7RUNyREEsZXJCVWdCO0VtQlZkLDBCbkJvQ2E7RXFCbENmLHNCckJrQ2UsRW9CbUJkO0VsQmpERDtJbUJBRSxlckJJYztJbUJWZCwwQkVEb0Y7SUFTcEYsc0JBVHlILEVuQk9yRztFbUJLdEI7SUFNSSx5REFBaUY7SUFBakYsaURBQWlGLEVBRXBGO0VBR0Q7SUFFRSxlckJkYztJcUJlZCwwQnJCV2E7SXFCVmIsc0JyQlVhLEVxQkxkO0VBRUQ7O0lBR0UsZXJCMUJjO0lxQjJCZCwwQkF0Q3VLO0lBMEN2SyxzQkExQytNLEVBb0RoTjtJQVJDOztNQUtJLHlEQUFpRjtNQUFqRixpREFBaUYsRUFFcEY7O0FER0g7RUNyREEsWXJCQ2E7RW1CRFgsMEJuQmtDYTtFcUJoQ2Ysc0JyQmdDZSxFb0JxQmQ7RWxCakREO0ltQkFFLFlyQkxXO0ltQkRYLDBCRURvRjtJQVNwRixzQkFUeUgsRW5CT3JHO0VtQkt0QjtJQU1JLHdEQUFpRjtJQUFqRixnREFBaUYsRUFFcEY7RUFHRDtJQUVFLFlyQnZCVztJcUJ3QlgsMEJyQlNhO0lxQlJiLHNCckJRYSxFcUJIZDtFQUVEOztJQUdFLFlyQm5DVztJcUJvQ1gsMEJBdEN1SztJQTBDdkssc0JBMUMrTSxFQW9EaE47SUFSQzs7TUFLSSx3REFBaUY7TUFBakYsZ0RBQWlGLEVBRXBGOztBREdIO0VDckRBLGVyQlVnQjtFbUJWZCwwQm5CRWM7RXFCQWhCLHNCckJBZ0IsRW9CcURmO0VsQmpERDtJbUJBRSxlckJJYztJbUJWZCwwQkVEb0Y7SUFTcEYsc0JBVHlILEVuQk9yRztFbUJLdEI7SUFNSSwwREFBaUY7SUFBakYsa0RBQWlGLEVBRXBGO0VBR0Q7SUFFRSxlckJkYztJcUJlZCwwQnJCdkJjO0lxQndCZCxzQnJCeEJjLEVxQjZCZjtFQUVEOztJQUdFLGVyQjFCYztJcUIyQmQsMEJBdEN1SztJQTBDdkssc0JBMUMrTSxFQW9EaE47SUFSQzs7TUFLSSwwREFBaUY7TUFBakYsa0RBQWlGLEVBRXBGOztBREdIO0VDckRBLFlyQkNhO0VtQkRYLDBCbkJTYztFcUJQaEIsc0JyQk9nQixFb0I4Q2Y7RWxCakREO0ltQkFFLFlyQkxXO0ltQkRYLDBCRURvRjtJQVNwRixzQkFUeUgsRW5CT3JHO0VtQkt0QjtJQU1JLHVEQUFpRjtJQUFqRiwrQ0FBaUYsRUFFcEY7RUFHRDtJQUVFLFlyQnZCVztJcUJ3QlgsMEJyQmhCYztJcUJpQmQsc0JyQmpCYyxFcUJzQmY7RUFFRDs7SUFHRSxZckJuQ1c7SXFCb0NYLDBCQXRDdUs7SUEwQ3ZLLHNCQTFDK00sRUFvRGhOO0lBUkM7O01BS0ksdURBQWlGO01BQWpGLCtDQUFpRixFQUVwRjs7QURTSDtFQ0pBLGVyQnpCZTtFcUIwQmYsc0JyQjFCZSxFb0IrQmQ7RWxCdkREO0ltQnFERSxZckIxRFc7SXFCMkRYLDBCckI5QmE7SXFCK0JiLHNCckIvQmEsRUV4Qk87RW1CMER0QjtJQUVFLHdEckJwQ2E7SXFCb0NiLGdEckJwQ2EsRXFCcUNkO0VBRUQ7SUFFRSxlckJ6Q2E7SXFCMENiLDhCQUE2QixFQUM5QjtFQUVEOztJQUdFLFlyQjdFVztJcUI4RVgsMEJyQmpEYTtJcUJrRGIsc0JyQmxEYSxFcUI0RGQ7SUFSQzs7TUFLSSx3RHJCekRTO01xQnlEVCxnRHJCekRTLEVxQjJEWjs7QUQ5Qkg7RUNKQSxlckJoRGdCO0VxQmlEaEIsc0JyQmpEZ0IsRW9Cc0RmO0VsQnZERDtJbUJxREUsWXJCMURXO0lxQjJEWCwwQnJCckRjO0lxQnNEZCxzQnJCdERjLEVFRE07RW1CMER0QjtJQUVFLDBEckIzRGM7SXFCMkRkLGtEckIzRGMsRXFCNERmO0VBRUQ7SUFFRSxlckJoRWM7SXFCaUVkLDhCQUE2QixFQUM5QjtFQUVEOztJQUdFLFlyQjdFVztJcUI4RVgsMEJyQnhFYztJcUJ5RWQsc0JyQnpFYyxFcUJtRmY7SUFSQzs7TUFLSSwwRHJCaEZVO01xQmdGVixrRHJCaEZVLEVxQmtGYjs7QUQ5Qkg7RUNKQSxlckJsQmU7RXFCbUJmLHNCckJuQmUsRW9Cd0JkO0VsQnZERDtJbUJxREUsWXJCMURXO0lxQjJEWCwwQnJCdkJhO0lxQndCYixzQnJCeEJhLEVFL0JPO0VtQjBEdEI7SUFFRSx3RHJCN0JhO0lxQjZCYixnRHJCN0JhLEVxQjhCZDtFQUVEO0lBRUUsZXJCbENhO0lxQm1DYiw4QkFBNkIsRUFDOUI7RUFFRDs7SUFHRSxZckI3RVc7SXFCOEVYLDBCckIxQ2E7SXFCMkNiLHNCckIzQ2EsRXFCcURkO0lBUkM7O01BS0ksd0RyQmxEUztNcUJrRFQsZ0RyQmxEUyxFcUJvRFo7O0FEOUJIO0VDSkEsZXJCaEJlO0VxQmlCZixzQnJCakJlLEVvQnNCZDtFbEJ2REQ7SW1CcURFLFlyQjFEVztJcUIyRFgsMEJyQnJCYTtJcUJzQmIsc0JyQnRCYSxFRWpDTztFbUIwRHRCO0lBRUUseURyQjNCYTtJcUIyQmIsaURyQjNCYSxFcUI0QmQ7RUFFRDtJQUVFLGVyQmhDYTtJcUJpQ2IsOEJBQTZCLEVBQzlCO0VBRUQ7O0lBR0UsWXJCN0VXO0lxQjhFWCwwQnJCeENhO0lxQnlDYixzQnJCekNhLEVxQm1EZDtJQVJDOztNQUtJLHlEckJoRFM7TXFCZ0RULGlEckJoRFMsRXFCa0RaOztBRDlCSDtFQ0pBLGVyQm5CZTtFcUJvQmYsc0JyQnBCZSxFb0J5QmQ7RWxCdkREO0ltQnFERSxlckJqRGM7SXFCa0RkLDBCckJ4QmE7SXFCeUJiLHNCckJ6QmEsRUU5Qk87RW1CMER0QjtJQUVFLHdEckI5QmE7SXFCOEJiLGdEckI5QmEsRXFCK0JkO0VBRUQ7SUFFRSxlckJuQ2E7SXFCb0NiLDhCQUE2QixFQUM5QjtFQUVEOztJQUdFLGVyQnBFYztJcUJxRWQsMEJyQjNDYTtJcUI0Q2Isc0JyQjVDYSxFcUJzRGQ7SUFSQzs7TUFLSSx3RHJCbkRTO01xQm1EVCxnRHJCbkRTLEVxQnFEWjs7QUQ5Qkg7RUNKQSxlckJyQmU7RXFCc0JmLHNCckJ0QmUsRW9CMkJkO0VsQnZERDtJbUJxREUsWXJCMURXO0lxQjJEWCwwQnJCMUJhO0lxQjJCYixzQnJCM0JhLEVFNUJPO0VtQjBEdEI7SUFFRSx3RHJCaENhO0lxQmdDYixnRHJCaENhLEVxQmlDZDtFQUVEO0lBRUUsZXJCckNhO0lxQnNDYiw4QkFBNkIsRUFDOUI7RUFFRDs7SUFHRSxZckI3RVc7SXFCOEVYLDBCckI3Q2E7SXFCOENiLHNCckI5Q2EsRXFCd0RkO0lBUkM7O01BS0ksd0RyQnJEUztNcUJxRFQsZ0RyQnJEUyxFcUJ1RFo7O0FEOUJIO0VDSkEsZXJCckRnQjtFcUJzRGhCLHNCckJ0RGdCLEVvQjJEZjtFbEJ2REQ7SW1CcURFLGVyQmpEYztJcUJrRGQsMEJyQjFEYztJcUIyRGQsc0JyQjNEYyxFRUlNO0VtQjBEdEI7SUFFRSwwRHJCaEVjO0lxQmdFZCxrRHJCaEVjLEVxQmlFZjtFQUVEO0lBRUUsZXJCckVjO0lxQnNFZCw4QkFBNkIsRUFDOUI7RUFFRDs7SUFHRSxlckJwRWM7SXFCcUVkLDBCckI3RWM7SXFCOEVkLHNCckI5RWMsRXFCd0ZmO0lBUkM7O01BS0ksMERyQnJGVTtNcUJxRlYsa0RyQnJGVSxFcUJ1RmI7O0FEOUJIO0VDSkEsZXJCOUNnQjtFcUIrQ2hCLHNCckIvQ2dCLEVvQm9EZjtFbEJ2REQ7SW1CcURFLFlyQjFEVztJcUIyRFgsMEJyQm5EYztJcUJvRGQsc0JyQnBEYyxFRUhNO0VtQjBEdEI7SUFFRSx1RHJCekRjO0lxQnlEZCwrQ3JCekRjLEVxQjBEZjtFQUVEO0lBRUUsZXJCOURjO0lxQitEZCw4QkFBNkIsRUFDOUI7RUFFRDs7SUFHRSxZckI3RVc7SXFCOEVYLDBCckJ0RWM7SXFCdUVkLHNCckJ2RWMsRXFCaUZmO0lBUkM7O01BS0ksdURyQjlFVTtNcUI4RVYsK0NyQjlFVSxFcUJnRmI7O0FEbkJMO0VBQ0UsaUJwQjhNK0I7RW9CN00vQixlcEIxQ2U7RW9CMkNmLHNCcEI2RjRDLEVvQnpF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YndDO0k0QnpieEMsYTVCeWJ3QztJNEJ4YnhDLHFCQUFvQjtJQUNwQixZQUFXO0lBQ1gsdUI1QjVFVztJNEI2RVgsMEI1Qm1KNkIsRTRCako5QjtFQWxCSDtJQXNCSSxtQkFBa0I7SUFDbEIsYUFBK0U7SUFDL0UsY0FBK0Q7SUFDL0QsZUFBYztJQUNkLFk1QjJhd0M7STRCMWF4QyxhNUIwYXdDO0k0QnpheEMsWUFBVztJQUNYLG9DQUFnRSxFQUNqRTs7QUFRSDtFckJyR0ksK0JQcU9nQztFT3JPaEMsdUJQcU9nQyxFNEI3SGpDOztBQUhIO0VBT00sOE1ickVxSSxFYXNFdEk7O0FBUkw7RUFhTSxzQjVCbkZXO0VtQjlCYiwwQm5COEJhLEU0QnNGWjs7QUFoQkw7RUFrQk0sMkpiaEZxSSxFYWlGdEk7O0FBbkJMO0VBd0JNLHlDNUI5RlcsRTRCK0ZaOztBQXpCTDtFQTJCTSx5QzVCakdXLEU0QmtHWjs7QUFRTDtFQUdJLDJCNUIwWitDO0U0QjFaL0MsbUI1QjBaK0MsRTRCelpoRDs7QUFKSDtFQVFNLHdKYjFHcUksRWEyR3RJOztBQVRMO0VBY00seUM1QnhIVyxFNEJ5SFo7O0FBU0w7RUFDRSxzQkFBMkQsRUFtQzVEO0VBcENEO0lBS00sZUFBcUQ7SUFDckQsZTVCa1krRTtJNEJqWS9FLG9CQUFtQjtJQUVuQiw4QjVCZ1k0RTtJNEJoWTVFLHNCNUJnWTRFLEU0Qi9YN0U7RUFWTDtJQWFNLHlCQUEwSTtJQUMxSSwyQkFBK0c7SUFDL0csd0I1QjJYaUk7STRCMVhqSSx5QjVCMFhpSTtJNEJ6WGpJLDBCNUIzS1k7STRCNktaLDhCNUJzWDRFO0k0QnRYNUUsc0I1QnNYNEU7SWlCemlCNUUsa0tqQjhmK0g7SWlCOWYvSCwwSmpCOGYrSDtJaUI5Zi9ILDZJakI4ZitIO0lpQjlmL0gsMElqQjhmK0g7SWlCOWYvSCxxTmpCOGYrSCxFNEJ6VWhJO0lYaExEO01XMkpKO1FYMUpNLHlCQUFnQjtRQUFoQixvQkFBZ0I7UUFBaEIsaUJBQWdCLEVXK0tqQixFQUFBO0VBckJMO0lBMEJNLHVCNUJ6TFM7STRCMExULHVDQUE0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QztJaUIvbEIzQyw2SGpCOGYrSDtJaUI5Zi9ILHFIakI4ZitIO0lpQjlmL0gsZ0hqQjhmK0g7SWlCOWYvSCw2R2pCOGYrSDtJaUI5Zi9ILG1KakI4ZitIO0k0QnpIakkseUJBQWdCO0lBQWhCLGlCQUFnQixFQUtqQjtJWHJZQztNV2tXSjtRWGpXTSx5QkFBZ0I7UUFBaEIsb0JBQWdCO1FBQWhCLGlCQUFnQixFV29ZbkIsRUFBQTtJQW5DSDtNVHZXSSwwQm5CbW1CMkUsRTRCMU4xRTtFQWxDTDtJQXNDSSxZNUJ1TW9DO0k0QnRNcEMsZTVCdU1xQztJNEJ0TXJDLG1CQUFrQjtJQUNsQixnQjVCc011QztJNEJyTXZDLDBCNUI3WWM7STRCOFlkLDBCQUF5QjtJckJuWnpCLDRCUHlsQm9DO0lPemxCcEMsb0JQeWxCb0MsRTRCbk1yQztFQTlDSDtJQWlESSxZNUJtTTZDO0k0QmxNN0MsYTVCa002QztJbUIzbEI3QywwQm5COEJhO0k0QjZYYixVNUJtTTBDO0lPL2xCMUMsb0JQZ21CNkM7SWlCL2xCM0MsNkhqQjhmK0g7SWlCOWYvSCxxSGpCOGYrSDtJaUI5Zi9ILGdIakI4ZitIO0lpQjlmL0gsNkdqQjhmK0g7SWlCOWYvSCxtSmpCOGYrSDtJNEIvRmpJLHNCQUFnQjtJQUFoQixpQkFBZ0IsRUFLakI7SVgvWkM7TVdrV0o7UVhqV00seUJBQWdCO1FBQWhCLG9CQUFnQjtRQUFoQixpQkFBZ0IsRVc4Wm5CLEVBQUE7SUE3REg7TVR2V0ksMEJuQm1tQjJFLEU0QmhNMUU7RUE1REw7SUFnRUksWTVCNktvQztJNEI1S3BDLGU1QjZLcUM7STRCNUtyQyxtQkFBa0I7SUFDbEIsZ0I1QjRLdUM7STRCM0t2QywwQjVCdmFjO0k0QndhZCwwQkFBeUI7SXJCN2F6QixvQlB5bEJvQyxFNEJ6S3JDO0VBeEVIO0lBMkVJLFk1QnlLNkM7STRCeEs3QyxhNUJ3SzZDO0k0QnZLN0MsY0FBYTtJQUNiLHFCNUJ2RCtCO0k0QndEL0Isb0I1QnhEK0I7SW1COVgvQiwwQm5COEJhO0k0QjBaYixVNUJzSzBDO0lPL2xCMUMsb0JQZ21CNkM7SWlCL2xCM0MsNkhqQjhmK0g7SWlCOWYvSCxxSGpCOGYrSDtJaUI5Zi9ILGdIakI4ZitIO0lpQjlmL0gsNkdqQjhmK0g7SWlCOWYvSCxtSmpCOGYrSDtJNEJsRWpJLGlCQUFnQixFQUtqQjtJWDViQztNV2tXSjtRWGpXTSx5QkFBZ0I7UUFBaEIsb0JBQWdCO1FBQWhCLGlCQUFnQixFVzJibkIsRUFBQTtJQTFGSDtNVHZXSSwwQm5CbW1CMkUsRTRCbksxRTtFQXpGTDtJQTZGSSxZNUJnSm9DO0k0Qi9JcEMsZTVCZ0pxQztJNEIvSXJDLG1CQUFrQjtJQUNsQixnQjVCK0l1QztJNEI5SXZDLDhCQUE2QjtJQUM3QiwwQkFBeUI7SUFDekIscUJBQTRDLEVBRTdDO0VBckdIO0lBd0dJLDBCNUIzY2M7SU9MZCxvQlB5bEJvQyxFNEJ2SXJDO0VBMUdIO0lBNkdJLG1CQUFrQjtJQUNsQiwwQjVCamRjO0lPTGQsb0JQeWxCb0MsRTRCaklyQztFQWhISDtJQW9ITSwwQjVCcmRZLEU0QnNkYjtFQXJITDtJQXdITSxnQkFBZSxFQUNoQjtFQXpITDtJQTRITSwwQjVCN2RZLEU0QjhkYjtFQTdITDtJQWdJTSxnQkFBZSxFQUNoQjtFQWpJTDtJQW9JTSwwQjVCcmVZLEU0QnNlYjs7QUFJTDs7O0VYaGZNLDZIakI4ZitIO0VpQjlmL0gscUhqQjhmK0g7RWlCOWYvSCxnSGpCOGYrSDtFaUI5Zi9ILDZHakI4ZitIO0VpQjlmL0gsbUpqQjhmK0gsRTRCVnBJO0VYL2VHO0lXMmVKOzs7TVgxZU0seUJBQWdCO01BQWhCLG9CQUFnQjtNQUFoQixpQkFBZ0IsRVc4ZXJCLEVBQUE7O0FDcmZEO0VBQ0UscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHdCQUFlO0VBQWYsb0JBQWU7RUFBZixnQkFBZTtFQUNmLGdCQUFlO0VBQ2YsaUJBQWdCO0VBQ2hCLGlCQUFnQixFQUNqQjs7QUFFRDtFQUNFLGVBQWM7RUFDZCxxQjdCa3FCc0MsRTZCdHBCdkM7RTNCWEM7STJCRUUsc0JBQXFCLEUzQkN0QjtFMkJOSDtJQVVJLGU3QlZjO0k2QldkLHFCQUFvQjtJQUNwQixnQkFBZSxFQUNoQjs7QUFPSDtFQUNFLGlDN0J4QmdCLEU2QjBEakI7RUFuQ0Q7SUFJSSxvQjdCa002QixFNkJqTTlCO0VBTEg7SUFRSSw4QkFBZ0Q7SXRCM0JoRCx3Q1A0TmdDO0lPNU5oQyxnQ1A0TmdDO0lPM05oQyx5Q1AyTmdDO0lPM05oQyxpQ1AyTmdDLEU2QnJMakM7STNCckNEO00yQjZCSSxzQzdCbkNZLEVFU2Y7STJCY0g7TUFnQk0sZTdCcENZO002QnFDWiw4QkFBNkI7TUFDN0IsMEJBQXlCLEVBQzFCO0VBbkJMOztJQXdCSSxlN0IzQ2M7STZCNENkLHVCN0JuRFc7STZCb0RYLG1DN0JwRFcsRTZCcURaO0VBM0JIO0lBK0JJLGlCN0J1SzZCO0lPek43QixrQ3NCb0Q0QjtJdEJwRDVCLDBCc0JvRDRCO0l0Qm5ENUIsbUNzQm1ENEI7SXRCbkQ1QiwyQnNCbUQ0QixFQUM3Qjs7QUFRSDtFdEJ0RUksK0JQcU9nQztFT3JPaEMsdUJQcU9nQyxFNkI1SmpDOztBQUhIOztFQU9JLFk3QjNFVztFNkI0RVgsMEI3Qi9DYSxFNkJnRGQ7O0FBUUg7RUFFSSxvQkFBYztFQUFkLHVCQUFjO0VBQWQsbUJBQWM7RUFBZCxlQUFjO0VBQ2QsbUJBQWtCLEVBQ25COztBQUdIO0VBRUksc0JBQWE7RUFBYiwyQkFBYTtFQUFiLGNBQWE7RUFDYixvQkFBWTtFQUFaLHFCQUFZO0VBQVoscUJBQVk7RUFBWixhQUFZO0VBQ1osbUJBQWtCLEVBQ25COztBQVFIO0VBRUksY0FBYSxFQUNkOztBQUhIO0VBS0ksZUFBYyxFQUNmOztBQ3JHSDtFQUNFLG1CQUFrQjtFQUNsQixxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isd0JBQWU7RUFBZixvQkFBZTtFQUFmLGdCQUFlO0VBQ2YsMEJBQW1CO0VBQW5CLDRCQUFtQjtFQUFuQix1QkFBbUI7RUFBbkIsb0JBQW1CO0VBQ25CLDBCQUE4QjtFQUE5Qix1Q0FBOEI7RUFBOUIsdUJBQThCO0VBQTlCLCtCQUE4QjtFQUM5QixxQjlCMEdXLEU4Qi9GWjtFQWpCRDs7SUFZSSxxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2Isd0JBQWU7SUFBZixvQkFBZTtJQUFmLGdCQUFlO0lBQ2YsMEJBQW1CO0lBQW5CLDRCQUFtQjtJQUFuQix1QkFBbUI7SUFBbkIsb0JBQW1CO0lBQ25CLDBCQUE4QjtJQUE5Qix1Q0FBOEI7SUFBOUIsdUJBQThCO0lBQTlCLCtCQUE4QixFQUMvQjs7QUFRSDtFQUNFLHNCQUFxQjtFQUNyQix1QjlCb3FCK0U7RThCbnFCL0UsMEI5Qm1xQitFO0U4QmxxQi9FLG1COUJvRlc7RUNGUCxtQkF0Q1k7RTZCMUNoQixxQkFBb0I7RUFDcEIsb0JBQW1CLEVBS3BCO0U1QnJDQztJNEJtQ0Usc0JBQXFCLEU1QmhDdEI7O0E0QnlDSDtFQUNFLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw2QkFBc0I7RUFBdEIsOEJBQXNCO0VBQXRCLCtCQUFzQjtFQUF0QiwyQkFBc0I7RUFBdEIsdUJBQXNCO0VBQ3RCLGdCQUFlO0VBQ2YsaUJBQWdCO0VBQ2hCLGlCQUFnQixFQVdqQjtFQWhCRDtJQVFJLGlCQUFnQjtJQUNoQixnQkFBZSxFQUNoQjtFQVZIO0lBYUksaUJBQWdCO0lBQ2hCLFlBQVcsRUFDWjs7QUFRSDtFQUNFLHNCQUFxQjtFQUNyQixvQjlCMmxCdUM7RThCMWxCdkMsdUI5QjBsQnVDLEU4QnpsQnhDOztBQVdEO0VBQ0UseUJBQWdCO0VBQWhCLDhCQUFnQjtFQUFoQixpQkFBZ0I7RUFDaEIsb0JBQVk7RUFBWixxQkFBWTtFQUFaLHFCQUFZO0VBQVosYUFBWTtFQUdaLDBCQUFtQjtFQUFuQiw0QkFBbUI7RUFBbkIsdUJBQW1CO0VBQW5CLG9CQUFtQixFQUNwQjs7QUFHRDtFQUNFLHlCOUJzbUJ3QztFQ25sQnBDLG1CQXRDWTtFNkJxQmhCLGVBQWM7RUFDZCw4QkFBNkI7RUFDN0IsOEJBQXVDO0V2QjNHckMsK0JQcU9nQztFT3JPaEMsdUJQcU9nQyxFOEJwSG5DO0U1QnRHQztJNEJvR0Usc0JBQXFCLEU1QmpHdEI7O0E0QnVHSDtFQUNFLHNCQUFxQjtFQUNyQixhQUFZO0VBQ1osY0FBYTtFQUNiLHVCQUFzQjtFQUN0QixZQUFXO0VBQ1gsb0NBQW1DO0VBQ25DLG1DQUEwQjtFQUExQiwyQkFBMEIsRUFDM0I7O0FuQnpERztFbUJrRUM7O0lBSUssaUJBQWdCO0lBQ2hCLGdCQUFlLEVBQ2hCLEVBQUE7O0FuQnJGTDtFbUIrRUE7SUFVSSwrQkFBcUI7SUFBckIsOEJBQXFCO0lBQXJCLDhCQUFxQjtJQUFyQiwwQkFBcUI7SUFBckIsc0JBQXFCO0lBQ3JCLHdCQUEyQjtJQUEzQixvQ0FBMkI7SUFBM0IscUJBQTJCO0lBQTNCLDRCQUEyQixFQWdDOUI7SUEzQ0E7TUFjSywrQkFBbUI7TUFBbkIsOEJBQW1CO01BQW5CLDRCQUFtQjtNQUFuQix3QkFBbUI7TUFBbkIsb0JBQW1CLEVBVXBCO01BeEJKO1FBaUJPLG1CQUFrQixFQUNuQjtNQWxCTjtRQXFCTyxzQjlCeWlCNkI7UThCeGlCN0IscUI5QndpQjZCLEU4QnZpQjlCO0lBdkJOOztNQTZCSywwQkFBaUI7TUFBakIsc0JBQWlCO01BQWpCLGtCQUFpQixFQUNsQjtJQTlCSjtNQWlDSyxnQ0FBd0I7TUFBeEIsaUNBQXdCO01BQXhCLGdDQUF3QjtNQUF4Qix5QkFBd0I7TUFHeEIseUJBQWdCO01BQWhCLDhCQUFnQjtNQUFoQixpQkFBZ0IsRUFDakI7SUFyQ0o7TUF3Q0ssY0FBYSxFQUNkLEVBQUE7O0FuQjNHTDtFbUJrRUM7O0lBSUssaUJBQWdCO0lBQ2hCLGdCQUFlLEVBQ2hCLEVBQUE7O0FuQnJGTDtFbUIrRUE7SUFVSSwrQkFBcUI7SUFBckIsOEJBQXFCO0lBQXJCLDhCQUFxQjtJQUFyQiwwQkFBcUI7SUFBckIsc0JBQXFCO0lBQ3JCLHdCQUEyQjtJQUEzQixvQ0FBMkI7SUFBM0IscUJBQTJCO0lBQTNCLDRCQUEyQixFQWdDOUI7SUEzQ0E7TUFjSywrQkFBbUI7TUFBbkIsOEJBQW1CO01BQW5CLDRCQUFtQjtNQUFuQix3QkFBbUI7TUFBbkIsb0JBQW1CLEVBVXBCO01BeEJKO1FBaUJPLG1CQUFrQixFQUNuQjtNQWxCTjtRQXFCTyxzQjlCeWlCNkI7UThCeGlCN0IscUI5QndpQjZCLEU4QnZpQjlCO0lBdkJOOztNQTZCSywwQkFBaUI7TUFBakIsc0JBQWlCO01BQWpCLGtCQUFpQixFQUNsQjtJQTlCSjtNQWlDSyxnQ0FBd0I7TUFBeEIsaUNBQXdCO01BQXhCLGdDQUF3QjtNQUF4Qix5QkFBd0I7TUFHeEIseUJBQWdCO01BQWhCLDhCQUFnQjtNQUFoQixpQkFBZ0IsRUFDakI7SUFyQ0o7TUF3Q0ssY0FBYSxFQUNkLEVBQUE7O0FuQjNHTDtFbUJrRUM7O0lBSUssaUJBQWdCO0lBQ2hCLGdCQUFlLEVBQ2hCLEVBQUE7O0FuQnJGTDtFbUIrRUE7SUFVSSwrQkFBcUI7SUFBckIsOEJBQXFCO0lBQXJCLDhCQUFxQjtJQUFyQiwwQkFBcUI7SUFBckIsc0JBQXFCO0lBQ3JCLHdCQUEyQjtJQUEzQixvQ0FBMkI7SUFBM0IscUJBQTJCO0lBQTNCLDRCQUEyQixFQWdDOUI7SUEzQ0E7TUFjSywrQkFBbUI7TUFBbkIsOEJBQW1CO01BQW5CLDRCQUFtQjtNQUFuQix3QkFBbUI7TUFBbkIsb0JBQW1CLEVBVXBCO01BeEJKO1FBaUJPLG1CQUFrQixFQUNuQjtNQWxCTjtRQXFCTyxzQjlCeWlCNkI7UThCeGlCN0IscUI5QndpQjZCLEU4QnZpQjlCO0lBdkJOOztNQTZCSywwQkFBaUI7TUFBakIsc0JBQWlCO01BQWpCLGtCQUFpQixFQUNsQjtJQTlCSjtNQWlDSyxnQ0FBd0I7TUFBeEIsaUNBQXdCO01BQXhCLGdDQUF3QjtNQUF4Qix5QkFBd0I7TUFHeEIseUJBQWdCO01BQWhCLDhCQUFnQjtNQUFoQixpQkFBZ0IsRUFDakI7SUFyQ0o7TUF3Q0ssY0FBYSxFQUNkLEVBQUE7O0FuQjNHTDtFbUJrRUM7O0lBSUssaUJBQWdCO0lBQ2hCLGdCQUFlLEVBQ2hCLEVBQUE7O0FuQnJGTDtFbUIrRUE7SUFVSSwrQkFBcUI7SUFBckIsOEJBQXFCO0lBQXJCLDhCQUFxQjtJQUFyQiwwQkFBcUI7SUFBckIsc0JBQXFCO0lBQ3JCLHdCQUEyQjtJQUEzQixvQ0FBMkI7SUFBM0IscUJBQTJCO0lBQTNCLDRCQUEyQixFQWdDOUI7SUEzQ0E7TUFjSywrQkFBbUI7TUFBbkIsOEJBQW1CO01BQW5CLDRCQUFtQjtNQUFuQix3QkFBbUI7TUFBbkIsb0JBQW1CLEVBVXBCO01BeEJKO1FBaUJPLG1CQUFrQixFQUNuQjtNQWxCTjtRQXFCTyxzQjlCeWlCNkI7UThCeGlCN0IscUI5QndpQjZCLEU4QnZpQjlCO0lBdkJOOztNQTZCSywwQkFBaUI7TUFBakIsc0JBQWlCO01BQWpCLGtCQUFpQixFQUNsQjtJQTlCSjtNQWlDSyxnQ0FBd0I7TUFBeEIsaUNBQXdCO01BQXhCLGdDQUF3QjtNQUF4Qix5QkFBd0I7TUFHeEIseUJBQWdCO01BQWhCLDhCQUFnQjtNQUFoQixpQkFBZ0IsRUFDakI7SUFyQ0o7TUF3Q0ssY0FBYSxFQUNkLEVBQUE7O0FBOUNUO0VBZVEsK0JBQXFCO0VBQXJCLDhCQUFxQjtFQUFyQiw4QkFBcUI7RUFBckIsMEJBQXFCO0VBQXJCLHNCQUFxQjtFQUNyQix3QkFBMkI7RUFBM0Isb0NBQTJCO0VBQTNCLHFCQUEyQjtFQUEzQiw0QkFBMkIsRUFnQzlCO0VBaERMOztJQVNVLGlCQUFnQjtJQUNoQixnQkFBZSxFQUNoQjtFQVhUO0lBbUJVLCtCQUFtQjtJQUFuQiw4QkFBbUI7SUFBbkIsNEJBQW1CO0lBQW5CLHdCQUFtQjtJQUFuQixvQkFBbUIsRUFVcEI7SUE3QlQ7TUFzQlksbUJBQWtCLEVBQ25CO0lBdkJYO01BMEJZLHNCOUJ5aUI2QjtNOEJ4aUI3QixxQjlCd2lCNkIsRThCdmlCOUI7RUE1Qlg7O0lBa0NVLDBCQUFpQjtJQUFqQixzQkFBaUI7SUFBakIsa0JBQWlCLEVBQ2xCO0VBbkNUO0lBc0NVLGdDQUF3QjtJQUF4QixpQ0FBd0I7SUFBeEIsZ0NBQXdCO0lBQXhCLHlCQUF3QjtJQUd4Qix5QkFBZ0I7SUFBaEIsOEJBQWdCO0lBQWhCLGlCQUFnQixFQUNqQjtFQTFDVDtJQTZDVSxjQUFhLEVBQ2Q7O0FBWVQ7RUFFSSwwQjlCakxXLEU4QnNMWjtFNUJ2TEQ7STRCcUxJLDBCOUJwTFMsRUVFWjs7QTRCNktIO0VBV00sMEI5QjFMUyxFOEJtTVY7RTVCcE1IO0k0QjhMTSwwQjlCN0xPLEVFRVo7RTRCNktIO0lBa0JRLDBCOUJqTU8sRThCa01SOztBQW5CUDs7OztFQTBCTSwwQjlCek1TLEU4QjBNVjs7QUEzQkw7RUErQkksMEI5QjlNVztFOEIrTVgsaUM5Qi9NVyxFOEJnTlo7O0FBakNIO0VBb0NJLHlQOUI2ZnNSLEU4QjVmdlI7O0FBckNIO0VBd0NJLDBCOUJ2TlcsRThCK05aO0VBaERIO0lBMENNLDBCOUJ6TlMsRThCOE5WO0k1Qi9OSDtNNEI2Tk0sMEI5QjVOTyxFRUVaOztBNEJpT0g7RUFFSSxZOUIvT1csRThCb1BaO0U1QjNPRDtJNEJ5T0ksWTlCbFBTLEVFWVo7O0E0QmlPSDtFQVdNLGdDOUJ4UFMsRThCaVFWO0U1QnhQSDtJNEJrUE0saUM5QjNQTyxFRVlaO0U0QmlPSDtJQWtCUSxpQzlCL1BPLEU4QmdRUjs7QUFuQlA7Ozs7RUEwQk0sWTlCdlFTLEU4QndRVjs7QUEzQkw7RUErQkksZ0M5QjVRVztFOEI2UVgsdUM5QjdRVyxFOEI4UVo7O0FBakNIO0VBb0NJLCtQOUJrY3FSLEU4QmpjdFI7O0FBckNIO0VBd0NJLGdDOUJyUlcsRThCNlJaO0VBaERIO0lBMENNLFk5QnZSUyxFOEI0UlY7STVCblJIO000QmlSTSxZOUIxUk8sRUVZWjs7QTZCZkg7RUFDRSxtQkFBa0I7RUFDbEIscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDZCQUFzQjtFQUF0Qiw4QkFBc0I7RUFBdEIsK0JBQXNCO0VBQXRCLDJCQUFzQjtFQUF0Qix1QkFBc0I7RUFDdEIsYUFBWTtFQUNaLHNCQUFxQjtFQUNyQix1Qi9CSGE7RStCSWIsb0NBQTJCO0VBQTNCLDRCQUEyQjtFQUMzQix1Qy9CS2E7RU9aWCwrQlBxT2dDO0VPck9oQyx1QlBxT2dD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QjNROUIsMEJ3QjJROEI7SXhCMVE5QixtQ3dCMFE4QjtJeEIxUTlCLDJCd0IwUThCLEVBQzdCO0VBdEJMO0lBeUJNLG9CL0J0RDJCLEUrQnVENUI7O0FDOVJMO0VBQ0UscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHdCQUFlO0VBQWYsb0JBQWU7RUFBZixnQkFBZTtFQUNmLHNCaEMyZ0NzQztFZ0MxZ0N0QyxvQmhDNmdDc0M7RWdDNWdDdEMsaUJBQWdCO0VBQ2hCLDBCaENHZ0I7RU9KZCwrQlBxT2dDO0VPck9oQyx1QlBxT2dDLEVnQ2xPbkM7O0FBRUQ7RUFHSSxxQmhDa2dDcUMsRWdDMS9CdEM7RUFYSDtJQU1NLHNCQUFxQjtJQUNyQixzQmhDOC9CbUM7SWdDNy9CbkMsZWhDTFk7SWdDTVosYWhDbWdDdUMsRWdDbGdDeEM7O0FBVkw7RUFvQkksMkJBQTBCLEVBQzNCOztBQXJCSDtFQXdCSSxzQkFBcUIsRUFDdEI7O0FBekJIO0VBNEJJLGVoQ3pCYyxFZ0MwQmY7O0FDdkNIO0VBQ0UscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFN0JHYixnQkFBZTtFQUNmLGlCQUFnQjtFR0FkLCtCUHFPZ0M7RU9yT2hDLHVCUHFPZ0MsRWlDdE9uQzs7QUFFRDtFQUNFLG1CQUFrQjtFQUNsQixlQUFjO0VBQ2Qsd0JqQ3F3QndDO0VpQ3B3QnhDLGtCakM2TitCO0VpQzVOL0Isa0JqQ3d3QnNDO0VpQ3Z3QnRDLGVqQ3dCZTtFaUN2QmYsdUJqQ05hO0VpQ09iLDBCakNKZ0IsRWlDbUJqQjtFQXZCRDtJQVdJLFdBQVU7SUFDVixlakMySjhEO0lpQzFKOUQsc0JBQXFCO0lBQ3JCLDBCakNYYztJaUNZZCxzQmpDWGMsRWlDWWY7RUFoQkg7SUFtQkksV0FBVTtJQUNWLFdqQ2l3QmlDO0lpQ2h3QmpDLHlEakNTYTtJaUNUYixpRGpDU2EsRWlDUmQ7O0FBR0g7RUFHTSxlQUFjO0UxQkNoQix3Q1B1TWdDO0VPdk1oQyxnQ1B1TWdDO0VPdE1oQywyQ1BzTWdDO0VPdE1oQyxtQ1BzTWdDLEVpQ3RNL0I7O0FBTEw7RTFCVkkseUNQcU5nQztFT3JOaEMsaUNQcU5nQztFT3BOaEMsNENQb05nQztFT3BOaEMsb0NQb05nQyxFaUNqTS9COztBQVZMO0VBY0ksV0FBVTtFQUNWLFlqQ3ZDVztFaUN3Q1gsMEJqQ1hhO0VpQ1liLHNCakNaYSxFaUNhZDs7QUFsQkg7RUFxQkksZWpDdkNjO0VpQ3dDZCxxQkFBb0I7RUFFcEIsYUFBWTtFQUNaLHVCakNqRFc7RWlDa0RYLHNCakMvQ2MsRWlDZ0RmOztBQ3ZERDtFQUNFLHdCbEM4d0JzQztFQ25wQnBDLG1CQXRDWTtFaUNuRmQsaUJsQzhONkIsRWtDN045Qjs7QUFJRztFM0J3QkYsdUNQd00rQjtFT3hNL0IsK0JQd00rQjtFT3ZNL0IsMENQdU0rQjtFT3ZNL0Isa0NQdU0rQixFa0M5TjVCOztBQUdEO0UzQktGLHdDUHNOK0I7RU90Ti9CLGdDUHNOK0I7RU9yTi9CLDJDUHFOK0I7RU9yTi9CLG1DUHFOK0IsRWtDek41Qjs7QUFmTDtFQUNFLHdCbEM0d0JxQztFQ2pwQm5DLG9CQXRDWTtFaUNuRmQsaUJsQytONkIsRWtDOU45Qjs7QUFJRztFM0J3QkYsdUNQeU0rQjtFT3pNL0IsK0JQeU0rQjtFT3hNL0IsMENQd00rQjtFT3hNL0Isa0NQd00rQixFa0MvTjVCOztBQUdEO0UzQktGLHdDUHVOK0I7RU92Ti9CLGdDUHVOK0I7RU90Ti9CLDJDUHNOK0I7RU90Ti9CLG1DUHNOK0IsRWtDMU41Qjs7QUNiUDtFQUNFLHNCQUFxQjtFQUNyQixzQm5DMjRCc0M7RUMxMEJwQyxlQUFXO0VrQy9EYixpQm5DbVIrQjtFbUNsUi9CLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIsb0JBQW1CO0VBQ25CLHlCQUF3QjtFNUJSdEIsK0JQcU9nQztFT3JPaEMsdUJQcU9nQztFaUJwTzlCLHNKakJxYjZJO0VpQnJiN0ksOElqQnFiNkk7RWlCcmI3SSx5SWpCcWI2STtFaUJyYjdJLHNJakJxYjZJO0VpQnJiN0ksNEtqQnFiNkksRW1DaGFsSjtFbEJoQkc7SWtCTko7TWxCT00seUJBQWdCO01BQWhCLG9CQUFnQjtNQUFoQixpQkFBZ0IsRWtCZXJCLEVBQUE7RWpDWEM7SWlDR0ksc0JBQXFCLEVqQ0F4QjtFaUNkSDtJQW9CSSxjQUFhLEVBQ2Q7O0FBSUg7RUFDRSxtQkFBa0I7RUFDbEIsVUFBUyxFQUNWOztBQU1EO0VBQ0UscUJuQ2czQnNDO0VtQy8yQnRDLG9CbkMrMkJzQztFT241QnBDLDZCUHM1QnFDO0VPdDVCckMscUJQczVCcUMsRW1DaDNCeEM7O0FBT0M7RUNqREEsWXBDTWE7RW9DTGIsMEJwQ2tDZSxFbUNnQmQ7RWpDcENEO0lrQ1ZJLFlwQ0NTO0lvQ0FULDBCQUFrQyxFbENZckM7RWtDZk87SUFRSixXQUFVO0lBQ1Ysd0RwQ3VCVztJb0N2QlgsZ0RwQ3VCVyxFb0N0Qlo7O0FEb0NIO0VDakRBLFlwQ01hO0VvQ0xiLDBCcENXZ0IsRW1DdUNmO0VqQ3BDRDtJa0NWSSxZcENDUztJb0NBVCwwQkFBa0MsRWxDWXJDO0VrQ2ZPO0lBUUosV0FBVTtJQUNWLDBEcENBWTtJb0NBWixrRHBDQVksRW9DQ2I7O0FEb0NIO0VDakRBLFlwQ01hO0VvQ0xiLDBCcEN5Q2UsRW1DU2Q7RWpDcENEO0lrQ1ZJLFlwQ0NTO0lvQ0FULDBCQUFrQyxFbENZckM7RWtDZk87SUFRSixXQUFVO0lBQ1Ysd0RwQzhCVztJb0M5QlgsZ0RwQzhCVyxFb0M3Qlo7O0FEb0NIO0VDakRBLFlwQ01hO0VvQ0xiLDBCcEMyQ2UsRW1DT2Q7RWpDcENEO0lrQ1ZJLFlwQ0NTO0lvQ0FULDBCQUFrQyxFbENZckM7RWtDZk87SUFRSixXQUFVO0lBQ1YseURwQ2dDVztJb0NoQ1gsaURwQ2dDVyxFb0MvQlo7O0FEb0NIO0VDakRBLGVwQ2VnQjtFb0NkaEIsMEJwQ3dDZSxFbUNVZDtFakNwQ0Q7SWtDVkksZXBDVVk7SW9DVFosMEJBQWtDLEVsQ1lyQztFa0NmTztJQVFKLFdBQVU7SUFDVix3RHBDNkJXO0lvQzdCWCxnRHBDNkJXLEVvQzVCWjs7QURvQ0g7RUNqREEsWXBDTWE7RW9DTGIsMEJwQ3NDZSxFbUNZZDtFakNwQ0Q7SWtDVkksWXBDQ1M7SW9DQVQsMEJBQWtDLEVsQ1lyQztFa0NmTztJQVFKLFdBQVU7SUFDVix3RHBDMkJXO0lvQzNCWCxnRHBDMkJXLEVvQzFCWjs7QURvQ0g7RUNqREEsZXBDZWdCO0VvQ2RoQiwwQnBDTWdCLEVtQzRDZjtFakNwQ0Q7SWtDVkksZXBDVVk7SW9DVFosMEJBQWtDLEVsQ1lyQztFa0NmTztJQVFKLFdBQVU7SUFDViwwRHBDTFk7SW9DS1osa0RwQ0xZLEVvQ01iOztBRG9DSDtFQ2pEQSxZcENNYTtFb0NMYiwwQnBDYWdCLEVtQ3FDZjtFakNwQ0Q7SWtDVkksWXBDQ1M7SW9DQVQsMEJBQWtDLEVsQ1lyQztFa0NmTztJQVFKLFdBQVU7SUFDVix1RHBDRVk7SW9DRlosK0NwQ0VZLEVvQ0RiOztBQ2RMO0VBQ0UsbUJBQW9EO0VBQ3BELG9CckMweUJzQztFcUN4eUJ0QywwQnJDS2dCO0VPSmQsOEJQc08rQjtFT3RPL0Isc0JQc08rQixFcUNqT2xDO0UxQmtERztJMEI1REo7TUFRSSxtQnJDb3lCb0MsRXFDbHlCdkMsRUFBQTs7QUFFRDtFQUNFLGlCQUFnQjtFQUNoQixnQkFBZTtFOUJUYix5QjhCVXNCO0U5QlZ0QixpQjhCVXNCLEVBQ3pCOztBQ1pEO0VBQ0UsbUJBQWtCO0VBQ2xCLHlCdENtOEJ5QztFc0NsOEJ6QyxvQnRDbThCc0M7RXNDbDhCdEMsOEJBQTZDO0UvQkgzQywrQlBxT2dDO0VPck9oQyx1QlBxT2dDLEVzQ2hPbkM7O0FBR0Q7RUFFRSxlQUFjLEVBQ2Y7O0FBR0Q7RUFDRSxpQnRDd1ErQixFc0N2UWhDOztBQU9EO0VBQ0Usb0JBQXNELEVBVXZEO0VBWEQ7SUFLSSxtQkFBa0I7SUFDbEIsT0FBTTtJQUNOLFNBQVE7SUFDUix5QnRDcTZCdUM7SXNDcDZCdkMsZUFBYyxFQUNmOztBQVNEO0VDOUNBLGV4Qm1GZ0U7RUk5RTlELDBCSjhFOEQ7RXdCakZoRSxzQnhCaUZnRSxFdUJuQy9EO0VDNUNEO0lBQ0UsMEJBQXFDLEVBQ3RDO0VBRUQ7SUFDRSxlQUEwQixFQUMzQjs7QURvQ0Q7RUM5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R3RCLGdCQUFlO0VBQ2YsaUJBQWdCLEVBQ2pCOztBQVFEO0VBQ0UsWUFBVztFQUNYLGUxQ1BnQjtFMENRaEIsb0JBQW1CLEVBY3BCO0V4Q3BCQztJd0NVRSxXQUFVO0lBQ1YsZTFDYmM7STBDY2Qsc0JBQXFCO0lBQ3JCLDBCMUNyQmMsRUVXZjtFd0NBSDtJQWNJLGUxQ2pCYztJMENrQmQsMEIxQ3pCYyxFMEMwQmY7O0FBUUg7RUFDRSxtQkFBa0I7RUFDbEIsZUFBYztFQUNkLHlCMUM0N0J5QztFMEMxN0J6QyxvQjFDdUwrQjtFMENyTC9CLHVCMUMzQ2E7RTBDNENiLHVDMUNsQ2EsRTBDMkRkO0VBakNEO0luQzdCSSx3Q1A0TmdDO0lPNU5oQyxnQ1A0TmdDO0lPM05oQyx5Q1AyTmdDO0lPM05oQyxpQ1AyTmdDLEUwQ25MakM7RUFaSDtJQWVJLGlCQUFnQjtJbkM5QmhCLDRDUDhNZ0M7SU85TWhDLG9DUDhNZ0M7SU83TWhDLDJDUDZNZ0M7SU83TWhDLG1DUDZNZ0MsRTBDOUtqQztFQWpCSDtJQXFCSSxlMUNuRGM7STBDb0RkLHFCQUFvQjtJQUNwQix1QjFDM0RXLEUwQzREWjtFQXhCSDtJQTRCSSxXQUFVO0lBQ1YsWTFDakVXO0kwQ2tFWCwwQjFDckNhO0kwQ3NDYixzQjFDdENhLEUwQ3VDZDs7QUFZQztFQUNFLCtCQUFtQjtFQUFuQiw4QkFBbUI7RUFBbkIsNEJBQW1CO0VBQW5CLHdCQUFtQjtFQUFuQixvQkFBbUIsRUFpQnBCO0VBbEJEO0lBSUksbUIxQzRJeUI7STBDM0l6QixpQkFBZ0IsRUFZakI7SUFqQkg7TW5DcERBLHdDUHVNZ0M7TU92TWhDLGdDUHVNZ0M7TU90TWhDLDJDUHNNZ0M7TU90TWhDLG1DUHNNZ0M7TU8xTGhDLG1DbUNnRHdDO01uQ2hEeEMsMkJtQ2dEd0MsRUFDbkM7SUFWTDtNQWFNLGdCQUFlO01uQy9FckIseUNQcU5nQztNT3JOaEMsaUNQcU5nQztNT3BOaEMsNENQb05nQztNT3BOaEMsb0NQb05nQztNTzlLaEMscUNtQzBDMEM7TW5DMUMxQyw2Qm1DMEMwQyxFQUNyQzs7QS9CM0NMO0UrQjJCQTtJQUNFLCtCQUFtQjtJQUFuQiw4QkFBbUI7SUFBbkIsNEJBQW1CO0lBQW5CLHdCQUFtQjtJQUFuQixvQkFBbUIsRUFpQnBCO0lBbEJEO01BSUksbUIxQzRJeUI7TTBDM0l6QixpQkFBZ0IsRUFZakI7TUFqQkg7UW5DcERBLHdDUHVNZ0M7UU92TWhDLGdDUHVNZ0M7UU90TWhDLDJDUHNNZ0M7UU90TWhDLG1DUHNNZ0M7UU8xTGhDLG1DbUNnRHdDO1FuQ2hEeEMsMkJtQ2dEd0MsRUFDbkM7TUFWTDtRQWFNLGdCQUFlO1FuQy9FckIseUNQcU5nQztRT3JOaEMsaUNQcU5nQztRT3BOaEMsNENQb05nQztRT3BOaEMsb0NQb05nQztRTzlLaEMscUNtQzBDMEM7UW5DMUMxQyw2Qm1DMEMwQyxFQUNyQyxFQUFBOztBL0IzQ0w7RStCMkJBO0lBQ0UsK0JBQW1CO0lBQW5CLDhCQUFtQjtJQUFuQiw0QkFBbUI7SUFBbkIsd0JBQW1CO0lBQW5CLG9CQUFtQixFQWlCcEI7SUFsQkQ7TUFJSSxtQjFDNEl5QjtNMEMzSXpCLGlCQUFnQixFQVlqQjtNQWpCSDtRbkNwREEsd0NQdU1nQztRT3ZNaEMsZ0NQdU1nQztRT3RNaEMsMkNQc01nQztRT3RNaEMsbUNQc01nQztRTzFMaEMsbUNtQ2dEd0M7UW5DaER4QywyQm1DZ0R3QyxFQUNuQztNQVZMO1FBYU0sZ0JBQWU7UW5DL0VyQix5Q1BxTmdDO1FPck5oQyxpQ1BxTmdDO1FPcE5oQyw0Q1BvTmdDO1FPcE5oQyxvQ1BvTmdDO1FPOUtoQyxxQ21DMEMwQztRbkMxQzFDLDZCbUMwQzBDLEVBQ3JDLEVBQUE7O0EvQjNDTDtFK0IyQkE7SUFDRSwrQkFBbUI7SUFBbkIsOEJBQW1CO0lBQW5CLDRCQUFtQjtJQUFuQix3QkFBbUI7SUFBbkIsb0JBQW1CLEVBaUJwQjtJQWxCRDtNQUlJLG1CMUM0SXlCO00wQzNJekIsaUJBQWdCLEVBWWpCO01BakJIO1FuQ3BEQSx3Q1B1TWdDO1FPdk1oQyxnQ1B1TWdDO1FPdE1oQywyQ1BzTWdDO1FPdE1oQyxtQ1BzTWdDO1FPMUxoQyxtQ21DZ0R3QztRbkNoRHhDLDJCbUNnRHdDLEVBQ25DO01BVkw7UUFhTSxnQkFBZTtRbkMvRXJCLHlDUHFOZ0M7UU9yTmhDLGlDUHFOZ0M7UU9wTmhDLDRDUG9OZ0M7UU9wTmhDLG9DUG9OZ0M7UU85S2hDLHFDbUMwQzBDO1FuQzFDMUMsNkJtQzBDMEMsRUFDckMsRUFBQTs7QS9CM0NMO0UrQjJCQTtJQUNFLCtCQUFtQjtJQUFuQiw4QkFBbUI7SUFBbkIsNEJBQW1CO0lBQW5CLHdCQUFtQjtJQUFuQixvQkFBbUIsRUFpQnBCO0lBbEJEO01BSUksbUIxQzRJeUI7TTBDM0l6QixpQkFBZ0IsRUFZakI7TUFqQkg7UW5DcERBLHdDUHVNZ0M7UU92TWhDLGdDUHVNZ0M7UU90TWhDLDJDUHNNZ0M7UU90TWhDLG1DUHNNZ0M7UU8xTGhDLG1DbUNnRHdDO1FuQ2hEeEMsMkJtQ2dEd0MsRUFDbkM7TUFWTDtRQWFNLGdCQUFlO1FuQy9FckIseUNQcU5nQztRT3JOaEMsaUNQcU5nQztRT3BOaEMsNENQb05nQztRT3BOaEMsb0NQb05nQztRTzlLaEMscUNtQzBDMEM7UW5DMUMxQyw2Qm1DMEMwQyxFQUNyQyxFQUFBOztBQVlUO0VBRUksZ0JBQWU7RUFDZixlQUFjO0VuQ2pIZCx5Qm1Da0h3QjtFbkNsSHhCLGlCbUNrSHdCLEVBS3pCO0VBVEg7SUFPTSxvQjFDNkcyQixFMEM1RzVCOztBQVJMO0VBYU0sY0FBYSxFQUNkOztBQWRMO0VBbUJNLGlCQUFnQjtFQUNoQixpQkFBZ0IsRUFDakI7O0FDcklIO0VBQ0UsZTVCZ0Y4RDtFNEIvRTlELDBCNUIrRThELEU0QmpFL0Q7RXpDSEQ7SXlDUE0sZTVCMkUwRDtJNEIxRTFELDBCQUF5QyxFekNTOUM7RXlDaEJEO0lBV00sWTNDUE87STJDUVAsMEI1QnFFMEQ7STRCcEUxRCxzQjVCb0UwRCxFNEJuRTNEOztBQWRMO0VBQ0UsZTVCZ0Y4RDtFNEIvRTlELDBCNUIrRThELEU0QmpFL0Q7RXpDSEQ7SXlDUE0sZTVCMkUwRDtJNEIxRTFELDBCQUF5QyxFekNTOUM7RXlDaEJEO0lBV00sWTNDUE87STJDUVAsMEI1QnFFMEQ7STRCcEUxRCxzQjVCb0UwRCxFNEJuRTNEOztBQWRMO0VBQ0UsZTVCZ0Y4RDtFNEIvRTlELDBCNUIrRThELEU0QmpFL0Q7RXpDSEQ7SXlDUE0sZTVCMkUwRDtJNEIxRTFELDBCQUF5QyxFekNTOUM7RXlDaEJEO0lBV00sWTNDUE87STJDUVAsMEI1QnFFMEQ7STRCcEUxRCxzQjVCb0UwRCxFNEJuRTNEOztBQWRMO0VBQ0UsZTVCZ0Y4RDtFNEIvRTlELDBCNUIrRThELEU0QmpFL0Q7RXpDSEQ7SXlDUE0sZTVCMkUwRDtJNEIxRTFELDBCQUF5QyxFekNTOUM7RXlDaEJEO0lBV00sWTNDUE87STJDUVAsMEI1QnFFMEQ7STRCcEUxRCxzQjVCb0UwRCxFNEJuRTNEOztBQWRMO0VBQ0UsZTVCZ0Y4RDtFNEIvRTlELDBCNUIrRThELEU0QmpFL0Q7RXpDSEQ7SXlDUE0sZTVCMkUwRDtJNEIxRTFELDBCQUF5QyxFekNTOUM7RXlDaEJEO0lBV00sWTNDUE87STJDUVAsMEI1QnFFMEQ7STRCcEUxRCxzQjVCb0UwRCxFNEJuRTNEOztBQWRMO0VBQ0UsZTVCZ0Y4RDtFNEIvRTlELDBCNUIrRThELEU0QmpFL0Q7RXpDSEQ7SXlDUE0sZTVCMkUwRDtJNEIxRTFELDBCQUF5QyxFekNTOUM7RXlDaEJEO0lBV00sWTNDUE87STJDUVAsMEI1QnFFMEQ7STRCcEUxRCxzQjVCb0UwRCxFNEJuRTNEOztBQWRMO0VBQ0UsZTVCZ0Y4RDtFNEIvRTlELDBCNUIrRThELEU0QmpFL0Q7RXpDSEQ7SXlDUE0sZTVCMkUwRDtJNEIxRTFELDBCQUF5QyxFekNTOUM7RXlDaEJEO0lBV00sWTNDUE87STJDUVAsMEI1QnFFMEQ7STRCcEUxRCxzQjVCb0UwRCxFNEJuRTNEOztBQWRMO0VBQ0UsZTVCZ0Y4RDtFNEIvRTlELDBCNUIrRThELEU0QmpFL0Q7RXpDSEQ7SXlDUE0sZTVCMkUwRDtJNEIxRTFELDBCQUF5QyxFekNTOUM7RXlDaEJEO0lBV00sWTNDUE87STJDUVAsMEI1QnFFMEQ7STRCcEUxRCxzQjVC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Q2lEeEQ7RThDakRFO0lBQXdCLHlCQUEwQixFQUFJO0VBQXREO0lBQXdCLDJCQUEwQixFQUFJO0VBQXREO0lBQXdCLGlDQUEwQixFQUFJO0VBQXREO0lBQXdCLDBCQUEwQixFQUFJO0VBQXREO0lBQXdCLDBCQUEwQixFQUFJO0VBQXREO0lBQXdCLDhCQUEwQixFQUFJO0VBQXREO0lBQXdCLCtCQUEwQixFQUFJO0VBQXREO0lBQXdCLGdDQUEwQjtJQUExQixpQ0FBMEI7SUFBMUIsZ0NBQTBCO0lBQTFCLHlCQUEwQixFQUFJO0VBQXREO0lBQXdCLHVDQUEwQjtJQUExQix3Q0FBMEI7SUFBMUIsdUNBQTBCO0lBQTFCLGdDQUEwQixFQUFJLEVBQUE7O0E5Q2lEeEQ7RThDakRFO0lBQXdCLHlCQUEwQixFQUFJO0VBQXREO0lBQXdCLDJCQUEwQixFQUFJO0VBQXREO0lBQXdCLGlDQUEwQixFQUFJO0VBQXREO0lBQXdCLDBCQUEwQixFQUFJO0VBQXREO0lBQXdCLDBCQUEwQixFQUFJO0VBQXREO0lBQXdCLDhCQUEwQixFQUFJO0VBQXREO0lBQXdCLCtCQUEwQixFQUFJO0VBQXREO0lBQXdCLGdDQUEwQjtJQUExQixpQ0FBMEI7SUFBMUIsZ0NBQTBCO0lBQTFCLHlCQUEwQixFQUFJO0VBQXREO0lBQXdCLHVDQUEwQjtJQUExQix3Q0FBMEI7SUFBMUIsdUNBQTBCO0lBQTFCLGdDQUEwQixFQUFJLEVBQUE7O0E5Q2lEeEQ7RThDakRFO0lBQXdCLHlCQUEwQixFQUFJO0VBQXREO0lBQXdCLDJCQUEwQixFQUFJO0VBQXREO0lBQXdCLGlDQUEwQixFQUFJO0VBQXREO0lBQXdCLDBCQUEwQixFQUFJO0VBQXREO0lBQXdCLDBCQUEwQixFQUFJO0VBQXREO0lBQXdCLDhCQUEwQixFQUFJO0VBQXREO0lBQXdCLCtCQUEwQixFQUFJO0VBQXREO0lBQXdCLGdDQUEwQjtJQUExQixpQ0FBMEI7SUFBMUIsZ0NBQTBCO0lBQTFCLHlCQUEwQixFQUFJO0VBQXREO0lBQXdCLHVDQUEwQjtJQUExQix3Q0FBMEI7SUFBMUIsdUNBQTBC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QWtCLEVBS25CO0lSMTJCRDtNUTQxQkY7UUFZTSxlQUFjLEVBRWpCLEVBQUE7O0FDdDZCSDtFQUNFLGVBSG9CO0VBSXBCLG1CQUFrQjtFSmdQZCxpQkF2RStCO0VJdktuQyxtQkFBa0I7RUFDbEIsb0JBTnVCO0VBT3ZCLGtCQUFpQixFQTJDbEI7RUExQ0M7SUFDRSxrQkFBaUI7SUFDakIsbUJBQWtCLEVBcUJuQjtJVDhCRDtNU3JEQTtRQUlJLGdCQUFlLEVBbUJsQixFQUFBO0lBdkJBO01BUUcsZUFqQmdCO01Ba0JoQixzQkFBcUIsRUFhdEI7TUF0QkY7UUFXSyxnQkFBZTtRQUNmLGVBQWM7UUFDZCxrQkFBaUI7UUFDakIsZUFBYyxFQU9mO1FBckJKO1VBbUJPLGVBQWMsRUFDZjtFQTNCVDtJQWlDSSxxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsZUFwQ2tCO0lBcUNsQixnQkFBZTtJQUNmLHlCQUF1QjtJQUF2QixnQ0FBdUI7SUFBdkIsc0JBQXVCO0lBQXZCLHdCQUF1QjtJQUN2QixtQkFBa0IsRUFDbkI7RUF0Q0g7SUF3Q0ksYUFBWTtJQUNaLGtCQUFpQjtJQUNqQixrQkFBaUIsRUFDbEI7RUEzQ0g7SUE4Q0ksYUFBWTtJQUNaLG1CQUFrQixFQUNuQiIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKi0gR2xvYmFsIFZhcmlhYmxlcyAtKi9cbiRtYWluQ29sb3I6ICMwMTAxMDE7XG4kbWFpbkxpbmtDb2xvcjogIzA0NDU5YjtcbiRtYWluTGlua0NvbG9yLWhvdmVyOiBsaWdodGVuKCRtYWluTGlua0NvbG9yLCAxMCUpO1xuJGJhY2tncm91bmRDb2xvcjogI2Y4ZjJmMDtcbiRmb250U2l6ZUh0bWxUYWc6IDE2cHg7XG4kZm9udFNpemU6IDFyZW07IC8vID09IDE2cHhcbiRmb250Tm9ybWFsOiA0MDA7XG4kZm9udEJvbGQ6IDUwMDtcbiRmb250Qm9sZGVyOiA3MDA7XG4kbGluZUhlaWdodDogMS41O1xuJGZvbnRGYW1pbHk6IFNGO1xuXG5cbiRncmlkLWd1dHRlci13aWR0aDogMTBweDtcbiRjb250YWluZXItd2lkdGg6IDk4MnB4O1xuXG4uY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAkY29udGFpbmVyLXdpZHRoICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkY29udGFpbmVyLXdpZHRoICFpbXBvcnRhbnQ7XG59IiwiKiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tcy1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5cbmJvZHkge1xuXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVTcGVlZDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBtYXJnaW46IDA7XG59XG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMwMDg4ZmY7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyOiAwO1xufVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgbWFyZ2luOiAwO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCAjMDA4OGZmO1xufVxuXG5idXR0b24ge1xuXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxufVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVyZW0gMC43NXJlbSAwLjYyNXJlbTtcbn1cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgZm9udDogaW5oZXJpdDtcbn1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuaWZyYW1lIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuXG5cbnVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG59XG5cbmZpZ3VyZSB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbltjbGFzcyAqPVwiaWNvbnMtXCJdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufSIsIi8qLSBHbG9iYWwgVmFyaWFibGVzIC0qL1xuLmNvbnRhaW5lciwgLmhlYWRlci1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDk4MnB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiA5ODJweCAhaW1wb3J0YW50OyB9XG5cbioge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbXMtYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5ib2R5IHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG1hcmdpbjogMDsgfVxuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFyZW07IH1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjMDA4OGZmO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlcjogMDsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgbWFyZ2luOiAwOyB9XG4gIGJ1dHRvbjpmb2N1cyxcbiAgaW5wdXQ6Zm9jdXMsXG4gIG9wdGdyb3VwOmZvY3VzLFxuICBzZWxlY3Q6Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCAjMDA4OGZmOyB9XG5cbmJ1dHRvbjphY3RpdmUsIGJ1dHRvbi5uaWNlLXNlbGVjdC5vcGVuLCBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IG5vbmU7IH1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1cmVtIDAuNzVyZW0gMC42MjVyZW07IH1cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IH1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBmb250OiBpbmhlcml0OyB9XG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuaWZyYW1lIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbnVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIHVsIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuW2NsYXNzKj1cImljb25zLVwiXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiFcbiAqIEJvb3RzdHJhcCB2NC4zLjEgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDE5IFRoZSBCb290c3RyYXAgQXV0aG9yc1xuICogQ29weXJpZ2h0IDIwMTEtMjAxOSBUd2l0dGVyLCBJbmMuXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKVxuICovXG46cm9vdCB7XG4gIC0tYmx1ZTogIzAwN2JmZjtcbiAgLS1pbmRpZ286ICM2NjEwZjI7XG4gIC0tcHVycGxlOiAjNmY0MmMxO1xuICAtLXBpbms6ICNlODNlOGM7XG4gIC0tcmVkOiAjZGMzNTQ1O1xuICAtLW9yYW5nZTogI2ZkN2UxNDtcbiAgLS15ZWxsb3c6ICNmZmMxMDc7XG4gIC0tZ3JlZW46ICMyOGE3NDU7XG4gIC0tdGVhbDogIzIwYzk5NztcbiAgLS1jeWFuOiAjMTdhMmI4O1xuICAtLXdoaXRlOiAjZmZmO1xuICAtLWdyYXk6ICM2Yzc1N2Q7XG4gIC0tZ3JheS1kYXJrOiAjMzQzYTQwO1xuICAtLXByaW1hcnk6ICMwMDdiZmY7XG4gIC0tc2Vjb25kYXJ5OiAjNmM3NTdkO1xuICAtLXN1Y2Nlc3M6ICMyOGE3NDU7XG4gIC0taW5mbzogIzE3YTJiODtcbiAgLS13YXJuaW5nOiAjZmZjMTA3O1xuICAtLWRhbmdlcjogI2RjMzU0NTtcbiAgLS1saWdodDogI2Y4ZjlmYTtcbiAgLS1kYXJrOiAjMzQzYTQwO1xuICAtLWJyZWFrcG9pbnQteHM6IDA7XG4gIC0tYnJlYWtwb2ludC1zbTogNTc2cHg7XG4gIC0tYnJlYWtwb2ludC1tZDogNzY4cHg7XG4gIC0tYnJlYWtwb2ludC1sZzogOTkycHg7XG4gIC0tYnJlYWtwb2ludC14bDogMTIwMHB4O1xuICAtLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6IFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgfVxuXG5hcnRpY2xlLCBhc2lkZSwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50OyB9XG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyB9XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtLjVlbTsgfVxuXG5hIHtcbiAgY29sb3I6ICMwMDdiZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgYTpob3ZlciB7XG4gICAgY29sb3I6ICMwMDU2YjM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIGE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pOmhvdmVyLCBhOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpmb2N1cyB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIGE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbnByZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbnN2ZyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4gIGNvbG9yOiAjNmM3NTdkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTsgfVxuXG50aCB7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQ7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjsgfVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuc2VsZWN0IHtcbiAgd29yZC13cmFwOiBub3JtYWw7IH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG5idXR0b246bm90KDpkaXNhYmxlZCksXG5bdHlwZT1cImJ1dHRvblwiXTpub3QoOmRpc2FibGVkKSxcblt0eXBlPVwicmVzZXRcIl06bm90KDpkaXNhYmxlZCksXG5bdHlwZT1cInN1Ym1pdFwiXTpub3QoOmRpc2FibGVkKSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwOyB9XG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7IH1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbiAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuXG5maWVsZHNldCB7XG4gIG1pbi13aWR0aDogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBmb250OiBpbmhlcml0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiAyLjVyZW07IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMnJlbTsgfVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAxLjc1cmVtOyB9XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbmg2LCAuaDYge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLmRpc3BsYXktMSB7XG4gIGZvbnQtc2l6ZTogNnJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4uZGlzcGxheS0yIHtcbiAgZm9udC1zaXplOiA1LjVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuLmRpc3BsYXktMyB7XG4gIGZvbnQtc2l6ZTogNC41cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbi5kaXNwbGF5LTQge1xuICBmb250LXNpemU6IDMuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG5ociB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG5zbWFsbCxcbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6IDAuMmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOyB9XG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5saXN0LWlubGluZSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubGlzdC1pbmxpbmUtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4uaW5pdGlhbGlzbSB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICM2Yzc1N2Q7IH1cbiAgLmJsb2NrcXVvdGUtZm9vdGVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0XFwwMEEwXCI7IH1cblxuLmltZy1mbHVpZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmZpZ3VyZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAjNmM3NTdkOyB9XG5cbmNvZGUge1xuICBmb250LXNpemU6IDg3LjUlO1xuICBjb2xvcjogI2U4M2U4YztcbiAgd29yZC1icmVhazogYnJlYWstd29yZDsgfVxuICBhID4gY29kZSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxua2JkIHtcbiAgcGFkZGluZzogMC4ycmVtIDAuNHJlbTtcbiAgZm9udC1zaXplOiA4Ny41JTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTI1Mjk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbTsgfVxuICBrYmQga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDg3LjUlO1xuICBjb2xvcjogIzIxMjUyOTsgfVxuICBwcmUgY29kZSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDsgfVxuXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAzNDBweDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5jb250YWluZXIsIC5oZWFkZXItY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgLmNvbnRhaW5lciwgLmhlYWRlci1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA1NDBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb250YWluZXIsIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogNzIwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY29udGFpbmVyLCAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDk2MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5jb250YWluZXIsIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTE0MHB4OyB9IH1cblxuLmNvbnRhaW5lci1mbHVpZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLTVweDtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7IH1cblxuLm5vLWd1dHRlcnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5uby1ndXR0ZXJzID4gLmNvbCxcbiAgLm5vLWd1dHRlcnMgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLmNvbC0xLCAuY29sLTIsIC5jb2wtMywgLmNvbC00LCAuY29sLTUsIC5jb2wtNiwgLmNvbC03LCAuY29sLTgsIC5jb2wtOSwgLmNvbC0xMCwgLmNvbC0xMSwgLmNvbC0xMiwgLmNvbCxcbi5jb2wtYXV0bywgLmNvbC1zbS0xLCAuY29sLXNtLTIsIC5jb2wtc20tMywgLmNvbC1zbS00LCAuY29sLXNtLTUsIC5jb2wtc20tNiwgLmNvbC1zbS03LCAuY29sLXNtLTgsIC5jb2wtc20tOSwgLmNvbC1zbS0xMCwgLmNvbC1zbS0xMSwgLmNvbC1zbS0xMiwgLmNvbC1zbSxcbi5jb2wtc20tYXV0bywgLmNvbC1tZC0xLCAuY29sLW1kLTIsIC5jb2wtbWQtMywgLmNvbC1tZC00LCAuY29sLW1kLTUsIC5jb2wtbWQtNiwgLmNvbC1tZC03LCAuY29sLW1kLTgsIC5jb2wtbWQtOSwgLmNvbC1tZC0xMCwgLmNvbC1tZC0xMSwgLmNvbC1tZC0xMiwgLmNvbC1tZCxcbi5jb2wtbWQtYXV0bywgLmNvbC1sZy0xLCAuY29sLWxnLTIsIC5jb2wtbGctMywgLmNvbC1sZy00LCAuY29sLWxnLTUsIC5jb2wtbGctNiwgLmNvbC1sZy03LCAuY29sLWxnLTgsIC5jb2wtbGctOSwgLmNvbC1sZy0xMCwgLmNvbC1sZy0xMSwgLmNvbC1sZy0xMiwgLmNvbC1sZyxcbi5jb2wtbGctYXV0bywgLmNvbC14bC0xLCAuY29sLXhsLTIsIC5jb2wteGwtMywgLmNvbC14bC00LCAuY29sLXhsLTUsIC5jb2wteGwtNiwgLmNvbC14bC03LCAuY29sLXhsLTgsIC5jb2wteGwtOSwgLmNvbC14bC0xMCwgLmNvbC14bC0xMSwgLmNvbC14bC0xMiwgLmNvbC14bCxcbi5jb2wteGwtYXV0byB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7IH1cblxuLmNvbCB7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5jb2wtYXV0byB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5jb2wtMSB7XG4gIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uY29sLTIge1xuICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uY29sLTMge1xuICBmbGV4OiAwIDAgMjUlO1xuICBtYXgtd2lkdGg6IDI1JTsgfVxuXG4uY29sLTQge1xuICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uY29sLTUge1xuICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uY29sLTYge1xuICBmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uY29sLTcge1xuICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uY29sLTgge1xuICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uY29sLTkge1xuICBmbGV4OiAwIDAgNzUlO1xuICBtYXgtd2lkdGg6IDc1JTsgfVxuXG4uY29sLTEwIHtcbiAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cblxuLmNvbC0xMSB7XG4gIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG5cbi5jb2wtMTIge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5vcmRlci1maXJzdCB7XG4gIG9yZGVyOiAtMTsgfVxuXG4ub3JkZXItbGFzdCB7XG4gIG9yZGVyOiAxMzsgfVxuXG4ub3JkZXItMCB7XG4gIG9yZGVyOiAwOyB9XG5cbi5vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLm9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4ub3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLm9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4ub3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbi5vcmRlci03IHtcbiAgb3JkZXI6IDc7IH1cblxuLm9yZGVyLTgge1xuICBvcmRlcjogODsgfVxuXG4ub3JkZXItOSB7XG4gIG9yZGVyOiA5OyB9XG5cbi5vcmRlci0xMCB7XG4gIG9yZGVyOiAxMDsgfVxuXG4ub3JkZXItMTEge1xuICBvcmRlcjogMTE7IH1cblxuLm9yZGVyLTEyIHtcbiAgb3JkZXI6IDEyOyB9XG5cbi5vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4ub2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLm9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4ub2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLm9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4ub2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLm9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLm9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jb2wtc20ge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuY29sLXNtLWF1dG8ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuY29sLXNtLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5jb2wtc20tMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuY29sLXNtLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmNvbC1zbS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5jb2wtc20tNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuY29sLXNtLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmNvbC1zbS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5jb2wtc20tOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuY29sLXNtLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLmNvbC1zbS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuY29sLXNtLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5jb2wtc20tMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAub3JkZXItc20tZmlyc3Qge1xuICAgIG9yZGVyOiAtMTsgfVxuICAub3JkZXItc20tbGFzdCB7XG4gICAgb3JkZXI6IDEzOyB9XG4gIC5vcmRlci1zbS0wIHtcbiAgICBvcmRlcjogMDsgfVxuICAub3JkZXItc20tMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm9yZGVyLXNtLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5vcmRlci1zbS0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAub3JkZXItc20tNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm9yZGVyLXNtLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5vcmRlci1zbS02IHtcbiAgICBvcmRlcjogNjsgfVxuICAub3JkZXItc20tNyB7XG4gICAgb3JkZXI6IDc7IH1cbiAgLm9yZGVyLXNtLTgge1xuICAgIG9yZGVyOiA4OyB9XG4gIC5vcmRlci1zbS05IHtcbiAgICBvcmRlcjogOTsgfVxuICAub3JkZXItc20tMTAge1xuICAgIG9yZGVyOiAxMDsgfVxuICAub3JkZXItc20tMTEge1xuICAgIG9yZGVyOiAxMTsgfVxuICAub3JkZXItc20tMTIge1xuICAgIG9yZGVyOiAxMjsgfVxuICAub2Zmc2V0LXNtLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5vZmZzZXQtc20tMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5vZmZzZXQtc20tMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAub2Zmc2V0LXNtLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm9mZnNldC1zbS00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5vZmZzZXQtc20tNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAub2Zmc2V0LXNtLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm9mZnNldC1zbS03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5vZmZzZXQtc20tOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAub2Zmc2V0LXNtLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm9mZnNldC1zbS0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAub2Zmc2V0LXNtLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2wtbWQge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuY29sLW1kLWF1dG8ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuY29sLW1kLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5jb2wtbWQtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuY29sLW1kLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmNvbC1tZC00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5jb2wtbWQtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuY29sLW1kLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmNvbC1tZC03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5jb2wtbWQtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuY29sLW1kLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLmNvbC1tZC0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuY29sLW1kLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5jb2wtbWQtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAub3JkZXItbWQtZmlyc3Qge1xuICAgIG9yZGVyOiAtMTsgfVxuICAub3JkZXItbWQtbGFzdCB7XG4gICAgb3JkZXI6IDEzOyB9XG4gIC5vcmRlci1tZC0wIHtcbiAgICBvcmRlcjogMDsgfVxuICAub3JkZXItbWQtMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm9yZGVyLW1kLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5vcmRlci1tZC0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAub3JkZXItbWQtNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm9yZGVyLW1kLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5vcmRlci1tZC02IHtcbiAgICBvcmRlcjogNjsgfVxuICAub3JkZXItbWQtNyB7XG4gICAgb3JkZXI6IDc7IH1cbiAgLm9yZGVyLW1kLTgge1xuICAgIG9yZGVyOiA4OyB9XG4gIC5vcmRlci1tZC05IHtcbiAgICBvcmRlcjogOTsgfVxuICAub3JkZXItbWQtMTAge1xuICAgIG9yZGVyOiAxMDsgfVxuICAub3JkZXItbWQtMTEge1xuICAgIG9yZGVyOiAxMTsgfVxuICAub3JkZXItbWQtMTIge1xuICAgIG9yZGVyOiAxMjsgfVxuICAub2Zmc2V0LW1kLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5vZmZzZXQtbWQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5vZmZzZXQtbWQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAub2Zmc2V0LW1kLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm9mZnNldC1tZC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5vZmZzZXQtbWQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAub2Zmc2V0LW1kLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm9mZnNldC1tZC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5vZmZzZXQtbWQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAub2Zmc2V0LW1kLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm9mZnNldC1tZC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAub2Zmc2V0LW1kLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb2wtbGcge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuY29sLWxnLWF1dG8ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuY29sLWxnLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5jb2wtbGctMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuY29sLWxnLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmNvbC1sZy00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5jb2wtbGctNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuY29sLWxnLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmNvbC1sZy03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5jb2wtbGctOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuY29sLWxnLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLmNvbC1sZy0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuY29sLWxnLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5jb2wtbGctMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAub3JkZXItbGctZmlyc3Qge1xuICAgIG9yZGVyOiAtMTsgfVxuICAub3JkZXItbGctbGFzdCB7XG4gICAgb3JkZXI6IDEzOyB9XG4gIC5vcmRlci1sZy0wIHtcbiAgICBvcmRlcjogMDsgfVxuICAub3JkZXItbGctMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm9yZGVyLWxnLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5vcmRlci1sZy0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAub3JkZXItbGctNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm9yZGVyLWxnLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5vcmRlci1sZy02IHtcbiAgICBvcmRlcjogNjsgfVxuICAub3JkZXItbGctNyB7XG4gICAgb3JkZXI6IDc7IH1cbiAgLm9yZGVyLWxnLTgge1xuICAgIG9yZGVyOiA4OyB9XG4gIC5vcmRlci1sZy05IHtcbiAgICBvcmRlcjogOTsgfVxuICAub3JkZXItbGctMTAge1xuICAgIG9yZGVyOiAxMDsgfVxuICAub3JkZXItbGctMTEge1xuICAgIG9yZGVyOiAxMTsgfVxuICAub3JkZXItbGctMTIge1xuICAgIG9yZGVyOiAxMjsgfVxuICAub2Zmc2V0LWxnLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5vZmZzZXQtbGctMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5vZmZzZXQtbGctMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAub2Zmc2V0LWxnLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm9mZnNldC1sZy00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5vZmZzZXQtbGctNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAub2Zmc2V0LWxnLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm9mZnNldC1sZy03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5vZmZzZXQtbGctOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAub2Zmc2V0LWxnLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm9mZnNldC1sZy0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAub2Zmc2V0LWxnLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29sLXhsIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmNvbC14bC1hdXRvIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmNvbC14bC0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAuY29sLXhsLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmNvbC14bC0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5jb2wteGwtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuY29sLXhsLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmNvbC14bC02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5jb2wteGwtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuY29sLXhsLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmNvbC14bC05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5jb2wteGwtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmNvbC14bC0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuY29sLXhsLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm9yZGVyLXhsLWZpcnN0IHtcbiAgICBvcmRlcjogLTE7IH1cbiAgLm9yZGVyLXhsLWxhc3Qge1xuICAgIG9yZGVyOiAxMzsgfVxuICAub3JkZXIteGwtMCB7XG4gICAgb3JkZXI6IDA7IH1cbiAgLm9yZGVyLXhsLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5vcmRlci14bC0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAub3JkZXIteGwtMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm9yZGVyLXhsLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5vcmRlci14bC01IHtcbiAgICBvcmRlcjogNTsgfVxuICAub3JkZXIteGwtNiB7XG4gICAgb3JkZXI6IDY7IH1cbiAgLm9yZGVyLXhsLTcge1xuICAgIG9yZGVyOiA3OyB9XG4gIC5vcmRlci14bC04IHtcbiAgICBvcmRlcjogODsgfVxuICAub3JkZXIteGwtOSB7XG4gICAgb3JkZXI6IDk7IH1cbiAgLm9yZGVyLXhsLTEwIHtcbiAgICBvcmRlcjogMTA7IH1cbiAgLm9yZGVyLXhsLTExIHtcbiAgICBvcmRlcjogMTE7IH1cbiAgLm9yZGVyLXhsLTEyIHtcbiAgICBvcmRlcjogMTI7IH1cbiAgLm9mZnNldC14bC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAub2Zmc2V0LXhsLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAub2Zmc2V0LXhsLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm9mZnNldC14bC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5vZmZzZXQteGwtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAub2Zmc2V0LXhsLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm9mZnNldC14bC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5vZmZzZXQteGwtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAub2Zmc2V0LXhsLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm9mZnNldC14bC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5vZmZzZXQteGwtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm9mZnNldC14bC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfSB9XG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBjb2xvcjogIzIxMjUyOTsgfVxuICAudGFibGUgdGgsXG4gIC50YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogMC43NXJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGVlMmU2OyB9XG4gIC50YWJsZSB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RlZTJlNjsgfVxuICAudGFibGUgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNkZWUyZTY7IH1cblxuLnRhYmxlLXNtIHRoLFxuLnRhYmxlLXNtIHRkIHtcbiAgcGFkZGluZzogMC4zcmVtOyB9XG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7IH1cbiAgLnRhYmxlLWJvcmRlcmVkIHRoLFxuICAudGFibGUtYm9yZGVyZWQgdGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7IH1cbiAgLnRhYmxlLWJvcmRlcmVkIHRoZWFkIHRoLFxuICAudGFibGUtYm9yZGVyZWQgdGhlYWQgdGQge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDsgfVxuXG4udGFibGUtYm9yZGVybGVzcyB0aCxcbi50YWJsZS1ib3JkZXJsZXNzIHRkLFxuLnRhYmxlLWJvcmRlcmxlc3MgdGhlYWQgdGgsXG4udGFibGUtYm9yZGVybGVzcyB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyOiAwOyB9XG5cbi50YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpOyB9XG5cbi50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxuXG4udGFibGUtcHJpbWFyeSxcbi50YWJsZS1wcmltYXJ5ID4gdGgsXG4udGFibGUtcHJpbWFyeSA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I4ZGFmZjsgfVxuXG4udGFibGUtcHJpbWFyeSB0aCxcbi50YWJsZS1wcmltYXJ5IHRkLFxuLnRhYmxlLXByaW1hcnkgdGhlYWQgdGgsXG4udGFibGUtcHJpbWFyeSB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLWNvbG9yOiAjN2FiYWZmOyB9XG5cbi50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZmNkZmY7IH1cbiAgLnRhYmxlLWhvdmVyIC50YWJsZS1wcmltYXJ5OmhvdmVyID4gdGQsXG4gIC50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3ZlciA+IHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWZjZGZmOyB9XG5cbi50YWJsZS1zZWNvbmRhcnksXG4udGFibGUtc2Vjb25kYXJ5ID4gdGgsXG4udGFibGUtc2Vjb25kYXJ5ID4gdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZkOGRiOyB9XG5cbi50YWJsZS1zZWNvbmRhcnkgdGgsXG4udGFibGUtc2Vjb25kYXJ5IHRkLFxuLnRhYmxlLXNlY29uZGFyeSB0aGVhZCB0aCxcbi50YWJsZS1zZWNvbmRhcnkgdGJvZHkgKyB0Ym9keSB7XG4gIGJvcmRlci1jb2xvcjogI2IzYjdiYjsgfVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjOGNiY2Y7IH1cbiAgLnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXIgPiB0ZCxcbiAgLnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M4Y2JjZjsgfVxuXG4udGFibGUtc3VjY2Vzcyxcbi50YWJsZS1zdWNjZXNzID4gdGgsXG4udGFibGUtc3VjY2VzcyA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MzZTZjYjsgfVxuXG4udGFibGUtc3VjY2VzcyB0aCxcbi50YWJsZS1zdWNjZXNzIHRkLFxuLnRhYmxlLXN1Y2Nlc3MgdGhlYWQgdGgsXG4udGFibGUtc3VjY2VzcyB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLWNvbG9yOiAjOGZkMTllOyB9XG5cbi50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMWRmYmI7IH1cbiAgLnRhYmxlLWhvdmVyIC50YWJsZS1zdWNjZXNzOmhvdmVyID4gdGQsXG4gIC50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlciA+IHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjFkZmJiOyB9XG5cbi50YWJsZS1pbmZvLFxuLnRhYmxlLWluZm8gPiB0aCxcbi50YWJsZS1pbmZvID4gdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmVlNWViOyB9XG5cbi50YWJsZS1pbmZvIHRoLFxuLnRhYmxlLWluZm8gdGQsXG4udGFibGUtaW5mbyB0aGVhZCB0aCxcbi50YWJsZS1pbmZvIHRib2R5ICsgdGJvZHkge1xuICBib3JkZXItY29sb3I6ICM4NmNmZGE7IH1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1pbmZvOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FiZGRlNTsgfVxuICAudGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIgPiB0ZCxcbiAgLnRhYmxlLWhvdmVyIC50YWJsZS1pbmZvOmhvdmVyID4gdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhYmRkZTU7IH1cblxuLnRhYmxlLXdhcm5pbmcsXG4udGFibGUtd2FybmluZyA+IHRoLFxuLnRhYmxlLXdhcm5pbmcgPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVlYmE7IH1cblxuLnRhYmxlLXdhcm5pbmcgdGgsXG4udGFibGUtd2FybmluZyB0ZCxcbi50YWJsZS13YXJuaW5nIHRoZWFkIHRoLFxuLnRhYmxlLXdhcm5pbmcgdGJvZHkgKyB0Ym9keSB7XG4gIGJvcmRlci1jb2xvcjogI2ZmZGY3ZTsgfVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlOGExOyB9XG4gIC50YWJsZS1ob3ZlciAudGFibGUtd2FybmluZzpob3ZlciA+IHRkLFxuICAudGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZThhMTsgfVxuXG4udGFibGUtZGFuZ2VyLFxuLnRhYmxlLWRhbmdlciA+IHRoLFxuLnRhYmxlLWRhbmdlciA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1YzZjYjsgfVxuXG4udGFibGUtZGFuZ2VyIHRoLFxuLnRhYmxlLWRhbmdlciB0ZCxcbi50YWJsZS1kYW5nZXIgdGhlYWQgdGgsXG4udGFibGUtZGFuZ2VyIHRib2R5ICsgdGJvZHkge1xuICBib3JkZXItY29sb3I6ICNlZDk2OWU7IH1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFiMGI3OyB9XG4gIC50YWJsZS1ob3ZlciAudGFibGUtZGFuZ2VyOmhvdmVyID4gdGQsXG4gIC50YWJsZS1ob3ZlciAudGFibGUtZGFuZ2VyOmhvdmVyID4gdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWIwYjc7IH1cblxuLnRhYmxlLWxpZ2h0LFxuLnRhYmxlLWxpZ2h0ID4gdGgsXG4udGFibGUtbGlnaHQgPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGZkZmU7IH1cblxuLnRhYmxlLWxpZ2h0IHRoLFxuLnRhYmxlLWxpZ2h0IHRkLFxuLnRhYmxlLWxpZ2h0IHRoZWFkIHRoLFxuLnRhYmxlLWxpZ2h0IHRib2R5ICsgdGJvZHkge1xuICBib3JkZXItY29sb3I6ICNmYmZjZmM7IH1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1saWdodDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZjY7IH1cbiAgLnRhYmxlLWhvdmVyIC50YWJsZS1saWdodDpob3ZlciA+IHRkLFxuICAudGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVyID4gdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZjY7IH1cblxuLnRhYmxlLWRhcmssXG4udGFibGUtZGFyayA+IHRoLFxuLnRhYmxlLWRhcmsgPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjNmM4Y2E7IH1cblxuLnRhYmxlLWRhcmsgdGgsXG4udGFibGUtZGFyayB0ZCxcbi50YWJsZS1kYXJrIHRoZWFkIHRoLFxuLnRhYmxlLWRhcmsgdGJvZHkgKyB0Ym9keSB7XG4gIGJvcmRlci1jb2xvcjogIzk1OTk5YzsgfVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjliYmJlOyB9XG4gIC50YWJsZS1ob3ZlciAudGFibGUtZGFyazpob3ZlciA+IHRkLFxuICAudGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I5YmJiZTsgfVxuXG4udGFibGUtYWN0aXZlLFxuLnRhYmxlLWFjdGl2ZSA+IHRoLFxuLnRhYmxlLWFjdGl2ZSA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3NSk7IH1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxuICAudGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciA+IHRkLFxuICAudGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciA+IHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxuXG4udGFibGUgLnRoZWFkLWRhcmsgdGgge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDtcbiAgYm9yZGVyLWNvbG9yOiAjNDU0ZDU1OyB9XG5cbi50YWJsZSAudGhlYWQtbGlnaHQgdGgge1xuICBjb2xvcjogIzQ5NTA1NztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbiAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2OyB9XG5cbi50YWJsZS1kYXJrIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7IH1cbiAgLnRhYmxlLWRhcmsgdGgsXG4gIC50YWJsZS1kYXJrIHRkLFxuICAudGFibGUtZGFyayB0aGVhZCB0aCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDU0ZDU1OyB9XG4gIC50YWJsZS1kYXJrLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgLnRhYmxlLWRhcmsudGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOyB9XG4gIC50YWJsZS1kYXJrLnRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDc1KTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgLnRhYmxlLXJlc3BvbnNpdmUtc20ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG4gICAgLnRhYmxlLXJlc3BvbnNpdmUtc20gPiAudGFibGUtYm9yZGVyZWQge1xuICAgICAgYm9yZGVyOiAwOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlLW1kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuICAgIC50YWJsZS1yZXNwb25zaXZlLW1kID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIGJvcmRlcjogMDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAudGFibGUtcmVzcG9uc2l2ZS1sZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbiAgICAudGFibGUtcmVzcG9uc2l2ZS1sZyA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICBib3JkZXI6IDA7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OS45OHB4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlLXhsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuICAgIC50YWJsZS1yZXNwb25zaXZlLXhsID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIGJvcmRlcjogMDsgfSB9XG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbiAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDsgfVxuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtICsgMnB4KTtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzQ5NTA1NztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lOyB9IH1cbiAgLmZvcm0tY29udHJvbDo6LW1zLWV4cGFuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICAgIGNvbG9yOiAjNDk1MDU3O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjODBiZGZmO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpOyB9XG4gIC5mb3JtLWNvbnRyb2w6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsIC5mb3JtLWNvbnRyb2xbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xuICAgIG9wYWNpdHk6IDE7IH1cblxuc2VsZWN0LmZvcm0tY29udHJvbDpmb2N1czo6LW1zLXZhbHVlIHtcbiAgY29sb3I6ICM0OTUwNTc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogY2FsYygwLjM3NXJlbSArIDFweCk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuMzc1cmVtICsgMXB4KTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuNXJlbSArIDFweCk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuNXJlbSArIDFweCk7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogY2FsYygwLjI1cmVtICsgMXB4KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC4yNXJlbSArIDFweCk7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAwLjM3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDA7IH1cbiAgLmZvcm0tY29udHJvbC1wbGFpbnRleHQuZm9ybS1jb250cm9sLXNtLCAuZm9ybS1jb250cm9sLXBsYWludGV4dC5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAwLjVyZW0gKyAycHgpO1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtOyB9XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAxcmVtICsgMnB4KTtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtOyB9XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2xbc2l6ZV0sIHNlbGVjdC5mb3JtLWNvbnRyb2xbbXVsdGlwbGVdIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmZvcm0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtOyB9XG5cbi5mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICBtYXJnaW4tbGVmdDogLTVweDsgfVxuICAuZm9ybS1yb3cgPiAuY29sLFxuICAuZm9ybS1yb3cgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIHBhZGRpbmctbGVmdDogNXB4OyB9XG5cbi5mb3JtLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtOyB9XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAwLjNyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTsgfVxuICAuZm9ybS1jaGVjay1pbnB1dDpkaXNhYmxlZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBjb2xvcjogIzZjNzU3ZDsgfVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtOyB9XG4gIC5mb3JtLWNoZWNrLWlubGluZSAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi52YWxpZC1mZWVkYmFjayB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICMyOGE3NDU7IH1cblxuLnZhbGlkLXRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgei1pbmRleDogNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogLjFyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQwLCAxNjcsIDY5LCAwLjkpO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XG5cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWQsIC5mb3JtLWNvbnRyb2wuaXMtdmFsaWQge1xuICBib3JkZXItY29sb3I6ICMyOGE3NDU7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPSclMjMyOGE3NDUnIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzZSUzYy9zdmclM2VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMC43NWVtICsgMC4zNzVyZW0pIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pOyB9XG4gIC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWQ6Zm9jdXMsIC5mb3JtLWNvbnRyb2wuaXMtdmFsaWQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC4yNSk7IH1cbiAgLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZCB+IC52YWxpZC1mZWVkYmFjayxcbiAgLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZCB+IC52YWxpZC10b29sdGlwLCAuZm9ybS1jb250cm9sLmlzLXZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxuICAuZm9ybS1jb250cm9sLmlzLXZhbGlkIH4gLnZhbGlkLXRvb2x0aXAge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi53YXMtdmFsaWRhdGVkIHRleHRhcmVhLmZvcm0tY29udHJvbDp2YWxpZCwgdGV4dGFyZWEuZm9ybS1jb250cm9sLmlzLXZhbGlkIHtcbiAgcGFkZGluZy1yaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0pO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygwLjM3NWVtICsgMC4xODc1cmVtKSByaWdodCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pOyB9XG5cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OnZhbGlkLCAuY3VzdG9tLXNlbGVjdC5pcy12YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcbiAgcGFkZGluZy1yaWdodDogY2FsYygoMWVtICsgMC43NXJlbSkgKiAzIC8gNCArIDEuNzVyZW0pO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNSclM2UlM2NwYXRoIGZpbGw9JyUyMzM0M2E0MCcgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvJTNlJTNjL3N2ZyUzZVwiKSBuby1yZXBlYXQgcmlnaHQgMC43NXJlbSBjZW50ZXIvOHB4IDEwcHgsIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nJTIzMjhhNzQ1JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8lM2UlM2Mvc3ZnJTNlXCIpICNmZmYgbm8tcmVwZWF0IGNlbnRlciByaWdodCAxLjc1cmVtL2NhbGMoMC43NWVtICsgMC4zNzVyZW0pIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pOyB9XG4gIC53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OnZhbGlkOmZvY3VzLCAuY3VzdG9tLXNlbGVjdC5pcy12YWxpZDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAwLjI1KTsgfVxuICAud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDp2YWxpZCB+IC52YWxpZC1mZWVkYmFjayxcbiAgLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6dmFsaWQgfiAudmFsaWQtdG9vbHRpcCwgLmN1c3RvbS1zZWxlY3QuaXMtdmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXG4gIC5jdXN0b20tc2VsZWN0LmlzLXZhbGlkIH4gLnZhbGlkLXRvb2x0aXAge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2wtZmlsZTp2YWxpZCB+IC52YWxpZC1mZWVkYmFjayxcbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2wtZmlsZTp2YWxpZCB+IC52YWxpZC10b29sdGlwLCAuZm9ybS1jb250cm9sLWZpbGUuaXMtdmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXG4uZm9ybS1jb250cm9sLWZpbGUuaXMtdmFsaWQgfiAudmFsaWQtdG9vbHRpcCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwsIC5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICBjb2xvcjogIzI4YTc0NTsgfVxuXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZCB+IC52YWxpZC1mZWVkYmFjayxcbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsIC5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxuLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWQgfiAudmFsaWQtdG9vbHRpcCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgY29sb3I6ICMyOGE3NDU7IH1cbiAgLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICMyOGE3NDU7IH1cblxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZCB+IC52YWxpZC1mZWVkYmFjayxcbi5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZCB+IC52YWxpZC10b29sdGlwIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzM0Y2U1NztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0Y2U1NzsgfVxuXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC4yNSk7IH1cblxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkOmZvY3VzOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkOmZvY3VzOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTsgfVxuXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTsgfVxuXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQgfiAudmFsaWQtdG9vbHRpcCwgLmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxuLmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkIH4gLnZhbGlkLXRvb2x0aXAge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuMjUpOyB9XG5cbi5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogODAlO1xuICBjb2xvcjogI2RjMzU0NTsgfVxuXG4uaW52YWxpZC10b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHotaW5kZXg6IDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gIG1hcmdpbi10b3A6IC4xcmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjAsIDUzLCA2OSwgMC45KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxuXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWQsIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogI2RjMzU0NTtcbiAgcGFkZGluZy1yaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0pO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZGMzNTQ1JyB2aWV3Qm94PSctMiAtMiA3IDcnJTNlJTNjcGF0aCBzdHJva2U9JyUyM2RjMzU0NScgZD0nTTAgMGwzIDNtMC0zTDAgMycvJTNlJTNjY2lyY2xlIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3g9JzMnIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3k9JzMnIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3g9JzMnIGN5PSczJyByPScuNScvJTNlJTNjL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IGNhbGMoMC4zNzVlbSArIDAuMTg3NXJlbSk7XG4gIGJhY2tncm91bmQtc2l6ZTogY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSkgY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSk7IH1cbiAgLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkOmZvY3VzLCAuZm9ybS1jb250cm9sLmlzLWludmFsaWQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogI2RjMzU0NTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgMC4yNSk7IH1cbiAgLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXG4gIC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAsIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLFxuICAuZm9ybS1jb250cm9sLmlzLWludmFsaWQgfiAuaW52YWxpZC10b29sdGlwIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ud2FzLXZhbGlkYXRlZCB0ZXh0YXJlYS5mb3JtLWNvbnRyb2w6aW52YWxpZCwgdGV4dGFyZWEuZm9ybS1jb250cm9sLmlzLWludmFsaWQge1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pIHJpZ2h0IGNhbGMoMC4zNzVlbSArIDAuMTg3NXJlbSk7IH1cblxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6aW52YWxpZCwgLmN1c3RvbS1zZWxlY3QuaXMtaW52YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogI2RjMzU0NTtcbiAgcGFkZGluZy1yaWdodDogY2FsYygoMWVtICsgMC43NXJlbSkgKiAzIC8gNCArIDEuNzVyZW0pO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNSclM2UlM2NwYXRoIGZpbGw9JyUyMzM0M2E0MCcgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvJTNlJTNjL3N2ZyUzZVwiKSBuby1yZXBlYXQgcmlnaHQgMC43NXJlbSBjZW50ZXIvOHB4IDEwcHgsIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSclMjNkYzM1NDUnIHZpZXdCb3g9Jy0yIC0yIDcgNyclM2UlM2NwYXRoIHN0cm9rZT0nJTIzZGMzNTQ1JyBkPSdNMCAwbDMgM20wLTNMMCAzJy8lM2UlM2NjaXJjbGUgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeD0nMycgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeT0nMycgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeD0nMycgY3k9JzMnIHI9Jy41Jy8lM2UlM2Mvc3ZnJTNFXCIpICNmZmYgbm8tcmVwZWF0IGNlbnRlciByaWdodCAxLjc1cmVtL2NhbGMoMC43NWVtICsgMC4zNzVyZW0pIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pOyB9XG4gIC53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OmludmFsaWQ6Zm9jdXMsIC5jdXN0b20tc2VsZWN0LmlzLWludmFsaWQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogI2RjMzU0NTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgMC4yNSk7IH1cbiAgLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6aW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLFxuICAud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCwgLmN1c3RvbS1zZWxlY3QuaXMtaW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLFxuICAuY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbC1maWxlOmludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjayxcbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2wtZmlsZTppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCwgLmZvcm0tY29udHJvbC1maWxlLmlzLWludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjayxcbi5mb3JtLWNvbnRyb2wtZmlsZS5pcy1pbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWQgfiAuZm9ybS1jaGVjay1sYWJlbCwgLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgY29sb3I6ICNkYzM1NDU7IH1cblxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAsIC5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjayxcbi5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWQgfiAuaW52YWxpZC10b29sdGlwIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgY29sb3I6ICNkYzM1NDU7IH1cbiAgLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1OyB9XG5cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2U0NjA2ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U0NjA2ZDsgfVxuXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZDpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZDpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuMjUpOyB9XG5cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkOmZvY3VzOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQ6Zm9jdXM6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1OyB9XG5cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsLCAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogI2RjMzU0NTsgfVxuXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6aW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWQgfiAuaW52YWxpZC10b29sdGlwLCAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLFxuLmN1c3RvbS1maWxlLWlucHV0LmlzLWludmFsaWQgfiAuaW52YWxpZC10b29sdGlwIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgMC4yNSk7IH1cblxuLmZvcm0taW5saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2sge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAgIC5mb3JtLWlubGluZSBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5mb3JtLWlubGluZSAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAuZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCxcbiAgICAuZm9ybS1pbmxpbmUgLmN1c3RvbS1zZWxlY3Qge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmZvcm0taW5saW5lIC5jdXN0b20tY29udHJvbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuZm9ybS1pbmxpbmUgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzIxMjUyOTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuYnRuIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7IH0gfVxuICAuYnRuOmhvdmVyIHtcbiAgICBjb2xvcjogIzIxMjUyOTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmJ0bjpmb2N1cywgLmJ0bi5mb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7IH1cbiAgLmJ0bi5kaXNhYmxlZCwgLmJ0bjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC42NTsgfVxuXG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0OmRpc2FibGVkIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmJ0bi1wcmltYXJ5IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG4gIGJvcmRlci1jb2xvcjogIzAwN2JmZjsgfVxuICAuYnRuLXByaW1hcnk6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDY5ZDk7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA2MmNjOyB9XG4gIC5idG4tcHJpbWFyeTpmb2N1cywgLmJ0bi1wcmltYXJ5LmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgzOCwgMTQzLCAyNTUsIDAuNSk7IH1cbiAgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLCAuYnRuLXByaW1hcnk6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmOyB9XG4gIC5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tcHJpbWFyeS5uaWNlLXNlbGVjdC5vcGVuOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLCAuYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDYyY2M7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA1Y2JmOyB9XG4gICAgLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1wcmltYXJ5Lm5pY2Utc2VsZWN0Lm9wZW46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6Zm9jdXMsIC5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXG4gICAgLnNob3cgPiAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDM4LCAxNDMsIDI1NSwgMC41KTsgfVxuXG4uYnRuLXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkO1xuICBib3JkZXItY29sb3I6ICM2Yzc1N2Q7IH1cbiAgLmJ0bi1zZWNvbmRhcnk6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1YTYyNjg7XG4gICAgYm9yZGVyLWNvbG9yOiAjNTQ1YjYyOyB9XG4gIC5idG4tc2Vjb25kYXJ5OmZvY3VzLCAuYnRuLXNlY29uZGFyeS5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTMwLCAxMzgsIDE0NSwgMC41KTsgfVxuICAuYnRuLXNlY29uZGFyeS5kaXNhYmxlZCwgLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmM3NTdkOyB9XG4gIC5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1zZWNvbmRhcnkubmljZS1zZWxlY3Qub3Blbjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSwgLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU0NWI2MjtcbiAgICBib3JkZXItY29sb3I6ICM0ZTU1NWI7IH1cbiAgICAuYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5Lm5pY2Utc2VsZWN0Lm9wZW46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyxcbiAgICAuc2hvdyA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMzAsIDEzOCwgMTQ1LCAwLjUpOyB9XG5cbi5idG4tc3VjY2VzcyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1O1xuICBib3JkZXItY29sb3I6ICMyOGE3NDU7IH1cbiAgLmJ0bi1zdWNjZXNzOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4ODM4O1xuICAgIGJvcmRlci1jb2xvcjogIzFlN2UzNDsgfVxuICAuYnRuLXN1Y2Nlc3M6Zm9jdXMsIC5idG4tc3VjY2Vzcy5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNzIsIDE4MCwgOTcsIDAuNSk7IH1cbiAgLmJ0bi1zdWNjZXNzLmRpc2FibGVkLCAuYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1OyB9XG4gIC5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tc3VjY2Vzcy5uaWNlLXNlbGVjdC5vcGVuOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLCAuYnRuLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTdlMzQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMWM3NDMwOyB9XG4gICAgLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1zdWNjZXNzLm5pY2Utc2VsZWN0Lm9wZW46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6Zm9jdXMsIC5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXG4gICAgLnNob3cgPiAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDcyLCAxODAsIDk3LCAwLjUpOyB9XG5cbi5idG4taW5mbyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdhMmI4O1xuICBib3JkZXItY29sb3I6ICMxN2EyYjg7IH1cbiAgLmJ0bi1pbmZvOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTM4NDk2O1xuICAgIGJvcmRlci1jb2xvcjogIzExN2E4YjsgfVxuICAuYnRuLWluZm86Zm9jdXMsIC5idG4taW5mby5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTgsIDE3NiwgMTk1LCAwLjUpOyB9XG4gIC5idG4taW5mby5kaXNhYmxlZCwgLmJ0bi1pbmZvOmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdhMmI4O1xuICAgIGJvcmRlci1jb2xvcjogIzE3YTJiODsgfVxuICAuYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLWluZm8ubmljZS1zZWxlY3Qub3Blbjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSwgLmJ0bi1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE3YThiO1xuICAgIGJvcmRlci1jb2xvcjogIzEwNzA3ZjsgfVxuICAgIC5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4taW5mby5uaWNlLXNlbGVjdC5vcGVuOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmZvY3VzLCAuYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLFxuICAgIC5zaG93ID4gLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1OCwgMTc2LCAxOTUsIDAuNSk7IH1cblxuLmJ0bi13YXJuaW5nIHtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmMxMDc7XG4gIGJvcmRlci1jb2xvcjogI2ZmYzEwNzsgfVxuICAuYnRuLXdhcm5pbmc6aG92ZXIge1xuICAgIGNvbG9yOiAjMjEyNTI5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMGE4MDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDM5ZTAwOyB9XG4gIC5idG4td2FybmluZzpmb2N1cywgLmJ0bi13YXJuaW5nLmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjIsIDE3MCwgMTIsIDAuNSk7IH1cbiAgLmJ0bi13YXJuaW5nLmRpc2FibGVkLCAuYnRuLXdhcm5pbmc6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjMjEyNTI5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmMxMDc7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZjMTA3OyB9XG4gIC5idG4td2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4td2FybmluZy5uaWNlLXNlbGVjdC5vcGVuOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLCAuYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjMjEyNTI5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMzllMDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzY5NTAwOyB9XG4gICAgLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi13YXJuaW5nLm5pY2Utc2VsZWN0Lm9wZW46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6Zm9jdXMsIC5idG4td2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXG4gICAgLnNob3cgPiAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMiwgMTcwLCAxMiwgMC41KTsgfVxuXG4uYnRuLWRhbmdlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMzNTQ1O1xuICBib3JkZXItY29sb3I6ICNkYzM1NDU7IH1cbiAgLmJ0bi1kYW5nZXI6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjODIzMzM7XG4gICAgYm9yZGVyLWNvbG9yOiAjYmQyMTMwOyB9XG4gIC5idG4tZGFuZ2VyOmZvY3VzLCAuYnRuLWRhbmdlci5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjI1LCA4MywgOTcsIDAuNSk7IH1cbiAgLmJ0bi1kYW5nZXIuZGlzYWJsZWQsIC5idG4tZGFuZ2VyOmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMzNTQ1O1xuICAgIGJvcmRlci1jb2xvcjogI2RjMzU0NTsgfVxuICAuYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tZGFuZ2VyLm5pY2Utc2VsZWN0Lm9wZW46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCksIC5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZDIxMzA7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjIxZjJkOyB9XG4gICAgLmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLWRhbmdlci5uaWNlLXNlbGVjdC5vcGVuOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmZvY3VzLCAuYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXG4gICAgLnNob3cgPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjI1LCA4MywgOTcsIDAuNSk7IH1cblxuLmJ0bi1saWdodCB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICBib3JkZXItY29sb3I6ICNmOGY5ZmE7IH1cbiAgLmJ0bi1saWdodDpob3ZlciB7XG4gICAgY29sb3I6ICMyMTI1Mjk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTZlYTtcbiAgICBib3JkZXItY29sb3I6ICNkYWUwZTU7IH1cbiAgLmJ0bi1saWdodDpmb2N1cywgLmJ0bi1saWdodC5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjE2LCAyMTcsIDIxOSwgMC41KTsgfVxuICAuYnRuLWxpZ2h0LmRpc2FibGVkLCAuYnRuLWxpZ2h0OmRpc2FibGVkIHtcbiAgICBjb2xvcjogIzIxMjUyOTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICAgIGJvcmRlci1jb2xvcjogI2Y4ZjlmYTsgfVxuICAuYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1saWdodC5uaWNlLXNlbGVjdC5vcGVuOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLCAuYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAuYnRuLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICMyMTI1Mjk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZTBlNTtcbiAgICBib3JkZXItY29sb3I6ICNkM2Q5ZGY7IH1cbiAgICAuYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1saWdodC5uaWNlLXNlbGVjdC5vcGVuOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmZvY3VzLCAuYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyxcbiAgICAuc2hvdyA+IC5idG4tbGlnaHQuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIxNiwgMjE3LCAyMTksIDAuNSk7IH1cblxuLmJ0bi1kYXJrIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7XG4gIGJvcmRlci1jb2xvcjogIzM0M2E0MDsgfVxuICAuYnRuLWRhcms6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMzI3MmI7XG4gICAgYm9yZGVyLWNvbG9yOiAjMWQyMTI0OyB9XG4gIC5idG4tZGFyazpmb2N1cywgLmJ0bi1kYXJrLmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg4MiwgODgsIDkzLCAwLjUpOyB9XG4gIC5idG4tZGFyay5kaXNhYmxlZCwgLmJ0bi1kYXJrOmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xuICAgIGJvcmRlci1jb2xvcjogIzM0M2E0MDsgfVxuICAuYnRuLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLWRhcmsubmljZS1zZWxlY3Qub3Blbjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSwgLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAuYnRuLWRhcmsuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQyMTI0O1xuICAgIGJvcmRlci1jb2xvcjogIzE3MWExZDsgfVxuICAgIC5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tZGFyay5uaWNlLXNlbGVjdC5vcGVuOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmZvY3VzLCAuYnRuLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLFxuICAgIC5zaG93ID4gLmJ0bi1kYXJrLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg4MiwgODgsIDkzLCAwLjUpOyB9XG5cbi5idG4tb3V0bGluZS1wcmltYXJ5IHtcbiAgY29sb3I6ICMwMDdiZmY7XG4gIGJvcmRlci1jb2xvcjogIzAwN2JmZjsgfVxuICAuYnRuLW91dGxpbmUtcHJpbWFyeTpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbiAgICBib3JkZXItY29sb3I6ICMwMDdiZmY7IH1cbiAgLmJ0bi1vdXRsaW5lLXByaW1hcnk6Zm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC41KTsgfVxuICAuYnRuLW91dGxpbmUtcHJpbWFyeS5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLXByaW1hcnk6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjMDA3YmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXByaW1hcnkubmljZS1zZWxlY3Qub3Blbjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSwgLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbiAgICBib3JkZXItY29sb3I6ICMwMDdiZmY7IH1cbiAgICAuYnRuLW91dGxpbmUtcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5Lm5pY2Utc2VsZWN0Lm9wZW46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6Zm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyxcbiAgICAuc2hvdyA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC41KTsgfVxuXG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICM2Yzc1N2Q7XG4gIGJvcmRlci1jb2xvcjogIzZjNzU3ZDsgfVxuICAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkO1xuICAgIGJvcmRlci1jb2xvcjogIzZjNzU3ZDsgfVxuICAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMDgsIDExNywgMTI1LCAwLjUpOyB9XG4gIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5Lm5pY2Utc2VsZWN0Lm9wZW46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCksIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+IC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkO1xuICAgIGJvcmRlci1jb2xvcjogIzZjNzU3ZDsgfVxuICAgIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5Lm5pY2Utc2VsZWN0Lm9wZW46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLFxuICAgIC5zaG93ID4gLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTA4LCAxMTcsIDEyNSwgMC41KTsgfVxuXG4uYnRuLW91dGxpbmUtc3VjY2VzcyB7XG4gIGNvbG9yOiAjMjhhNzQ1O1xuICBib3JkZXItY29sb3I6ICMyOGE3NDU7IH1cbiAgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1OyB9XG4gIC5idG4tb3V0bGluZS1zdWNjZXNzOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuNSk7IH1cbiAgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1zdWNjZXNzOmRpc2FibGVkIHtcbiAgICBjb2xvcjogIzI4YTc0NTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS1zdWNjZXNzLm5pY2Utc2VsZWN0Lm9wZW46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCksIC5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1OyB9XG4gICAgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5uaWNlLXNlbGVjdC5vcGVuOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXG4gICAgLnNob3cgPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuNSk7IH1cblxuLmJ0bi1vdXRsaW5lLWluZm8ge1xuICBjb2xvcjogIzE3YTJiODtcbiAgYm9yZGVyLWNvbG9yOiAjMTdhMmI4OyB9XG4gIC5idG4tb3V0bGluZS1pbmZvOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdhMmI4O1xuICAgIGJvcmRlci1jb2xvcjogIzE3YTJiODsgfVxuICAuYnRuLW91dGxpbmUtaW5mbzpmb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIzLCAxNjIsIDE4NCwgMC41KTsgfVxuICAuYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjMTdhMmI4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLWluZm8ubmljZS1zZWxlY3Qub3Blbjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSwgLmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+IC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE3YTJiODtcbiAgICBib3JkZXItY29sb3I6ICMxN2EyYjg7IH1cbiAgICAuYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvLm5pY2Utc2VsZWN0Lm9wZW46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyxcbiAgICAuc2hvdyA+IC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMywgMTYyLCAxODQsIDAuNSk7IH1cblxuLmJ0bi1vdXRsaW5lLXdhcm5pbmcge1xuICBjb2xvcjogI2ZmYzEwNztcbiAgYm9yZGVyLWNvbG9yOiAjZmZjMTA3OyB9XG4gIC5idG4tb3V0bGluZS13YXJuaW5nOmhvdmVyIHtcbiAgICBjb2xvcjogIzIxMjUyOTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3O1xuICAgIGJvcmRlci1jb2xvcjogI2ZmYzEwNzsgfVxuICAuYnRuLW91dGxpbmUtd2FybmluZzpmb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1NSwgMTkzLCA3LCAwLjUpOyB9XG4gIC5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkLCAuYnRuLW91dGxpbmUtd2FybmluZzpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICNmZmMxMDc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtd2FybmluZy5uaWNlLXNlbGVjdC5vcGVuOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLCAuYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogIzIxMjUyOTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3O1xuICAgIGJvcmRlci1jb2xvcjogI2ZmYzEwNzsgfVxuICAgIC5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmcubmljZS1zZWxlY3Qub3Blbjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTpmb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLFxuICAgIC5zaG93ID4gLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1NSwgMTkzLCA3LCAwLjUpOyB9XG5cbi5idG4tb3V0bGluZS1kYW5nZXIge1xuICBjb2xvcjogI2RjMzU0NTtcbiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1OyB9XG4gIC5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1OyB9XG4gIC5idG4tb3V0bGluZS1kYW5nZXI6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjUpOyB9XG4gIC5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1kYW5nZXI6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjZGMzNTQ1O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtZGFuZ2VyLm5pY2Utc2VsZWN0Lm9wZW46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCksIC5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+IC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMzNTQ1O1xuICAgIGJvcmRlci1jb2xvcjogI2RjMzU0NTsgfVxuICAgIC5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyLm5pY2Utc2VsZWN0Lm9wZW46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLFxuICAgIC5zaG93ID4gLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuNSk7IH1cblxuLmJ0bi1vdXRsaW5lLWxpZ2h0IHtcbiAgY29sb3I6ICNmOGY5ZmE7XG4gIGJvcmRlci1jb2xvcjogI2Y4ZjlmYTsgfVxuICAuYnRuLW91dGxpbmUtbGlnaHQ6aG92ZXIge1xuICAgIGNvbG9yOiAjMjEyNTI5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjhmOWZhOyB9XG4gIC5idG4tb3V0bGluZS1saWdodDpmb2N1cywgLmJ0bi1vdXRsaW5lLWxpZ2h0LmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDgsIDI0OSwgMjUwLCAwLjUpOyB9XG4gIC5idG4tb3V0bGluZS1saWdodC5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLWxpZ2h0OmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2Y4ZjlmYTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtbGlnaHQubmljZS1zZWxlY3Qub3Blbjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSwgLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAuYnRuLW91dGxpbmUtbGlnaHQuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogIzIxMjUyOTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICAgIGJvcmRlci1jb2xvcjogI2Y4ZjlmYTsgfVxuICAgIC5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1saWdodC5uaWNlLXNlbGVjdC5vcGVuOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmZvY3VzLCAuYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLFxuICAgIC5zaG93ID4gLmJ0bi1vdXRsaW5lLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDgsIDI0OSwgMjUwLCAwLjUpOyB9XG5cbi5idG4tb3V0bGluZS1kYXJrIHtcbiAgY29sb3I6ICMzNDNhNDA7XG4gIGJvcmRlci1jb2xvcjogIzM0M2E0MDsgfVxuICAuYnRuLW91dGxpbmUtZGFyazpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDtcbiAgICBib3JkZXItY29sb3I6ICMzNDNhNDA7IH1cbiAgLmJ0bi1vdXRsaW5lLWRhcms6Zm9jdXMsIC5idG4tb3V0bGluZS1kYXJrLmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgNTgsIDY0LCAwLjUpOyB9XG4gIC5idG4tb3V0bGluZS1kYXJrLmRpc2FibGVkLCAuYnRuLW91dGxpbmUtZGFyazpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICMzNDNhNDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtZGFyay5uaWNlLXNlbGVjdC5vcGVuOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLCAuYnRuLW91dGxpbmUtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gLmJ0bi1vdXRsaW5lLWRhcmsuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xuICAgIGJvcmRlci1jb2xvcjogIzM0M2E0MDsgfVxuICAgIC5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWRhcmsubmljZS1zZWxlY3Qub3Blbjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTpmb2N1cywgLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLFxuICAgIC5zaG93ID4gLmJ0bi1vdXRsaW5lLWRhcmsuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUyLCA1OCwgNjQsIDAuNSk7IH1cblxuLmJ0bi1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDdiZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYnRuLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjMDA1NmIzO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5idG4tbGluazpmb2N1cywgLmJ0bi1saW5rLmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5idG4tbGluazpkaXNhYmxlZCwgLmJ0bi1saW5rLmRpc2FibGVkIHtcbiAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uYnRuLWxnLCAuYnRuLWdyb3VwLWxnID4gLmJ0biB7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDAuM3JlbTsgfVxuXG4uYnRuLXNtLCAuYnRuLWdyb3VwLXNtID4gLmJ0biB7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBib3JkZXItcmFkaXVzOiAwLjJyZW07IH1cblxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuICAuYnRuLWJsb2NrICsgLmJ0bi1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG5cbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYnRuLWJsb2NrLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLmJ0bi1ibG9jayxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0uYnRuLWJsb2NrIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmZhZGUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjsgfVxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5mYWRlIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7IH0gfVxuICAuZmFkZTpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwOyB9XG5cbi5jb2xsYXBzZTpub3QoLnNob3cpIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zNXMgZWFzZTsgfVxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5jb2xsYXBzaW5nIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7IH0gfVxuXG4uZHJvcHVwLFxuLmRyb3ByaWdodCxcbi5kcm9wZG93bixcbi5kcm9wbGVmdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1NWVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXRvcDogMC4zZW0gc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6IDAuNXJlbSAwO1xuICBtYXJnaW46IDAuMTI1cmVtIDAgMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzIxMjUyOTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxuXG4uZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmRyb3Bkb3duLW1lbnUtc20tbGVmdCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24tbWVudS1zbS1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZHJvcGRvd24tbWVudS1tZC1sZWZ0IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi1tZW51LW1kLXJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5kcm9wZG93bi1tZW51LWxnLWxlZnQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLW1lbnUtbGctcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5kcm9wZG93bi1tZW51LXhsLWxlZnQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLW1lbnUteGwtcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH0gfVxuXG4uZHJvcHVwIC5kcm9wZG93bi1tZW51IHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDEwMCU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuMTI1cmVtOyB9XG5cbi5kcm9wdXAgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogMC4yNTVlbTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uZHJvcHVwIC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyb3ByaWdodCAuZHJvcGRvd24tbWVudSB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwLjEyNXJlbTsgfVxuXG4uZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC4yNTVlbTtcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci10b3A6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMC4zZW0gc29saWQ7IH1cblxuLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICB2ZXJ0aWNhbC1hbGlnbjogMDsgfVxuXG4uZHJvcGxlZnQgLmRyb3Bkb3duLW1lbnUge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDAuMTI1cmVtOyB9XG5cbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuMjU1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtO1xuICBjb250ZW50OiBcIlwiOyB9XG5cbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogMC4yNTVlbTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXRvcDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMC4zZW0gc29saWQ7XG4gIGJvcmRlci1ib3R0b206IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjpiZWZvcmUge1xuICB2ZXJ0aWNhbC1hbGlnbjogMDsgfVxuXG4uZHJvcGRvd24tbWVudVt4LXBsYWNlbWVudF49XCJ0b3BcIl0sIC5kcm9wZG93bi1tZW51W3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdLCAuZHJvcGRvd24tbWVudVt4LXBsYWNlbWVudF49XCJib3R0b21cIl0sIC5kcm9wZG93bi1tZW51W3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiBhdXRvOyB9XG5cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDAuNXJlbSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U5ZWNlZjsgfVxuXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC4yNXJlbSAxLjVyZW07XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzIxMjUyOTtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDsgfVxuICAuZHJvcGRvd24taXRlbTpob3ZlciwgLmRyb3Bkb3duLWl0ZW06Zm9jdXMge1xuICAgIGNvbG9yOiAjMTYxODFiO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhOyB9XG4gIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLWl0ZW06YWN0aXZlLCAuZHJvcGRvd24taXRlbS5uaWNlLXNlbGVjdC5vcGVuIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsgfVxuICAuZHJvcGRvd24taXRlbS5kaXNhYmxlZCwgLmRyb3Bkb3duLWl0ZW06ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjNmM3NTdkO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5kcm9wZG93bi1pdGVtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC4yNXJlbSAxLjVyZW07XG4gIGNvbG9yOiAjMjEyNTI5OyB9XG5cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuYnRuLWdyb3VwID4gLmJ0bixcbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAgIC5idG4tZ3JvdXAgPiAuYnRuOmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmhvdmVyIHtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAuYnRuLWdyb3VwID4gLmJ0bjpmb2N1cywgLmJ0bi1ncm91cCA+IC5idG46YWN0aXZlLCAuYnRuLWdyb3VwID4gLmJ0bi5uaWNlLXNlbGVjdC5vcGVuLCAuYnRuLWdyb3VwID4gLmJ0bi5hY3RpdmUsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46YWN0aXZlLFxuICAgIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLm5pY2Utc2VsZWN0Lm9wZW4sXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4uYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7IH1cblxuLmJ0bi10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmJ0bi10b29sYmFyIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLmJ0bi1ncm91cCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4OyB9XG5cbi5idG4tZ3JvdXAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjU2MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41NjI1cmVtOyB9XG4gIC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyLFxuICAuZHJvcHVwIC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyLFxuICAuZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsIC5idG4tZ3JvdXAtc20gPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMzc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuMzc1cmVtOyB9XG5cbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LCAuYnRuLWdyb3VwLWxnID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bixcbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4sXG4uYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAuYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICAuYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4tZ3JvdXAgPiAuYnRuIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgLmJ0bi1ncm91cC10b2dnbGUgPiAuYnRuLWdyb3VwID4gLmJ0biBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCxcbiAgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tc2VsZWN0LFxuICAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB3aWR0aDogMSU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLFxuICAgIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wgKyAuY3VzdG9tLXNlbGVjdCxcbiAgICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sICsgLmN1c3RvbS1maWxlLFxuICAgIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0ICsgLmZvcm0tY29udHJvbCxcbiAgICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCArIC5jdXN0b20tc2VsZWN0LFxuICAgIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0ICsgLmN1c3RvbS1maWxlLFxuICAgIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tc2VsZWN0ICsgLmZvcm0tY29udHJvbCxcbiAgICAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCArIC5jdXN0b20tc2VsZWN0LFxuICAgIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tc2VsZWN0ICsgLmN1c3RvbS1maWxlLFxuICAgIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZSArIC5mb3JtLWNvbnRyb2wsXG4gICAgLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlICsgLmN1c3RvbS1zZWxlY3QsXG4gICAgLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlICsgLmN1c3RvbS1maWxlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4OyB9XG4gIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tc2VsZWN0OmZvY3VzLFxuICAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICB6LWluZGV4OiAzOyB9XG4gIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMge1xuICAgIHotaW5kZXg6IDQ7IH1cbiAgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbDpub3QoOmxhc3QtY2hpbGQpLFxuICAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG4gIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuICAgIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZTpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cblxuLmlucHV0LWdyb3VwLXByZXBlbmQsXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuLFxuICAuaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgLmlucHV0LWdyb3VwLXByZXBlbmQgLmJ0bjpmb2N1cyxcbiAgICAuaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG46Zm9jdXMge1xuICAgICAgei1pbmRleDogMzsgfVxuICAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuICsgLmJ0bixcbiAgLmlucHV0LWdyb3VwLXByZXBlbmQgLmJ0biArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCArIC5idG4sXG4gIC5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0biArIC5idG4sXG4gIC5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0biArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAtYXBwZW5kIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC1hcHBlbmQgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDsgfVxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCB7XG4gIG1hcmdpbi1yaWdodDogLTFweDsgfVxuXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7IH1cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNDk1MDU3O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cbiAgLmlucHV0LWdyb3VwLXRleHQgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAuaW5wdXQtZ3JvdXAtdGV4dCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbDpub3QodGV4dGFyZWEpLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3Qge1xuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAxcmVtICsgMnB4KTsgfVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBib3JkZXItcmFkaXVzOiAwLjNyZW07IH1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbDpub3QodGV4dGFyZWEpLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAwLjVyZW0gKyAycHgpOyB9XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBib3JkZXItcmFkaXVzOiAwLjJyZW07IH1cblxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNzVyZW07IH1cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5jdXN0b20tY29udHJvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07IH1cblxuLmN1c3RvbS1jb250cm9sLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cblxuLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgb3BhY2l0eTogMDsgfVxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItY29sb3I6ICMwMDdiZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsgfVxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpOyB9XG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogIzgwYmRmZjsgfVxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6bm90KDpkaXNhYmxlZCk6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5uaWNlLXNlbGVjdC5vcGVuOm5vdCg6ZGlzYWJsZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiM2Q3ZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjNkN2ZmOyB9XG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgY29sb3I6ICM2Yzc1N2Q7IH1cbiAgICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOyB9XG5cbi5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAtMS41cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAjYWRiNWJkIHNvbGlkIDFweDsgfVxuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IC0xLjVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IDUwJSAvIDUwJSA1MCU7IH1cblxuLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cblxuLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGZpbGw9JyUyM2ZmZicgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzZSUzYy9zdmclM2VcIik7IH1cblxuLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmOyB9XG5cbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDQnJTNlJTNjcGF0aCBzdHJva2U9JyUyM2ZmZicgZD0nTTAgMmg0Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG5cbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTIzLCAyNTUsIDAuNSk7IH1cblxuLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjMsIDI1NSwgMC41KTsgfVxuXG4uY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM2UlM2NjaXJjbGUgcj0nMycgZmlsbD0nJTIzZmZmJy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG5cbi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTIzLCAyNTUsIDAuNSk7IH1cblxuLmN1c3RvbS1zd2l0Y2gge1xuICBwYWRkaW5nLWxlZnQ6IDIuMjVyZW07IH1cbiAgLmN1c3RvbS1zd2l0Y2ggLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGxlZnQ6IC0yLjI1cmVtO1xuICAgIHdpZHRoOiAxLjc1cmVtO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtOyB9XG4gIC5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICAgIHRvcDogY2FsYygwLjI1cmVtICsgMnB4KTtcbiAgICBsZWZ0OiBjYWxjKC0yLjI1cmVtICsgMnB4KTtcbiAgICB3aWR0aDogY2FsYygxcmVtIC0gNHB4KTtcbiAgICBoZWlnaHQ6IGNhbGMoMXJlbSAtIDRweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FkYjViZDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgLmN1c3RvbS1zd2l0Y2ggLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7IH0gfVxuICAuY3VzdG9tLXN3aXRjaCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAuNzVyZW0pOyB9XG4gIC5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTIzLCAyNTUsIDAuNSk7IH1cblxuLmN1c3RvbS1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtICsgMnB4KTtcbiAgcGFkZGluZzogMC4zNzVyZW0gMS43NXJlbSAwLjM3NXJlbSAwLjc1cmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNDk1MDU3O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNSclM2UlM2NwYXRoIGZpbGw9JyUyMzM0M2E0MCcgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvJTNlJTNjL3N2ZyUzZVwiKSBuby1yZXBlYXQgcmlnaHQgMC43NXJlbSBjZW50ZXIvOHB4IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgLmN1c3RvbS1zZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzgwYmRmZjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTsgfVxuICAgIC5jdXN0b20tc2VsZWN0OmZvY3VzOjotbXMtdmFsdWUge1xuICAgICAgY29sb3I6ICM0OTUwNTc7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gIC5jdXN0b20tc2VsZWN0W211bHRpcGxlXSwgLmN1c3RvbS1zZWxlY3Rbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgLmN1c3RvbS1zZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7IH1cbiAgLmN1c3RvbS1zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmN1c3RvbS1zZWxlY3Qtc20ge1xuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAwLjVyZW0gKyAycHgpO1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5jdXN0b20tc2VsZWN0LWxnIHtcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMXJlbSArIDJweCk7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbi5jdXN0b20tZmlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSArIDJweCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSArIDJweCk7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMDsgfVxuICAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJvcmRlci1jb2xvcjogIzgwYmRmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7IH1cbiAgLmN1c3RvbS1maWxlLWlucHV0OmRpc2FibGVkIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOyB9XG4gIC5jdXN0b20tZmlsZS1pbnB1dDpsYW5nKGVuKSB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiQnJvd3NlXCI7IH1cbiAgLmN1c3RvbS1maWxlLWlucHV0IH4gLmN1c3RvbS1maWxlLWxhYmVsW2RhdGEtYnJvd3NlXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1icm93c2UpOyB9XG5cbi5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSArIDJweCk7XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNDk1MDU3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2VkNGRhO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XG4gIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSk7XG4gICAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGNvbG9yOiAjNDk1MDU3O1xuICAgIGNvbnRlbnQ6IFwiQnJvd3NlXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbiAgICBib3JkZXItbGVmdDogaW5oZXJpdDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAuMjVyZW0gMC4yNXJlbSAwOyB9XG5cbi5jdXN0b20tcmFuZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDFyZW0gKyAwLjRyZW0pO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICAuY3VzdG9tLXJhbmdlOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgLmN1c3RvbS1yYW5nZTpmb2N1czo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTsgfVxuICAgIC5jdXN0b20tcmFuZ2U6Zm9jdXM6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTsgfVxuICAgIC5jdXN0b20tcmFuZ2U6Zm9jdXM6Oi1tcy10aHVtYiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpOyB9XG4gIC5jdXN0b20tcmFuZ2U6Oi1tb3otZm9jdXMtb3V0ZXIge1xuICAgIGJvcmRlcjogMDsgfVxuICAuY3VzdG9tLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgLmN1c3RvbS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lOyB9IH1cbiAgICAuY3VzdG9tLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYjphY3RpdmUsIC5jdXN0b20tcmFuZ2UubmljZS1zZWxlY3Qub3Blbjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IzZDdmZjsgfVxuICAuY3VzdG9tLXJhbmdlOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwLjVyZW07XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlMmU2O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTsgfVxuICAuY3VzdG9tLXJhbmdlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAuY3VzdG9tLXJhbmdlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsgfSB9XG4gICAgLmN1c3RvbS1yYW5nZTo6LW1vei1yYW5nZS10aHVtYjphY3RpdmUsIC5jdXN0b20tcmFuZ2UubmljZS1zZWxlY3Qub3Blbjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNkN2ZmOyB9XG4gIC5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMC41cmVtO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZTJlNjtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07IH1cbiAgLmN1c3RvbS1yYW5nZTo6LW1zLXRodW1iIHtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMnJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC4ycmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgLmN1c3RvbS1yYW5nZTo6LW1zLXRodW1iIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsgfSB9XG4gICAgLmN1c3RvbS1yYW5nZTo6LW1zLXRodW1iOmFjdGl2ZSwgLmN1c3RvbS1yYW5nZS5uaWNlLXNlbGVjdC5vcGVuOjotbXMtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IzZDdmZjsgfVxuICAuY3VzdG9tLXJhbmdlOjotbXMtdHJhY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMC41cmVtO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6IDAuNXJlbTsgfVxuICAuY3VzdG9tLXJhbmdlOjotbXMtZmlsbC1sb3dlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZTJlNjtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtOyB9XG4gIC5jdXN0b20tcmFuZ2U6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZTJlNjtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtOyB9XG4gIC5jdXN0b20tcmFuZ2U6ZGlzYWJsZWQ6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWRiNWJkOyB9XG4gIC5jdXN0b20tcmFuZ2U6ZGlzYWJsZWQ6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLmN1c3RvbS1yYW5nZTpkaXNhYmxlZDo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FkYjViZDsgfVxuICAuY3VzdG9tLXJhbmdlOmRpc2FibGVkOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLmN1c3RvbS1yYW5nZTpkaXNhYmxlZDo6LW1zLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWRiNWJkOyB9XG5cbi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuLmN1c3RvbS1maWxlLWxhYmVsLFxuLmN1c3RvbS1zZWxlY3Qge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbiAgICAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgLmN1c3RvbS1zZWxlY3Qge1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTsgfSB9XG5cbi5uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC41cmVtIDFyZW07IH1cbiAgLm5hdi1saW5rOmhvdmVyLCAubmF2LWxpbms6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAubmF2LWxpbmsuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RlZTJlNjsgfVxuICAubmF2LXRhYnMgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4OyB9XG4gIC5uYXYtdGFicyAubmF2LWxpbmsge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07IH1cbiAgICAubmF2LXRhYnMgLm5hdi1saW5rOmhvdmVyLCAubmF2LXRhYnMgLm5hdi1saW5rOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2U5ZWNlZiAjZTllY2VmICNkZWUyZTY7IH1cbiAgICAubmF2LXRhYnMgLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LXRhYnMgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogIzQ5NTA1NztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2RlZTJlNiAjZGVlMmU2ICNmZmY7IH1cbiAgLm5hdi10YWJzIC5kcm9wZG93bi1tZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cblxuLm5hdi1waWxscyAubmF2LWxpbmsge1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XG5cbi5uYXYtcGlsbHMgLm5hdi1saW5rLmFjdGl2ZSxcbi5uYXYtcGlsbHMgLnNob3cgPiAubmF2LWxpbmsge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsgfVxuXG4ubmF2LWZpbGwgLm5hdi1pdGVtIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubmF2LWp1c3RpZmllZCAubmF2LWl0ZW0ge1xuICBmbGV4LWJhc2lzOiAwO1xuICBmbGV4LWdyb3c6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGFiLWNvbnRlbnQgPiAudGFiLXBhbmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi50YWItY29udGVudCA+IC5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07IH1cbiAgLm5hdmJhciA+IC5jb250YWluZXIsIC5uYXZiYXIgPiAuaGVhZGVyLWNvbnRhaW5lcixcbiAgLm5hdmJhciA+IC5jb250YWluZXItZmx1aWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5uYXZiYXItYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAwLjMxMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAubmF2YmFyLWJyYW5kOmhvdmVyLCAubmF2YmFyLWJyYW5kOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLm5hdmJhci1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbm9uZTsgfVxuXG4ubmF2YmFyLXRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07IH1cblxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4ubmF2YmFyLXRvZ2dsZXIge1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxuICAubmF2YmFyLXRvZ2dsZXI6aG92ZXIsIC5uYXZiYXItdG9nZ2xlcjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLCAubmF2YmFyLWV4cGFuZC1zbSA+IC5oZWFkZXItY29udGFpbmVyLFxuICAubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXItZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLXNtIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAgIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgICAubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXIsIC5uYXZiYXItZXhwYW5kLXNtID4gLmhlYWRlci1jb250YWluZXIsXG4gICAgLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gICAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci10b2dnbGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLm5hdmJhci1leHBhbmQtbWQgPiAuY29udGFpbmVyLCAubmF2YmFyLWV4cGFuZC1tZCA+IC5oZWFkZXItY29udGFpbmVyLFxuICAubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXItZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLW1kIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXYge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAgIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgICAubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXIsIC5uYXZiYXItZXhwYW5kLW1kID4gLmhlYWRlci1jb250YWluZXIsXG4gICAgLm5hdmJhci1leHBhbmQtbWQgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gICAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLCAubmF2YmFyLWV4cGFuZC1sZyA+IC5oZWFkZXItY29udGFpbmVyLFxuICAubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXItZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLWxnIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAgIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgICAubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXIsIC5uYXZiYXItZXhwYW5kLWxnID4gLmhlYWRlci1jb250YWluZXIsXG4gICAgLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gICAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OS45OHB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lciwgLm5hdmJhci1leHBhbmQteGwgPiAuaGVhZGVyLWNvbnRhaW5lcixcbiAgLm5hdmJhci1leHBhbmQteGwgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm5hdmJhci1leHBhbmQteGwge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgICAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAgIC5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lciwgLm5hdmJhci1leHBhbmQteGwgPiAuaGVhZGVyLWNvbnRhaW5lcixcbiAgICAubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5uYXZiYXItZXhwYW5kIHtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLCAubmF2YmFyLWV4cGFuZCA+IC5oZWFkZXItY29udGFpbmVyLFxuICAubmF2YmFyLWV4cGFuZCA+IC5jb250YWluZXItZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lciwgLm5hdmJhci1leHBhbmQgPiAuaGVhZGVyLWNvbnRhaW5lcixcbiAgLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubmF2YmFyLWV4cGFuZCAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfVxuICAubmF2YmFyLWV4cGFuZCAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxuICAubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQ6aG92ZXIsIC5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZDpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxuXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbms6aG92ZXIsIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpOyB9XG4gIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLnNob3cgPiAubmF2LWxpbmssXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbmssXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5zaG93LFxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxuXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItdG9nZ2xlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5uYXZiYXItbGlnaHQgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGggc3Ryb2tlPSdyZ2JhKDAsIDAsIDAsIDAuNSknIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG5cbi5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dCBhIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpOyB9XG4gICAgLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYTpob3ZlciwgLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYTpmb2N1cyB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpOyB9XG5cbi5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kIHtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQ6aG92ZXIsIC5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVyLCAubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTsgfVxuICAubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsgfVxuXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLnNob3cgPiAubmF2LWxpbmssXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLmFjdGl2ZSA+IC5uYXYtbGluayxcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuc2hvdyxcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOyB9XG5cbi5uYXZiYXItZGFyayAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBzdHJva2U9J3JnYmEoMjU1LCAyNTUsIDI1NSwgMC41KScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzZSUzYy9zdmclM2VcIik7IH1cblxuLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5uYXZiYXItZGFyayAubmF2YmFyLXRleHQgYTpob3ZlciwgLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxuICAuY2FyZCA+IGhyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmNhcmQgPiAubGlzdC1ncm91cDpmaXJzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtOyB9XG4gIC5jYXJkID4gLmxpc3QtZ3JvdXA6bGFzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07IH1cblxuLmNhcmQtYm9keSB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAxLjI1cmVtOyB9XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IC0wLjM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWxpbms6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmNhcmQtbGluayArIC5jYXJkLWxpbmsge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG4uY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTsgfVxuICAuY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCkgY2FsYygwLjI1cmVtIC0gMXB4KSAwIDA7IH1cbiAgLmNhcmQtaGVhZGVyICsgLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTsgfVxuICAuY2FyZC1mb290ZXI6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIGNhbGMoMC4yNXJlbSAtIDFweCkgY2FsYygwLjI1cmVtIC0gMXB4KTsgfVxuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC43NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAxLjI1cmVtOyB9XG5cbi5jYXJkLWltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpOyB9XG5cbi5jYXJkLWltZy10b3Age1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7IH1cblxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTsgfVxuXG4uY2FyZC1kZWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuY2FyZC1kZWNrIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgLmNhcmQtZGVjayB7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7IH1cbiAgICAgIC5jYXJkLWRlY2sgLmNhcmQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogNXB4OyB9IH1cblxuLmNhcmQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5jYXJkLWdyb3VwID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAuY2FyZC1ncm91cCB7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgICAuY2FyZC1ncm91cCA+IC5jYXJkIHtcbiAgICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIC5jYXJkLWdyb3VwID4gLmNhcmQgKyAuY2FyZCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAgICAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuICAgICAgICAgIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cbiAgICAgICAgICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgICAgIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgfVxuICAgICAgICAgIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpmaXJzdC1jaGlsZCkgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG4gICAgICAgICAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKSAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpmaXJzdC1jaGlsZCkgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH0gfVxuXG4uY2FyZC1jb2x1bW5zIC5jYXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmNhcmQtY29sdW1ucyB7XG4gICAgY29sdW1uLWNvdW50OiAzO1xuICAgIGNvbHVtbi1nYXA6IDEuMjVyZW07XG4gICAgb3JwaGFuczogMTtcbiAgICB3aWRvd3M6IDE7IH1cbiAgICAuY2FyZC1jb2x1bW5zIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmFjY29yZGlvbiA+IC5jYXJkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuYWNjb3JkaW9uID4gLmNhcmQ6bm90KDpmaXJzdC1vZi10eXBlKSAuY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLmFjY29yZGlvbiA+IC5jYXJkOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLmFjY29yZGlvbiA+IC5jYXJkOmZpcnN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgfVxuICAuYWNjb3JkaW9uID4gLmNhcmQ6bGFzdC1vZi10eXBlIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG4gIC5hY2NvcmRpb24gPiAuY2FyZCAuY2FyZC1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IC0xcHg7IH1cblxuLmJyZWFkY3J1bWIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxuXG4uYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5icmVhZGNydW1iLWl0ZW0gKyAuYnJlYWRjcnVtYi1pdGVtOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgY29sb3I6ICM2Yzc1N2Q7XG4gICAgY29udGVudDogXCIvXCI7IH1cblxuLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5icmVhZGNydW1iLWl0ZW0gKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmJyZWFkY3J1bWItaXRlbS5hY3RpdmUge1xuICBjb2xvcjogIzZjNzU3ZDsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxuXG4ucGFnZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgY29sb3I6ICMwMDdiZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7IH1cbiAgLnBhZ2UtbGluazpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgICBjb2xvcjogIzAwNTZiMztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbiAgICBib3JkZXItY29sb3I6ICNkZWUyZTY7IH1cbiAgLnBhZ2UtbGluazpmb2N1cyB7XG4gICAgei1pbmRleDogMjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTsgfVxuXG4ucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTsgfVxuXG4ucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yNXJlbTsgfVxuXG4ucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rIHtcbiAgei1pbmRleDogMTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG4gIGJvcmRlci1jb2xvcjogIzAwN2JmZjsgfVxuXG4ucGFnZS1pdGVtLmRpc2FibGVkIC5wYWdlLWxpbmsge1xuICBjb2xvcjogIzZjNzU3ZDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGN1cnNvcjogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2OyB9XG5cbi5wYWdpbmF0aW9uLWxnIC5wYWdlLWxpbmsge1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5wYWdpbmF0aW9uLWxnIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuM3JlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4zcmVtOyB9XG5cbi5wYWdpbmF0aW9uLWxnIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuM3JlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuM3JlbTsgfVxuXG4ucGFnaW5hdGlvbi1zbSAucGFnZS1saW5rIHtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLnBhZ2luYXRpb24tc20gLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4ycmVtO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjJyZW07IH1cblxuLnBhZ2luYXRpb24tc20gLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4ycmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4ycmVtOyB9XG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4yNWVtIDAuNGVtO1xuICBmb250LXNpemU6IDc1JTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLmJhZGdlIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7IH0gfVxuICBhLmJhZGdlOmhvdmVyLCBhLmJhZGdlOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmJhZGdlOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7IH1cblxuLmJhZGdlLXBpbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjZlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjZlbTtcbiAgYm9yZGVyLXJhZGl1czogMTByZW07IH1cblxuLmJhZGdlLXByaW1hcnkge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsgfVxuICBhLmJhZGdlLXByaW1hcnk6aG92ZXIsIGEuYmFkZ2UtcHJpbWFyeTpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjJjYzsgfVxuICBhLmJhZGdlLXByaW1hcnk6Zm9jdXMsIGEuYmFkZ2UtcHJpbWFyeS5mb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC41KTsgfVxuXG4uYmFkZ2Utc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7IH1cbiAgYS5iYWRnZS1zZWNvbmRhcnk6aG92ZXIsIGEuYmFkZ2Utc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1YjYyOyB9XG4gIGEuYmFkZ2Utc2Vjb25kYXJ5OmZvY3VzLCBhLmJhZGdlLXNlY29uZGFyeS5mb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMDgsIDExNywgMTI1LCAwLjUpOyB9XG5cbi5iYWRnZS1zdWNjZXNzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7IH1cbiAgYS5iYWRnZS1zdWNjZXNzOmhvdmVyLCBhLmJhZGdlLXN1Y2Nlc3M6Zm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTdlMzQ7IH1cbiAgYS5iYWRnZS1zdWNjZXNzOmZvY3VzLCBhLmJhZGdlLXN1Y2Nlc3MuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuNSk7IH1cblxuLmJhZGdlLWluZm8ge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3YTJiODsgfVxuICBhLmJhZGdlLWluZm86aG92ZXIsIGEuYmFkZ2UtaW5mbzpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzExN2E4YjsgfVxuICBhLmJhZGdlLWluZm86Zm9jdXMsIGEuYmFkZ2UtaW5mby5mb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMywgMTYyLCAxODQsIDAuNSk7IH1cblxuLmJhZGdlLXdhcm5pbmcge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNzsgfVxuICBhLmJhZGdlLXdhcm5pbmc6aG92ZXIsIGEuYmFkZ2Utd2FybmluZzpmb2N1cyB7XG4gICAgY29sb3I6ICMyMTI1Mjk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzOWUwMDsgfVxuICBhLmJhZGdlLXdhcm5pbmc6Zm9jdXMsIGEuYmFkZ2Utd2FybmluZy5mb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNTUsIDE5MywgNywgMC41KTsgfVxuXG4uYmFkZ2UtZGFuZ2VyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7IH1cbiAgYS5iYWRnZS1kYW5nZXI6aG92ZXIsIGEuYmFkZ2UtZGFuZ2VyOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmQyMTMwOyB9XG4gIGEuYmFkZ2UtZGFuZ2VyOmZvY3VzLCBhLmJhZGdlLWRhbmdlci5mb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgMC41KTsgfVxuXG4uYmFkZ2UtbGlnaHQge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTsgfVxuICBhLmJhZGdlLWxpZ2h0OmhvdmVyLCBhLmJhZGdlLWxpZ2h0OmZvY3VzIHtcbiAgICBjb2xvcjogIzIxMjUyOTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFlMGU1OyB9XG4gIGEuYmFkZ2UtbGlnaHQ6Zm9jdXMsIGEuYmFkZ2UtbGlnaHQuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjQ4LCAyNDksIDI1MCwgMC41KTsgfVxuXG4uYmFkZ2UtZGFyayB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwOyB9XG4gIGEuYmFkZ2UtZGFyazpob3ZlciwgYS5iYWRnZS1kYXJrOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQyMTI0OyB9XG4gIGEuYmFkZ2UtZGFyazpmb2N1cywgYS5iYWRnZS1kYXJrLmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUyLCA1OCwgNjQsIDAuNSk7IH1cblxuLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6IDJyZW0gMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAgIC5qdW1ib3Ryb24ge1xuICAgICAgcGFkZGluZzogNHJlbSAycmVtOyB9IH1cblxuLmp1bWJvdHJvbi1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cblxuLmFsZXJ0LWhlYWRpbmcge1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogNHJlbTsgfVxuICAuYWxlcnQtZGlzbWlzc2libGUgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4uYWxlcnQtcHJpbWFyeSB7XG4gIGNvbG9yOiAjMDA0MDg1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NlNWZmO1xuICBib3JkZXItY29sb3I6ICNiOGRhZmY7IH1cbiAgLmFsZXJ0LXByaW1hcnkgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM5ZmNkZmY7IH1cbiAgLmFsZXJ0LXByaW1hcnkgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiAjMDAyNzUyOyB9XG5cbi5hbGVydC1zZWNvbmRhcnkge1xuICBjb2xvcjogIzM4M2Q0MTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTNlNTtcbiAgYm9yZGVyLWNvbG9yOiAjZDZkOGRiOyB9XG4gIC5hbGVydC1zZWNvbmRhcnkgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNjOGNiY2Y7IH1cbiAgLmFsZXJ0LXNlY29uZGFyeSAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6ICMyMDIzMjY7IH1cblxuLmFsZXJ0LXN1Y2Nlc3Mge1xuICBjb2xvcjogIzE1NTcyNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZWRkYTtcbiAgYm9yZGVyLWNvbG9yOiAjYzNlNmNiOyB9XG4gIC5hbGVydC1zdWNjZXNzIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjYjFkZmJiOyB9XG4gIC5hbGVydC1zdWNjZXNzIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogIzBiMmUxMzsgfVxuXG4uYWxlcnQtaW5mbyB7XG4gIGNvbG9yOiAjMGM1NDYwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDFlY2YxO1xuICBib3JkZXItY29sb3I6ICNiZWU1ZWI7IH1cbiAgLmFsZXJ0LWluZm8gaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNhYmRkZTU7IH1cbiAgLmFsZXJ0LWluZm8gLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiAjMDYyYzMzOyB9XG5cbi5hbGVydC13YXJuaW5nIHtcbiAgY29sb3I6ICM4NTY0MDQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYzY2Q7XG4gIGJvcmRlci1jb2xvcjogI2ZmZWViYTsgfVxuICAuYWxlcnQtd2FybmluZyBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZThhMTsgfVxuICAuYWxlcnQtd2FybmluZyAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6ICM1MzNmMDM7IH1cblxuLmFsZXJ0LWRhbmdlciB7XG4gIGNvbG9yOiAjNzIxYzI0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhkN2RhO1xuICBib3JkZXItY29sb3I6ICNmNWM2Y2I7IH1cbiAgLmFsZXJ0LWRhbmdlciBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2YxYjBiNzsgfVxuICAuYWxlcnQtZGFuZ2VyIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogIzQ5MTIxNzsgfVxuXG4uYWxlcnQtbGlnaHQge1xuICBjb2xvcjogIzgxODE4MjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyLWNvbG9yOiAjZmRmZGZlOyB9XG4gIC5hbGVydC1saWdodCBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2VjZWNmNjsgfVxuICAuYWxlcnQtbGlnaHQgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiAjNjg2ODY4OyB9XG5cbi5hbGVydC1kYXJrIHtcbiAgY29sb3I6ICMxYjFlMjE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNmQ4ZDk7XG4gIGJvcmRlci1jb2xvcjogI2M2YzhjYTsgfVxuICAuYWxlcnQtZGFyayBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2I5YmJiZTsgfVxuICAuYWxlcnQtZGFyayAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6ICMwNDA1MDU7IH1cblxuQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDFyZW0gMDsgfVxuICB0byB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9IH1cblxuLnByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7IH1cbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAucHJvZ3Jlc3MtYmFyIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7IH0gfVxuXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1zaXplOiAxcmVtIDFyZW07IH1cblxuLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMXMgbGluZWFyIGluZmluaXRlOyB9XG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgICBhbmltYXRpb246IG5vbmU7IH0gfVxuXG4ubWVkaWEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4ubWVkaWEtYm9keSB7XG4gIGZsZXg6IDE7IH1cblxuLmxpc3QtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICM0OTUwNTc7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IH1cbiAgLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGNvbG9yOiAjNDk1MDU3O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmFjdGl2ZSwgLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ubmljZS1zZWxlY3Qub3BlbiB7XG4gICAgY29sb3I6ICMyMTI1Mjk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjsgfVxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTsgfVxuICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQsIC5saXN0LWdyb3VwLWl0ZW06ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbiAgICBib3JkZXItY29sb3I6ICMwMDdiZmY7IH1cblxuLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtc20ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cbiAgICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwtc20gLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsLW1kIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgfVxuICAgICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1sZyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXhsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXhsIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9IH1cblxuLmxpc3QtZ3JvdXAtZmx1c2ggLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLmxpc3QtZ3JvdXAtZmx1c2ggLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4OyB9XG5cbi5saXN0LWdyb3VwLWZsdXNoOmZpcnN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiAwOyB9XG5cbi5saXN0LWdyb3VwLWZsdXNoOmxhc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4ubGlzdC1ncm91cC1pdGVtLXByaW1hcnkge1xuICBjb2xvcjogIzAwNDA4NTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I4ZGFmZjsgfVxuICAubGlzdC1ncm91cC1pdGVtLXByaW1hcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICAgIGNvbG9yOiAjMDA0MDg1O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5ZmNkZmY7IH1cbiAgLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0MDg1O1xuICAgIGJvcmRlci1jb2xvcjogIzAwNDA4NTsgfVxuXG4ubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjMzgzZDQxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZkOGRiOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICAgIGNvbG9yOiAjMzgzZDQxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjOGNiY2Y7IH1cbiAgLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzODNkNDE7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzgzZDQxOyB9XG5cbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyB7XG4gIGNvbG9yOiAjMTU1NzI0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzNlNmNiOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMxNTU3MjQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IxZGZiYjsgfVxuICAubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTU3MjQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTU1NzI0OyB9XG5cbi5saXN0LWdyb3VwLWl0ZW0taW5mbyB7XG4gIGNvbG9yOiAjMGM1NDYwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmVlNWViOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW0taW5mby5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWluZm8ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMwYzU0NjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FiZGRlNTsgfVxuICAubGlzdC1ncm91cC1pdGVtLWluZm8ubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwYzU0NjA7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGM1NDYwOyB9XG5cbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZyB7XG4gIGNvbG9yOiAjODU2NDA0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZWJhOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gICAgY29sb3I6ICM4NTY0MDQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZThhMTsgfVxuICAubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4NTY0MDQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjODU2NDA0OyB9XG5cbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyIHtcbiAgY29sb3I6ICM3MjFjMjQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWM2Y2I7IH1cbiAgLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gICAgY29sb3I6ICM3MjFjMjQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxYjBiNzsgfVxuICAubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzcyMWMyNDtcbiAgICBib3JkZXItY29sb3I6ICM3MjFjMjQ7IH1cblxuLmxpc3QtZ3JvdXAtaXRlbS1saWdodCB7XG4gIGNvbG9yOiAjODE4MTgyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZlOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW0tbGlnaHQubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1saWdodC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzgxODE4MjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2Y2OyB9XG4gIC5saXN0LWdyb3VwLWl0ZW0tbGlnaHQubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MTgxODI7XG4gICAgYm9yZGVyLWNvbG9yOiAjODE4MTgyOyB9XG5cbi5saXN0LWdyb3VwLWl0ZW0tZGFyayB7XG4gIGNvbG9yOiAjMWIxZTIxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZjOGNhOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW0tZGFyay5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWRhcmsubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMxYjFlMjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I5YmJiZTsgfVxuICAubGlzdC1ncm91cC1pdGVtLWRhcmsubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYjFlMjE7XG4gICAgYm9yZGVyLWNvbG9yOiAjMWIxZTIxOyB9XG5cbi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjtcbiAgb3BhY2l0eTogLjU7IH1cbiAgLmNsb3NlOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmNsb3NlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmhvdmVyLCAuY2xvc2U6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6Zm9jdXMge1xuICAgIG9wYWNpdHk6IC43NTsgfVxuXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG5cbmEuY2xvc2UuZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4udG9hc3Qge1xuICBtYXgtd2lkdGg6IDM1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJveC1zaGFkb3c6IDAgMC4yNXJlbSAwLjc1cmVtIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICBvcGFjaXR5OiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XG4gIC50b2FzdDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XG4gIC50b2FzdC5zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC50b2FzdC5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC50b2FzdC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNzVyZW07XG4gIGNvbG9yOiAjNmM3NTdkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuXG4udG9hc3QtYm9keSB7XG4gIHBhZGRpbmc6IDAuNzVyZW07IH1cblxuLm1vZGFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5tb2RhbC1vcGVuIC5tb2RhbCB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwNTA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG91dGxpbmU6IDA7IH1cblxuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMC41cmVtO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9nIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTBweCk7IH1cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgLm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7IH0gfVxuICAubW9kYWwuc2hvdyAubW9kYWwtZGlhbG9nIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gMXJlbSk7IH1cbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMXJlbSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUgLm1vZGFsLWhlYWRlcixcbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1mb290ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwOyB9XG4gIC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gMXJlbSk7IH1cbiAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxcmVtKTtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lOyB9XG4gICAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cblxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiAwLjNyZW07XG4gIG91dGxpbmU6IDA7IH1cblxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwNDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAubW9kYWwtYmFja2Ryb3AuZmFkZSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAubW9kYWwtYmFja2Ryb3Auc2hvdyB7XG4gICAgb3BhY2l0eTogMC41OyB9XG5cbi5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAxcmVtIDFyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGVlMmU2O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjNyZW07XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjNyZW07IH1cbiAgLm1vZGFsLWhlYWRlciAuY2xvc2Uge1xuICAgIHBhZGRpbmc6IDFyZW0gMXJlbTtcbiAgICBtYXJnaW46IC0xcmVtIC0xcmVtIC0xcmVtIGF1dG87IH1cblxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IDFyZW07IH1cblxuLm1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGVlMmU2O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4zcmVtO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjNyZW07IH1cbiAgLm1vZGFsLWZvb3RlciA+IDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWxlZnQ6IC4yNXJlbTsgfVxuICAubW9kYWwtZm9vdGVyID4gOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogLjI1cmVtOyB9XG5cbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIG1hcmdpbjogMS43NXJlbSBhdXRvOyB9XG4gIC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gMy41cmVtKTsgfVxuICAgIC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMy41cmVtKTsgfVxuICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjVyZW0pOyB9XG4gICAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZDo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDMuNXJlbSk7IH1cbiAgLm1vZGFsLXNtIHtcbiAgICBtYXgtd2lkdGg6IDMwMHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tb2RhbC1sZyxcbiAgLm1vZGFsLXhsIHtcbiAgICBtYXgtd2lkdGg6IDgwMHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubW9kYWwteGwge1xuICAgIG1heC13aWR0aDogMTE0MHB4OyB9IH1cblxuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwNzA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLnRvb2x0aXAuc2hvdyB7XG4gICAgb3BhY2l0eTogMC45OyB9XG4gIC50b29sdGlwIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwLjhyZW07XG4gICAgaGVpZ2h0OiAwLjRyZW07IH1cbiAgICAudG9vbHRpcCAuYXJyb3c6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cblxuLmJzLXRvb2x0aXAtdG9wLCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gIHBhZGRpbmc6IDAuNHJlbSAwOyB9XG4gIC5icy10b29sdGlwLXRvcCAuYXJyb3csIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwidG9wXCJdIC5hcnJvdyB7XG4gICAgYm90dG9tOiAwOyB9XG4gICAgLmJzLXRvb2x0aXAtdG9wIC5hcnJvdzo6YmVmb3JlLCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSAuYXJyb3c6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAuNHJlbSAwLjRyZW0gMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDA7IH1cblxuLmJzLXRvb2x0aXAtcmlnaHQsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICBwYWRkaW5nOiAwIDAuNHJlbTsgfVxuICAuYnMtdG9vbHRpcC1yaWdodCAuYXJyb3csIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwicmlnaHRcIl0gLmFycm93IHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAwLjRyZW07XG4gICAgaGVpZ2h0OiAwLjhyZW07IH1cbiAgICAuYnMtdG9vbHRpcC1yaWdodCAuYXJyb3c6OmJlZm9yZSwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJyaWdodFwiXSAuYXJyb3c6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMC40cmVtIDAuNHJlbSAwLjRyZW0gMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzAwMDsgfVxuXG4uYnMtdG9vbHRpcC1ib3R0b20sIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgcGFkZGluZzogMC40cmVtIDA7IH1cbiAgLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdywgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLmFycm93IHtcbiAgICB0b3A6IDA7IH1cbiAgICAuYnMtdG9vbHRpcC1ib3R0b20gLmFycm93OjpiZWZvcmUsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIC5hcnJvdzo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwLjRyZW0gMC40cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwMDsgfVxuXG4uYnMtdG9vbHRpcC1sZWZ0LCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICBwYWRkaW5nOiAwIDAuNHJlbTsgfVxuICAuYnMtdG9vbHRpcC1sZWZ0IC5hcnJvdywgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC5hcnJvdyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDAuNHJlbTtcbiAgICBoZWlnaHQ6IDAuOHJlbTsgfVxuICAgIC5icy10b29sdGlwLWxlZnQgLmFycm93OjpiZWZvcmUsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwibGVmdFwiXSAuYXJyb3c6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjRyZW0gMCAwLjRyZW0gMC40cmVtO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICMwMDA7IH1cblxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxuXG4ucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDYwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAyNzZweDtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiAwLjNyZW07IH1cbiAgLnBvcG92ZXIgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAwLjVyZW07XG4gICAgbWFyZ2luOiAwIDAuM3JlbTsgfVxuICAgIC5wb3BvdmVyIC5hcnJvdzo6YmVmb3JlLCAucG9wb3ZlciAuYXJyb3c6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG5cbi5icy1wb3BvdmVyLXRvcCwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgLmJzLXBvcG92ZXItdG9wID4gLmFycm93LCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSA+IC5hcnJvdyB7XG4gICAgYm90dG9tOiBjYWxjKCgwLjVyZW0gKyAxcHgpICogLTEpOyB9XG4gICAgLmJzLXBvcG92ZXItdG9wID4gLmFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwidG9wXCJdID4gLmFycm93OjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMC41cmVtIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG4gICAgLmJzLXBvcG92ZXItdG9wID4gLmFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJ0b3BcIl0gPiAuYXJyb3c6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogMXB4O1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMC41cmVtIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZmOyB9XG5cbi5icy1wb3BvdmVyLXJpZ2h0LCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAuYnMtcG9wb3Zlci1yaWdodCA+IC5hcnJvdywgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJyaWdodFwiXSA+IC5hcnJvdyB7XG4gICAgbGVmdDogY2FsYygoMC41cmVtICsgMXB4KSAqIC0xKTtcbiAgICB3aWR0aDogMC41cmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBtYXJnaW46IDAuM3JlbSAwOyB9XG4gICAgLmJzLXBvcG92ZXItcmlnaHQgPiAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJyaWdodFwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAuNXJlbSAwLjVyZW0gMC41cmVtIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICAuYnMtcG9wb3Zlci1yaWdodCA+IC5hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwicmlnaHRcIl0gPiAuYXJyb3c6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDFweDtcbiAgICAgIGJvcmRlci13aWR0aDogMC41cmVtIDAuNXJlbSAwLjVyZW0gMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2ZmZjsgfVxuXG4uYnMtcG9wb3Zlci1ib3R0b20sIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gIC5icy1wb3BvdmVyLWJvdHRvbSA+IC5hcnJvdywgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJib3R0b21cIl0gPiAuYXJyb3cge1xuICAgIHRvcDogY2FsYygoMC41cmVtICsgMXB4KSAqIC0xKTsgfVxuICAgIC5icy1wb3BvdmVyLWJvdHRvbSA+IC5hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSA+IC5hcnJvdzo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwLjVyZW0gMC41cmVtIDAuNXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICAuYnMtcG9wb3Zlci1ib3R0b20gPiAuYXJyb3c6OmFmdGVyLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSA+IC5hcnJvdzo6YWZ0ZXIge1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMC41cmVtIDAuNXJlbSAwLjVyZW07XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmOyB9XG4gIC5icy1wb3BvdmVyLWJvdHRvbSAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmN2Y3Zjc7IH1cblxuLmJzLXBvcG92ZXItbGVmdCwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgLmJzLXBvcG92ZXItbGVmdCA+IC5hcnJvdywgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdID4gLmFycm93IHtcbiAgICByaWdodDogY2FsYygoMC41cmVtICsgMXB4KSAqIC0xKTtcbiAgICB3aWR0aDogMC41cmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBtYXJnaW46IDAuM3JlbSAwOyB9XG4gICAgLmJzLXBvcG92ZXItbGVmdCA+IC5hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0gPiAuYXJyb3c6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMC41cmVtIDAgMC41cmVtIDAuNXJlbTtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG4gICAgLmJzLXBvcG92ZXItbGVmdCA+IC5hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwibGVmdFwiXSA+IC5hcnJvdzo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDFweDtcbiAgICAgIGJvcmRlci13aWR0aDogMC41cmVtIDAgMC41cmVtIDAuNXJlbTtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZmOyB9XG5cbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWJlYmViO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKDAuM3JlbSAtIDFweCk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKDAuM3JlbSAtIDFweCk7IH1cbiAgLnBvcG92ZXItaGVhZGVyOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgY29sb3I6ICMyMTI1Mjk7IH1cblxuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTsgfVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jYXJvdXNlbC1pbm5lcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7IH1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5jYXJvdXNlbC1pdGVtIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7IH0gfVxuXG4uY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLWxlZnQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLXJpZ2h0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4uY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zZm9ybTogbm9uZTsgfVxuXG4uY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4uY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcbi5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gIHotaW5kZXg6IDE7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsXG4uY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB6LWluZGV4OiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiAwcyAwLjZzIG9wYWNpdHk7IH1cbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgICAuY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTsgfSB9XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxNSU7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDAuNTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlOyB9XG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbiAgICAuY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7IH0gfVxuICAuY2Fyb3VzZWwtY29udHJvbC1wcmV2OmhvdmVyLCAuY2Fyb3VzZWwtY29udHJvbC1wcmV2OmZvY3VzLFxuICAuY2Fyb3VzZWwtY29udHJvbC1uZXh0OmhvdmVyLFxuICAuY2Fyb3VzZWwtY29udHJvbC1uZXh0OmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBvcGFjaXR5OiAwLjk7IH1cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gIGxlZnQ6IDA7IH1cblxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHJpZ2h0OiAwOyB9XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IDUwJSAvIDEwMCUgMTAwJTsgfVxuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZmZmJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41LTIuNS0yLjUgMi41LTIuNS0xLjUtMS41eicvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZmZmJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZD0nTTIuNzUgMGwtMS41IDEuNSAyLjUgMi41LTIuNSAyLjUgMS41IDEuNSA0LTQtNC00eicvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMTUlO1xuICBtYXJnaW4tbGVmdDogMTUlO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3JkZXItdG9wOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzIGVhc2U7IH1cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgLmNhcm91c2VsLWluZGljYXRvcnMgbGkge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lOyB9IH1cbiAgLmNhcm91c2VsLWluZGljYXRvcnMgLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE1JTtcbiAgYm90dG9tOiAyMHB4O1xuICBsZWZ0OiAxNSU7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLnNwaW5uZXItYm9yZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIGJvcmRlcjogMC4yNWVtIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246IHNwaW5uZXItYm9yZGVyIC43NXMgbGluZWFyIGluZmluaXRlOyB9XG5cbi5zcGlubmVyLWJvcmRlci1zbSB7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIGJvcmRlci13aWR0aDogMC4yZW07IH1cblxuQGtleWZyYW1lcyBzcGlubmVyLWdyb3cge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uc3Bpbm5lci1ncm93IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBhbmltYXRpb246IHNwaW5uZXItZ3JvdyAuNzVzIGxpbmVhciBpbmZpbml0ZTsgfVxuXG4uc3Bpbm5lci1ncm93LXNtIHtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTsgfVxuXG4uYWxpZ24tYmFzZWxpbmUge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50OyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDsgfVxuXG4uYWxpZ24tdGV4dC1ib3R0b20ge1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b20gIWltcG9ydGFudDsgfVxuXG4uYWxpZ24tdGV4dC10b3Age1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudDsgfVxuXG4uYmctcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmYgIWltcG9ydGFudDsgfVxuXG5hLmJnLXByaW1hcnk6aG92ZXIsIGEuYmctcHJpbWFyeTpmb2N1cyxcbmJ1dHRvbi5iZy1wcmltYXJ5OmhvdmVyLFxuYnV0dG9uLmJnLXByaW1hcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2MmNjICFpbXBvcnRhbnQ7IH1cblxuLmJnLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2QgIWltcG9ydGFudDsgfVxuXG5hLmJnLXNlY29uZGFyeTpob3ZlciwgYS5iZy1zZWNvbmRhcnk6Zm9jdXMsXG5idXR0b24uYmctc2Vjb25kYXJ5OmhvdmVyLFxuYnV0dG9uLmJnLXNlY29uZGFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDViNjIgIWltcG9ydGFudDsgfVxuXG4uYmctc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDUgIWltcG9ydGFudDsgfVxuXG5hLmJnLXN1Y2Nlc3M6aG92ZXIsIGEuYmctc3VjY2Vzczpmb2N1cyxcbmJ1dHRvbi5iZy1zdWNjZXNzOmhvdmVyLFxuYnV0dG9uLmJnLXN1Y2Nlc3M6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU3ZTM0ICFpbXBvcnRhbnQ7IH1cblxuLmJnLWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdhMmI4ICFpbXBvcnRhbnQ7IH1cblxuYS5iZy1pbmZvOmhvdmVyLCBhLmJnLWluZm86Zm9jdXMsXG5idXR0b24uYmctaW5mbzpob3ZlcixcbmJ1dHRvbi5iZy1pbmZvOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzExN2E4YiAhaW1wb3J0YW50OyB9XG5cbi5iZy13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNyAhaW1wb3J0YW50OyB9XG5cbmEuYmctd2FybmluZzpob3ZlciwgYS5iZy13YXJuaW5nOmZvY3VzLFxuYnV0dG9uLmJnLXdhcm5pbmc6aG92ZXIsXG5idXR0b24uYmctd2FybmluZzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMzllMDAgIWltcG9ydGFudDsgfVxuXG4uYmctZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzU0NSAhaW1wb3J0YW50OyB9XG5cbmEuYmctZGFuZ2VyOmhvdmVyLCBhLmJnLWRhbmdlcjpmb2N1cyxcbmJ1dHRvbi5iZy1kYW5nZXI6aG92ZXIsXG5idXR0b24uYmctZGFuZ2VyOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JkMjEzMCAhaW1wb3J0YW50OyB9XG5cbi5iZy1saWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmEgIWltcG9ydGFudDsgfVxuXG5hLmJnLWxpZ2h0OmhvdmVyLCBhLmJnLWxpZ2h0OmZvY3VzLFxuYnV0dG9uLmJnLWxpZ2h0OmhvdmVyLFxuYnV0dG9uLmJnLWxpZ2h0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZTBlNSAhaW1wb3J0YW50OyB9XG5cbi5iZy1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MCAhaW1wb3J0YW50OyB9XG5cbmEuYmctZGFyazpob3ZlciwgYS5iZy1kYXJrOmZvY3VzLFxuYnV0dG9uLmJnLWRhcms6aG92ZXIsXG5idXR0b24uYmctZGFyazpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZDIxMjQgIWltcG9ydGFudDsgfVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cblxuLmJnLXRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNiAhaW1wb3J0YW50OyB9XG5cbi5ib3JkZXItdG9wIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZWUyZTYgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLXJpZ2h0IHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RlZTJlNiAhaW1wb3J0YW50OyB9XG5cbi5ib3JkZXItYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZWUyZTYgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLWxlZnQge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkZWUyZTYgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLTAge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLXRvcC0wIHtcbiAgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi5ib3JkZXItcmlnaHQtMCB7XG4gIGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi5ib3JkZXItYm90dG9tLTAge1xuICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLmJvcmRlci1sZWZ0LTAge1xuICBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi5ib3JkZXItcHJpbWFyeSB7XG4gIGJvcmRlci1jb2xvcjogIzAwN2JmZiAhaW1wb3J0YW50OyB9XG5cbi5ib3JkZXItc2Vjb25kYXJ5IHtcbiAgYm9yZGVyLWNvbG9yOiAjNmM3NTdkICFpbXBvcnRhbnQ7IH1cblxuLmJvcmRlci1zdWNjZXNzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1ICFpbXBvcnRhbnQ7IH1cblxuLmJvcmRlci1pbmZvIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTdhMmI4ICFpbXBvcnRhbnQ7IH1cblxuLmJvcmRlci13YXJuaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZjMTA3ICFpbXBvcnRhbnQ7IH1cblxuLmJvcmRlci1kYW5nZXIge1xuICBib3JkZXItY29sb3I6ICNkYzM1NDUgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLWxpZ2h0IHtcbiAgYm9yZGVyLWNvbG9yOiAjZjhmOWZhICFpbXBvcnRhbnQ7IH1cblxuLmJvcmRlci1kYXJrIHtcbiAgYm9yZGVyLWNvbG9yOiAjMzQzYTQwICFpbXBvcnRhbnQ7IH1cblxuLmJvcmRlci13aGl0ZSB7XG4gIGJvcmRlci1jb2xvcjogI2ZmZiAhaW1wb3J0YW50OyB9XG5cbi5yb3VuZGVkLXNtIHtcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtICFpbXBvcnRhbnQ7IH1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnJvdW5kZWQtdG9wIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5yb3VuZGVkLXJpZ2h0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucm91bmRlZC1ib3R0b20ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnJvdW5kZWQtbGVmdCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5yb3VuZGVkLWxnIHtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtICFpbXBvcnRhbnQ7IH1cblxuLnJvdW5kZWQtY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7IH1cblxuLnJvdW5kZWQtcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwcmVtICFpbXBvcnRhbnQ7IH1cblxuLnJvdW5kZWQtMCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDsgfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiOyB9XG5cbi5kLW5vbmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmQtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cblxuLmQtaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmQtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5kLXRhYmxlIHtcbiAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuXG4uZC10YWJsZS1yb3cge1xuICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuXG4uZC10YWJsZS1jZWxsIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbi5kLWZsZXgge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cblxuLmQtaW5saW5lLWZsZXgge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuZC1zbS1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmQtc20taW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuICAuZC1zbS1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG4gIC5kLXNtLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5kLXNtLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIC5kLXNtLXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgLmQtc20tdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIC5kLXNtLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuICAuZC1zbS1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZC1tZC1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmQtbWQtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuICAuZC1tZC1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG4gIC5kLW1kLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5kLW1kLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIC5kLW1kLXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgLmQtbWQtdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIC5kLW1kLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuICAuZC1tZC1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZC1sZy1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmQtbGctaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuICAuZC1sZy1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG4gIC5kLWxnLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5kLWxnLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIC5kLWxnLXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgLmQtbGctdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIC5kLWxnLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuICAuZC1sZy1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmQteGwtbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5kLXhsLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbiAgLmQteGwtaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuICAuZC14bC1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuZC14bC10YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAuZC14bC10YWJsZS1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIC5kLXhsLXRhYmxlLWNlbGwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAuZC14bC1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cbiAgLmQteGwtaW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQge1xuICAuZC1wcmludC1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuICAuZC1wcmludC1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuICAuZC1wcmludC1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfSB9XG5cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmVtYmVkLXJlc3BvbnNpdmU6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjsgfVxuICAuZW1iZWQtcmVzcG9uc2l2ZSAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICAuZW1iZWQtcmVzcG9uc2l2ZSBpZnJhbWUsXG4gIC5lbWJlZC1yZXNwb25zaXZlIGVtYmVkLFxuICAuZW1iZWQtcmVzcG9uc2l2ZSBvYmplY3QsXG4gIC5lbWJlZC1yZXNwb25zaXZlIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7IH1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMjFieTk6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiA0Mi44NTcxNCU7IH1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMTZieTk6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7IH1cblxuLmVtYmVkLXJlc3BvbnNpdmUtNGJ5Mzo6YmVmb3JlIHtcbiAgcGFkZGluZy10b3A6IDc1JTsgfVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0xYnkxOjpiZWZvcmUge1xuICBwYWRkaW5nLXRvcDogMTAwJTsgfVxuXG4uZmxleC1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cblxuLmZsZXgtY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9XG5cbi5mbGV4LXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cblxuLmZsZXgtY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4uZmxleC13cmFwIHtcbiAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cblxuLmZsZXgtbm93cmFwIHtcbiAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsgfVxuXG4uZmxleC13cmFwLXJldmVyc2Uge1xuICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbi5mbGV4LWZpbGwge1xuICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OyB9XG5cbi5mbGV4LWdyb3ctMCB7XG4gIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG5cbi5mbGV4LWdyb3ctMSB7XG4gIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XG5cbi5mbGV4LXNocmluay0wIHtcbiAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsgfVxuXG4uZmxleC1zaHJpbmstMSB7XG4gIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7IH1cblxuLmp1c3RpZnktY29udGVudC1zdGFydCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG5cbi5qdXN0aWZ5LWNvbnRlbnQtZW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG5cbi5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG4uanVzdGlmeS1jb250ZW50LWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuXG4uanVzdGlmeS1jb250ZW50LWFyb3VuZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cblxuLmFsaWduLWl0ZW1zLXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuXG4uYWxpZ24taXRlbXMtZW5kIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cblxuLmFsaWduLWl0ZW1zLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG4uYWxpZ24taXRlbXMtYmFzZWxpbmUge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuXG4uYWxpZ24taXRlbXMtc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuLmFsaWduLWNvbnRlbnQtc3RhcnQge1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cblxuLmFsaWduLWNvbnRlbnQtZW5kIHtcbiAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuXG4uYWxpZ24tY29udGVudC1jZW50ZXIge1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG4uYWxpZ24tY29udGVudC1iZXR3ZWVuIHtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG5cbi5hbGlnbi1jb250ZW50LWFyb3VuZCB7XG4gIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbi5hbGlnbi1jb250ZW50LXN0cmV0Y2gge1xuICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuLmFsaWduLXNlbGYtYXV0byB7XG4gIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4uYWxpZ24tc2VsZi1zdGFydCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuXG4uYWxpZ24tc2VsZi1lbmQge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG5cbi5hbGlnbi1zZWxmLWNlbnRlciB7XG4gIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbi5hbGlnbi1zZWxmLWJhc2VsaW5lIHtcbiAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuZmxleC1zbS1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxuICAuZmxleC1zbS1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAuZmxleC1zbS1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtc20tY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LXNtLXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LXNtLW5vd3JhcCB7XG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsgfVxuICAuZmxleC1zbS13cmFwLXJldmVyc2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtc20tZmlsbCB7XG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAuZmxleC1zbS1ncm93LTAge1xuICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LXNtLWdyb3ctMSB7XG4gICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtc20tc2hyaW5rLTAge1xuICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtc20tc2hyaW5rLTEge1xuICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7IH1cbiAgLmp1c3RpZnktY29udGVudC1zbS1zdGFydCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgLmp1c3RpZnktY29udGVudC1zbS1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAuanVzdGlmeS1jb250ZW50LXNtLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAuanVzdGlmeS1jb250ZW50LXNtLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1pdGVtcy1zbS1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24taXRlbXMtc20tZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24taXRlbXMtc20tY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWl0ZW1zLXNtLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAuYWxpZ24taXRlbXMtc20tc3RyZXRjaCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICAuYWxpZ24tY29udGVudC1zbS1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1jb250ZW50LXNtLWVuZCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tY29udGVudC1zbS1jZW50ZXIge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1jb250ZW50LXNtLWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAuYWxpZ24tY29udGVudC1zbS1hcm91bmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1jb250ZW50LXNtLXN0cmV0Y2gge1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICAuYWxpZ24tc2VsZi1zbS1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLXNlbGYtc20tc3RhcnQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tc2VsZi1zbS1lbmQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLXNlbGYtc20tY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tc2VsZi1zbS1iYXNlbGluZSB7XG4gICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tc2VsZi1zbS1zdHJldGNoIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZsZXgtbWQtcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtbWQtY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtbWQtcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LW1kLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAuZmxleC1tZC13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAuZmxleC1tZC1ub3dyYXAge1xuICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtbWQtd3JhcC1yZXZlcnNlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LW1kLWZpbGwge1xuICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtbWQtZ3Jvdy0wIHtcbiAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsgfVxuICAuZmxleC1tZC1ncm93LTEge1xuICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LW1kLXNocmluay0wIHtcbiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LW1kLXNocmluay0xIHtcbiAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50OyB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgLmp1c3RpZnktY29udGVudC1tZC1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLmp1c3RpZnktY29udGVudC1tZC1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAuanVzdGlmeS1jb250ZW50LW1kLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24taXRlbXMtbWQtc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWl0ZW1zLW1kLWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWl0ZW1zLW1kLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1pdGVtcy1tZC1iYXNlbGluZSB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWl0ZW1zLW1kLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWNvbnRlbnQtbWQtc3RhcnQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tY29udGVudC1tZC1lbmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWNvbnRlbnQtbWQtY2VudGVyIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tY29udGVudC1tZC1iZXR3ZWVuIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWNvbnRlbnQtbWQtYXJvdW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tY29udGVudC1tZC1zdHJldGNoIHtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLXNlbGYtbWQtYXV0byB7XG4gICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1zZWxmLW1kLXN0YXJ0IHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLXNlbGYtbWQtZW5kIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1zZWxmLW1kLWNlbnRlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLXNlbGYtbWQtYmFzZWxpbmUge1xuICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLXNlbGYtbWQtc3RyZXRjaCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mbGV4LWxnLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LWxnLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LWxnLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAuZmxleC1sZy1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtbGctd3JhcCB7XG4gICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtbGctbm93cmFwIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LWxnLXdyYXAtcmV2ZXJzZSB7XG4gICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAuZmxleC1sZy1maWxsIHtcbiAgICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LWxnLWdyb3ctMCB7XG4gICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtbGctZ3Jvdy0xIHtcbiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDsgfVxuICAuZmxleC1sZy1zaHJpbmstMCB7XG4gICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsgfVxuICAuZmxleC1sZy1zaHJpbmstMSB7XG4gICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuICAuanVzdGlmeS1jb250ZW50LWxnLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAuanVzdGlmeS1jb250ZW50LWxnLWVuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgLmp1c3RpZnktY29udGVudC1sZy1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWl0ZW1zLWxnLXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1pdGVtcy1sZy1lbmQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1pdGVtcy1sZy1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAuYWxpZ24taXRlbXMtbGctYmFzZWxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1pdGVtcy1sZy1zdHJldGNoIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1jb250ZW50LWxnLXN0YXJ0IHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWNvbnRlbnQtbGctZW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1jb250ZW50LWxnLWNlbnRlciB7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWNvbnRlbnQtbGctYmV0d2VlbiB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1jb250ZW50LWxnLWFyb3VuZCB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWNvbnRlbnQtbGctc3RyZXRjaCB7XG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1zZWxmLWxnLWF1dG8ge1xuICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAuYWxpZ24tc2VsZi1sZy1zdGFydCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1zZWxmLWxnLWVuZCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tc2VsZi1sZy1jZW50ZXIge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1zZWxmLWxnLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1zZWxmLWxnLXN0cmV0Y2gge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZsZXgteGwtcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgteGwtY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgteGwtcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LXhsLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAuZmxleC14bC13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAuZmxleC14bC1ub3dyYXAge1xuICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgteGwtd3JhcC1yZXZlcnNlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LXhsLWZpbGwge1xuICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgteGwtZ3Jvdy0wIHtcbiAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsgfVxuICAuZmxleC14bC1ncm93LTEge1xuICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LXhsLXNocmluay0wIHtcbiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LXhsLXNocmluay0xIHtcbiAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50OyB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgLmp1c3RpZnktY29udGVudC14bC1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLmp1c3RpZnktY29udGVudC14bC1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAuanVzdGlmeS1jb250ZW50LXhsLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24taXRlbXMteGwtc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWl0ZW1zLXhsLWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWl0ZW1zLXhsLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1pdGVtcy14bC1iYXNlbGluZSB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWl0ZW1zLXhsLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWNvbnRlbnQteGwtc3RhcnQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tY29udGVudC14bC1lbmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWNvbnRlbnQteGwtY2VudGVyIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tY29udGVudC14bC1iZXR3ZWVuIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWNvbnRlbnQteGwtYXJvdW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tY29udGVudC14bC1zdHJldGNoIHtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLXNlbGYteGwtYXV0byB7XG4gICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1zZWxmLXhsLXN0YXJ0IHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLXNlbGYteGwtZW5kIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1zZWxmLXhsLWNlbnRlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLXNlbGYteGwtYmFzZWxpbmUge1xuICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLXNlbGYteGwtc3RyZXRjaCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9IH1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1ub25lIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmZsb2F0LXNtLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLmZsb2F0LXNtLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuICAuZmxvYXQtc20tbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxvYXQtbWQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAuZmxvYXQtbWQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC5mbG9hdC1tZC1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mbG9hdC1sZy1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC5mbG9hdC1sZy1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLmZsb2F0LWxnLW5vbmUge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mbG9hdC14bC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC5mbG9hdC14bC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLmZsb2F0LXhsLW5vbmUge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4ub3ZlcmZsb3ctYXV0byB7XG4gIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLm92ZXJmbG93LWhpZGRlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuXG4ucG9zaXRpb24tc3RhdGljIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50OyB9XG5cbi5wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OyB9XG5cbi5wb3NpdGlvbi1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG5cbi5wb3NpdGlvbi1maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbi5wb3NpdGlvbi1zdGlja3kge1xuICBwb3NpdGlvbjogc3RpY2t5ICFpbXBvcnRhbnQ7IH1cblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAzMDsgfVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDMwOyB9XG5cbkBzdXBwb3J0cyAocG9zaXRpb246IHN0aWNreSkge1xuICAuc3RpY2t5LXRvcCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTAyMDsgfSB9XG5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwOyB9XG5cbi5zci1vbmx5LWZvY3VzYWJsZTphY3RpdmUsIC5zci1vbmx5LWZvY3VzYWJsZS5uaWNlLXNlbGVjdC5vcGVuLCAuc3Itb25seS1mb2N1c2FibGU6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG4uc2hhZG93LXNtIHtcbiAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4wNzUpICFpbXBvcnRhbnQ7IH1cblxuLnNoYWRvdyB7XG4gIGJveC1zaGFkb3c6IDAgMC41cmVtIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjE1KSAhaW1wb3J0YW50OyB9XG5cbi5zaGFkb3ctbGcge1xuICBib3gtc2hhZG93OiAwIDFyZW0gM3JlbSByZ2JhKDAsIDAsIDAsIDAuMTc1KSAhaW1wb3J0YW50OyB9XG5cbi5zaGFkb3ctbm9uZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udy0yNSB7XG4gIHdpZHRoOiAyNSUgIWltcG9ydGFudDsgfVxuXG4udy01MCB7XG4gIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuXG4udy03NSB7XG4gIHdpZHRoOiA3NSUgIWltcG9ydGFudDsgfVxuXG4udy0xMDAge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi53LWF1dG8ge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5oLTI1IHtcbiAgaGVpZ2h0OiAyNSUgIWltcG9ydGFudDsgfVxuXG4uaC01MCB7XG4gIGhlaWdodDogNTAlICFpbXBvcnRhbnQ7IH1cblxuLmgtNzUge1xuICBoZWlnaHQ6IDc1JSAhaW1wb3J0YW50OyB9XG5cbi5oLTEwMCB7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5oLWF1dG8ge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4ubXctMTAwIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLm1oLTEwMCB7XG4gIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4ubWluLXZ3LTEwMCB7XG4gIG1pbi13aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuXG4ubWluLXZoLTEwMCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cblxuLnZ3LTEwMCB7XG4gIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG5cbi52aC0xMDAge1xuICBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cblxuLnN0cmV0Y2hlZC1saW5rOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgfVxuXG4ubS0wIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cblxuLm10LTAsXG4ubXktMCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuXG4ubXItMCxcbi5teC0wIHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLm1iLTAsXG4ubXktMCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4ubWwtMCxcbi5teC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4ubS0xIHtcbiAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm10LTEsXG4ubXktMSB7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubXItMSxcbi5teC0xIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1iLTEsXG4ubXktMSB7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubWwtMSxcbi5teC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS0yIHtcbiAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubXQtMixcbi5teS0yIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1yLTIsXG4ubXgtMiB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1iLTIsXG4ubXktMiB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tbC0yLFxuLm14LTIge1xuICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tMyB7XG4gIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tdC0zLFxuLm15LTMge1xuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1yLTMsXG4ubXgtMyB7XG4gIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYi0zLFxuLm15LTMge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1sLTMsXG4ubXgtMyB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tNCB7XG4gIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm10LTQsXG4ubXktNCB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tci00LFxuLm14LTQge1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYi00LFxuLm15LTQge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubWwtNCxcbi5teC00IHtcbiAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLTUge1xuICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ubXQtNSxcbi5teS01IHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tci01LFxuLm14LTUge1xuICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ubWItNSxcbi5teS01IHtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tbC01LFxuLm14LTUge1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wLTAge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLnB0LTAsXG4ucHktMCB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuLnByLTAsXG4ucHgtMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4ucGItMCxcbi5weS0wIHtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4ucGwtMCxcbi5weC0wIHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnAtMSB7XG4gIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucHQtMSxcbi5weS0xIHtcbiAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucHItMSxcbi5weC0xIHtcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYi0xLFxuLnB5LTEge1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wbC0xLFxuLnB4LTEge1xuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC0yIHtcbiAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnB0LTIsXG4ucHktMiB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucHItMixcbi5weC0yIHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnBiLTIsXG4ucHktMiB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucGwtMixcbi5weC0yIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC0zIHtcbiAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wdC0zLFxuLnB5LTMge1xuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wci0zLFxuLnB4LTMge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBiLTMsXG4ucHktMyB7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBsLTMsXG4ucHgtMyB7XG4gIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLTQge1xuICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucHQtNCxcbi5weS00IHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wci00LFxuLnB4LTQge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucGItNCxcbi5weS00IHtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wbC00LFxuLnB4LTQge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLTUge1xuICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnB0LTUsXG4ucHktNSB7XG4gIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnByLTUsXG4ucHgtNSB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ucGItNSxcbi5weS01IHtcbiAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ucGwtNSxcbi5weC01IHtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tbjEge1xuICBtYXJnaW46IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm10LW4xLFxuLm15LW4xIHtcbiAgbWFyZ2luLXRvcDogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubXItbjEsXG4ubXgtbjEge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1iLW4xLFxuLm15LW4xIHtcbiAgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubWwtbjEsXG4ubXgtbjEge1xuICBtYXJnaW4tbGVmdDogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS1uMiB7XG4gIG1hcmdpbjogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tdC1uMixcbi5teS1uMiB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubXItbjIsXG4ubXgtbjIge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubWItbjIsXG4ubXktbjIge1xuICBtYXJnaW4tYm90dG9tOiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1sLW4yLFxuLm14LW4yIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS1uMyB7XG4gIG1hcmdpbjogLTFyZW0gIWltcG9ydGFudDsgfVxuXG4ubXQtbjMsXG4ubXktbjMge1xuICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tci1uMyxcbi5teC1uMyB7XG4gIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDsgfVxuXG4ubWItbjMsXG4ubXktbjMge1xuICBtYXJnaW4tYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tbC1uMyxcbi5teC1uMyB7XG4gIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLW40IHtcbiAgbWFyZ2luOiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm10LW40LFxuLm15LW40IHtcbiAgbWFyZ2luLXRvcDogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tci1uNCxcbi5teC1uNCB7XG4gIG1hcmdpbi1yaWdodDogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYi1uNCxcbi5teS1uNCB7XG4gIG1hcmdpbi1ib3R0b206IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubWwtbjQsXG4ubXgtbjQge1xuICBtYXJnaW4tbGVmdDogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLW41IHtcbiAgbWFyZ2luOiAtM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tdC1uNSxcbi5teS1uNSB7XG4gIG1hcmdpbi10b3A6IC0zcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1yLW41LFxuLm14LW41IHtcbiAgbWFyZ2luLXJpZ2h0OiAtM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tYi1uNSxcbi5teS1uNSB7XG4gIG1hcmdpbi1ib3R0b206IC0zcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1sLW41LFxuLm14LW41IHtcbiAgbWFyZ2luLWxlZnQ6IC0zcmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tYXV0byB7XG4gIG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5tdC1hdXRvLFxuLm15LWF1dG8ge1xuICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLm1yLWF1dG8sXG4ubXgtYXV0byB7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5tYi1hdXRvLFxuLm15LWF1dG8ge1xuICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLm1sLWF1dG8sXG4ubXgtYXV0byB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tLXNtLTAge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gIC5tdC1zbS0wLFxuICAubXktc20tMCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5tci1zbS0wLFxuICAubXgtc20tMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLm1iLXNtLTAsXG4gIC5teS1zbS0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLm1sLXNtLTAsXG4gIC5teC1zbS0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5tLXNtLTEge1xuICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC1zbS0xLFxuICAubXktc20tMSB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tci1zbS0xLFxuICAubXgtc20tMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLXNtLTEsXG4gIC5teS1zbS0xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLXNtLTEsXG4gIC5teC1zbS0xIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tLXNtLTIge1xuICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LXNtLTIsXG4gIC5teS1zbS0yIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXItc20tMixcbiAgLm14LXNtLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLXNtLTIsXG4gIC5teS1zbS0yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWwtc20tMixcbiAgLm14LXNtLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAubS1zbS0zIHtcbiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDsgfVxuICAubXQtc20tMyxcbiAgLm15LXNtLTMge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICAubXItc20tMyxcbiAgLm14LXNtLTMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi1zbS0zLFxuICAubXktc20tMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC1zbS0zLFxuICAubXgtc20tMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICAubS1zbS00IHtcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC1zbS00LFxuICAubXktc20tNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLXNtLTQsXG4gIC5teC1zbS00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi1zbS00LFxuICAubXktc20tNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLXNtLTQsXG4gIC5teC1zbS00IHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0tc20tNSB7XG4gICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LXNtLTUsXG4gIC5teS1zbS01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLXNtLTUsXG4gIC5teC1zbS01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAubWItc20tNSxcbiAgLm15LXNtLTUge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuICAubWwtc20tNSxcbiAgLm14LXNtLTUge1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnAtc20tMCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gIC5wdC1zbS0wLFxuICAucHktc20tMCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuICAucHItc20tMCxcbiAgLnB4LXNtLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAucGItc20tMCxcbiAgLnB5LXNtLTAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnBsLXNtLTAsXG4gIC5weC1zbS0wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAucC1zbS0xIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnB0LXNtLTEsXG4gIC5weS1zbS0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wci1zbS0xLFxuICAucHgtc20tMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wYi1zbS0xLFxuICAucHktc20tMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAucGwtc20tMSxcbiAgLnB4LXNtLTEge1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wLXNtLTIge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wdC1zbS0yLFxuICAucHktc20tMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wci1zbS0yLFxuICAucHgtc20tMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBiLXNtLTIsXG4gIC5weS1zbS0yIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBsLXNtLTIsXG4gIC5weC1zbS0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wLXNtLTMge1xuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDsgfVxuICAucHQtc20tMyxcbiAgLnB5LXNtLTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnByLXNtLTMsXG4gIC5weC1zbS0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBiLXNtLTMsXG4gIC5weS1zbS0zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wbC1zbS0zLFxuICAucHgtc20tMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnAtc20tNCB7XG4gICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnB0LXNtLTQsXG4gIC5weS1zbS00IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnByLXNtLTQsXG4gIC5weC1zbS00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAucGItc20tNCxcbiAgLnB5LXNtLTQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAucGwtc20tNCxcbiAgLnB4LXNtLTQge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnAtc20tNSB7XG4gICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5wdC1zbS01LFxuICAucHktc20tNSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuICAucHItc20tNSxcbiAgLnB4LXNtLTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAucGItc20tNSxcbiAgLnB5LXNtLTUge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBsLXNtLTUsXG4gIC5weC1zbS01IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAubS1zbS1uMSB7XG4gICAgbWFyZ2luOiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC1zbS1uMSxcbiAgLm15LXNtLW4xIHtcbiAgICBtYXJnaW4tdG9wOiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tci1zbS1uMSxcbiAgLm14LXNtLW4xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLXNtLW4xLFxuICAubXktc20tbjEge1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLXNtLW4xLFxuICAubXgtc20tbjEge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tLXNtLW4yIHtcbiAgICBtYXJnaW46IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXQtc20tbjIsXG4gIC5teS1zbS1uMiB7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tci1zbS1uMixcbiAgLm14LXNtLW4yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWItc20tbjIsXG4gIC5teS1zbS1uMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC1zbS1uMixcbiAgLm14LXNtLW4yIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tLXNtLW4zIHtcbiAgICBtYXJnaW46IC0xcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LXNtLW4zLFxuICAubXktc20tbjMge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLXNtLW4zLFxuICAubXgtc20tbjMge1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDsgfVxuICAubWItc20tbjMsXG4gIC5teS1zbS1uMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFyZW0gIWltcG9ydGFudDsgfVxuICAubWwtc20tbjMsXG4gIC5teC1zbS1uMyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0tc20tbjQge1xuICAgIG1hcmdpbjogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC1zbS1uNCxcbiAgLm15LXNtLW40IHtcbiAgICBtYXJnaW4tdG9wOiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLXNtLW40LFxuICAubXgtc20tbjQge1xuICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi1zbS1uNCxcbiAgLm15LXNtLW40IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLXNtLW40LFxuICAubXgtc20tbjQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0tc20tbjUge1xuICAgIG1hcmdpbjogLTNyZW0gIWltcG9ydGFudDsgfVxuICAubXQtc20tbjUsXG4gIC5teS1zbS1uNSB7XG4gICAgbWFyZ2luLXRvcDogLTNyZW0gIWltcG9ydGFudDsgfVxuICAubXItc20tbjUsXG4gIC5teC1zbS1uNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi1zbS1uNSxcbiAgLm15LXNtLW41IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC1zbS1uNSxcbiAgLm14LXNtLW41IHtcbiAgICBtYXJnaW4tbGVmdDogLTNyZW0gIWltcG9ydGFudDsgfVxuICAubS1zbS1hdXRvIHtcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAubXQtc20tYXV0byxcbiAgLm15LXNtLWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsgfVxuICAubXItc20tYXV0byxcbiAgLm14LXNtLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG4gIC5tYi1zbS1hdXRvLFxuICAubXktc20tYXV0byB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XG4gIC5tbC1zbS1hdXRvLFxuICAubXgtc20tYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubS1tZC0wIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICAubXQtbWQtMCxcbiAgLm15LW1kLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAubXItbWQtMCxcbiAgLm14LW1kLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIC5tYi1tZC0wLFxuICAubXktbWQtMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC5tbC1tZC0wLFxuICAubXgtbWQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAubS1tZC0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubXQtbWQtMSxcbiAgLm15LW1kLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubXItbWQtMSxcbiAgLm14LW1kLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi1tZC0xLFxuICAubXktbWQtMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC1tZC0xLFxuICAubXgtbWQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubS1tZC0yIHtcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC1tZC0yLFxuICAubXktbWQtMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLW1kLTIsXG4gIC5teC1tZC0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi1tZC0yLFxuICAubXktbWQtMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLW1kLTIsXG4gIC5teC1tZC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0tbWQtMyB7XG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LW1kLTMsXG4gIC5teS1tZC0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLW1kLTMsXG4gIC5teC1tZC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICAubWItbWQtMyxcbiAgLm15LW1kLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuICAubWwtbWQtMyxcbiAgLm14LW1kLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0tbWQtNCB7XG4gICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXQtbWQtNCxcbiAgLm15LW1kLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tci1tZC00LFxuICAubXgtbWQtNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWItbWQtNCxcbiAgLm15LW1kLTQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC1tZC00LFxuICAubXgtbWQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tLW1kLTUge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC1tZC01LFxuICAubXktbWQtNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tci1tZC01LFxuICAubXgtbWQtNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLW1kLTUsXG4gIC5teS1tZC01IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLW1kLTUsXG4gIC5teC1tZC01IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5wLW1kLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICAucHQtbWQtMCxcbiAgLnB5LW1kLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnByLW1kLTAsXG4gIC5weC1tZC0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLnBiLW1kLTAsXG4gIC5weS1tZC0wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC5wbC1tZC0wLFxuICAucHgtbWQtMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLnAtbWQtMSB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wdC1tZC0xLFxuICAucHktbWQtMSB7XG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAucHItbWQtMSxcbiAgLnB4LW1kLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAucGItbWQtMSxcbiAgLnB5LW1kLTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBsLW1kLTEsXG4gIC5weC1tZC0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAucC1tZC0yIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAucHQtbWQtMixcbiAgLnB5LW1kLTIge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAucHItbWQtMixcbiAgLnB4LW1kLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wYi1tZC0yLFxuICAucHktbWQtMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wbC1tZC0yLFxuICAucHgtbWQtMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAucC1tZC0zIHtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnB0LW1kLTMsXG4gIC5weS1tZC0zIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wci1tZC0zLFxuICAucHgtbWQtMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wYi1tZC0zLFxuICAucHktbWQtMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuICAucGwtbWQtMyxcbiAgLnB4LW1kLTMge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wLW1kLTQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wdC1tZC00LFxuICAucHktbWQtNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wci1tZC00LFxuICAucHgtbWQtNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBiLW1kLTQsXG4gIC5weS1tZC00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBsLW1kLTQsXG4gIC5weC1tZC00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wLW1kLTUge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDsgfVxuICAucHQtbWQtNSxcbiAgLnB5LW1kLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnByLW1kLTUsXG4gIC5weC1tZC01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBiLW1kLTUsXG4gIC5weS1tZC01IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5wbC1tZC01LFxuICAucHgtbWQtNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0tbWQtbjEge1xuICAgIG1hcmdpbjogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubXQtbWQtbjEsXG4gIC5teS1tZC1uMSB7XG4gICAgbWFyZ2luLXRvcDogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubXItbWQtbjEsXG4gIC5teC1tZC1uMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi1tZC1uMSxcbiAgLm15LW1kLW4xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC1tZC1uMSxcbiAgLm14LW1kLW4xIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubS1tZC1uMiB7XG4gICAgbWFyZ2luOiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LW1kLW4yLFxuICAubXktbWQtbjIge1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXItbWQtbjIsXG4gIC5teC1tZC1uMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLW1kLW4yLFxuICAubXktbWQtbjIge1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWwtbWQtbjIsXG4gIC5teC1tZC1uMiB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICAubS1tZC1uMyB7XG4gICAgbWFyZ2luOiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC1tZC1uMyxcbiAgLm15LW1kLW4zIHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tci1tZC1uMyxcbiAgLm14LW1kLW4zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLW1kLW4zLFxuICAubXktbWQtbjMge1xuICAgIG1hcmdpbi1ib3R0b206IC0xcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLW1kLW4zLFxuICAubXgtbWQtbjMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tLW1kLW40IHtcbiAgICBtYXJnaW46IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXQtbWQtbjQsXG4gIC5teS1tZC1uNCB7XG4gICAgbWFyZ2luLXRvcDogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tci1tZC1uNCxcbiAgLm14LW1kLW40IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWItbWQtbjQsXG4gIC5teS1tZC1uNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC1tZC1uNCxcbiAgLm14LW1kLW40IHtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tLW1kLW41IHtcbiAgICBtYXJnaW46IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LW1kLW41LFxuICAubXktbWQtbjUge1xuICAgIG1hcmdpbi10b3A6IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLW1kLW41LFxuICAubXgtbWQtbjUge1xuICAgIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDsgfVxuICAubWItbWQtbjUsXG4gIC5teS1tZC1uNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTNyZW0gIWltcG9ydGFudDsgfVxuICAubWwtbWQtbjUsXG4gIC5teC1tZC1uNSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0tbWQtYXV0byB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLm10LW1kLWF1dG8sXG4gIC5teS1tZC1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLm1yLW1kLWF1dG8sXG4gIC5teC1tZC1hdXRvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAubWItbWQtYXV0byxcbiAgLm15LW1kLWF1dG8ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxuICAubWwtbWQtYXV0byxcbiAgLm14LW1kLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm0tbGctMCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgLm10LWxnLTAsXG4gIC5teS1sZy0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgLm1yLWxnLTAsXG4gIC5teC1sZy0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAubWItbGctMCxcbiAgLm15LWxnLTAge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAubWwtbGctMCxcbiAgLm14LWxnLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLm0tbGctMSB7XG4gICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LWxnLTEsXG4gIC5teS1sZy0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLWxnLTEsXG4gIC5teC1sZy0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubWItbGctMSxcbiAgLm15LWxnLTEge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubWwtbGctMSxcbiAgLm14LWxnLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0tbGctMiB7XG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXQtbGctMixcbiAgLm15LWxnLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tci1sZy0yLFxuICAubXgtbGctMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWItbGctMixcbiAgLm15LWxnLTIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC1sZy0yLFxuICAubXgtbGctMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tLWxnLTMge1xuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC1sZy0zLFxuICAubXktbGctMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tci1sZy0zLFxuICAubXgtbGctMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLWxnLTMsXG4gIC5teS1sZy0zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLWxnLTMsXG4gIC5teC1sZy0zIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tLWxnLTQge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LWxnLTQsXG4gIC5teS1sZy00IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXItbGctNCxcbiAgLm14LWxnLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLWxnLTQsXG4gIC5teS1sZy00IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWwtbGctNCxcbiAgLm14LWxnLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAubS1sZy01IHtcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDsgfVxuICAubXQtbGctNSxcbiAgLm15LWxnLTUge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuICAubXItbGctNSxcbiAgLm14LWxnLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi1sZy01LFxuICAubXktbGctNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC1sZy01LFxuICAubXgtbGctNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAucC1sZy0wIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnB0LWxnLTAsXG4gIC5weS1sZy0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5wci1sZy0wLFxuICAucHgtbGctMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIC5wYi1sZy0wLFxuICAucHktbGctMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAucGwtbGctMCxcbiAgLnB4LWxnLTAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5wLWxnLTEge1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAucHQtbGctMSxcbiAgLnB5LWxnLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnByLWxnLTEsXG4gIC5weC1sZy0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBiLWxnLTEsXG4gIC5weS1sZy0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wbC1sZy0xLFxuICAucHgtbGctMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnAtbGctMiB7XG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnB0LWxnLTIsXG4gIC5weS1sZy0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnByLWxnLTIsXG4gIC5weC1sZy0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAucGItbGctMixcbiAgLnB5LWxnLTIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAucGwtbGctMixcbiAgLnB4LWxnLTIge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnAtbGctMyB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wdC1sZy0zLFxuICAucHktbGctMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICAucHItbGctMyxcbiAgLnB4LWxnLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICAucGItbGctMyxcbiAgLnB5LWxnLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBsLWxnLTMsXG4gIC5weC1sZy0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICAucC1sZy00IHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAucHQtbGctNCxcbiAgLnB5LWxnLTQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAucHItbGctNCxcbiAgLnB4LWxnLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wYi1sZy00LFxuICAucHktbGctNCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wbC1sZy00LFxuICAucHgtbGctNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAucC1sZy01IHtcbiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnB0LWxnLTUsXG4gIC5weS1sZy01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5wci1sZy01LFxuICAucHgtbGctNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5wYi1sZy01LFxuICAucHktbGctNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuICAucGwtbGctNSxcbiAgLnB4LWxnLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tLWxnLW4xIHtcbiAgICBtYXJnaW46IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LWxnLW4xLFxuICAubXktbGctbjEge1xuICAgIG1hcmdpbi10b3A6IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLWxnLW4xLFxuICAubXgtbGctbjEge1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubWItbGctbjEsXG4gIC5teS1sZy1uMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubWwtbGctbjEsXG4gIC5teC1sZy1uMSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0tbGctbjIge1xuICAgIG1hcmdpbjogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC1sZy1uMixcbiAgLm15LWxnLW4yIHtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLWxnLW4yLFxuICAubXgtbGctbjIge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi1sZy1uMixcbiAgLm15LWxnLW4yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLWxnLW4yLFxuICAubXgtbGctbjIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0tbGctbjMge1xuICAgIG1hcmdpbjogLTFyZW0gIWltcG9ydGFudDsgfVxuICAubXQtbGctbjMsXG4gIC5teS1sZy1uMyB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW0gIWltcG9ydGFudDsgfVxuICAubXItbGctbjMsXG4gIC5teC1sZy1uMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi1sZy1uMyxcbiAgLm15LWxnLW4zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC1sZy1uMyxcbiAgLm14LWxnLW4zIHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDsgfVxuICAubS1sZy1uNCB7XG4gICAgbWFyZ2luOiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LWxnLW40LFxuICAubXktbGctbjQge1xuICAgIG1hcmdpbi10b3A6IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXItbGctbjQsXG4gIC5teC1sZy1uNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLWxnLW40LFxuICAubXktbGctbjQge1xuICAgIG1hcmdpbi1ib3R0b206IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWwtbGctbjQsXG4gIC5teC1sZy1uNCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAubS1sZy1uNSB7XG4gICAgbWFyZ2luOiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC1sZy1uNSxcbiAgLm15LWxnLW41IHtcbiAgICBtYXJnaW4tdG9wOiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tci1sZy1uNSxcbiAgLm14LWxnLW41IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLWxnLW41LFxuICAubXktbGctbjUge1xuICAgIG1hcmdpbi1ib3R0b206IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLWxnLW41LFxuICAubXgtbGctbjUge1xuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tLWxnLWF1dG8ge1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gIC5tdC1sZy1hdXRvLFxuICAubXktbGctYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OyB9XG4gIC5tci1sZy1hdXRvLFxuICAubXgtbGctYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLm1iLWxnLWF1dG8sXG4gIC5teS1sZy1hdXRvIHtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLm1sLWxnLWF1dG8sXG4gIC5teC1sZy1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubS14bC0wIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICAubXQteGwtMCxcbiAgLm15LXhsLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAubXIteGwtMCxcbiAgLm14LXhsLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIC5tYi14bC0wLFxuICAubXkteGwtMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC5tbC14bC0wLFxuICAubXgteGwtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAubS14bC0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubXQteGwtMSxcbiAgLm15LXhsLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubXIteGwtMSxcbiAgLm14LXhsLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi14bC0xLFxuICAubXkteGwtMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC14bC0xLFxuICAubXgteGwtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubS14bC0yIHtcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC14bC0yLFxuICAubXkteGwtMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLXhsLTIsXG4gIC5teC14bC0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi14bC0yLFxuICAubXkteGwtMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLXhsLTIsXG4gIC5teC14bC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0teGwtMyB7XG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LXhsLTMsXG4gIC5teS14bC0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLXhsLTMsXG4gIC5teC14bC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICAubWIteGwtMyxcbiAgLm15LXhsLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuICAubWwteGwtMyxcbiAgLm14LXhsLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0teGwtNCB7XG4gICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXQteGwtNCxcbiAgLm15LXhsLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tci14bC00LFxuICAubXgteGwtNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWIteGwtNCxcbiAgLm15LXhsLTQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC14bC00LFxuICAubXgteGwtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tLXhsLTUge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC14bC01LFxuICAubXkteGwtNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tci14bC01LFxuICAubXgteGwtNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLXhsLTUsXG4gIC5teS14bC01IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLXhsLTUsXG4gIC5teC14bC01IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5wLXhsLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICAucHQteGwtMCxcbiAgLnB5LXhsLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnByLXhsLTAsXG4gIC5weC14bC0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLnBiLXhsLTAsXG4gIC5weS14bC0wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC5wbC14bC0wLFxuICAucHgteGwtMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLnAteGwtMSB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wdC14bC0xLFxuICAucHkteGwtMSB7XG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAucHIteGwtMSxcbiAgLnB4LXhsLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAucGIteGwtMSxcbiAgLnB5LXhsLTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBsLXhsLTEsXG4gIC5weC14bC0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAucC14bC0yIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAucHQteGwtMixcbiAgLnB5LXhsLTIge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAucHIteGwtMixcbiAgLnB4LXhsLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wYi14bC0yLFxuICAucHkteGwtMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wbC14bC0yLFxuICAucHgteGwtMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAucC14bC0zIHtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnB0LXhsLTMsXG4gIC5weS14bC0zIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wci14bC0zLFxuICAucHgteGwtMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wYi14bC0zLFxuICAucHkteGwtMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuICAucGwteGwtMyxcbiAgLnB4LXhsLTMge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wLXhsLTQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wdC14bC00LFxuICAucHkteGwtNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wci14bC00LFxuICAucHgteGwtNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBiLXhsLTQsXG4gIC5weS14bC00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBsLXhsLTQsXG4gIC5weC14bC00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wLXhsLTUge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDsgfVxuICAucHQteGwtNSxcbiAgLnB5LXhsLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnByLXhsLTUsXG4gIC5weC14bC01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBiLXhsLTUsXG4gIC5weS14bC01IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5wbC14bC01LFxuICAucHgteGwtNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0teGwtbjEge1xuICAgIG1hcmdpbjogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubXQteGwtbjEsXG4gIC5teS14bC1uMSB7XG4gICAgbWFyZ2luLXRvcDogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubXIteGwtbjEsXG4gIC5teC14bC1uMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi14bC1uMSxcbiAgLm15LXhsLW4xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC14bC1uMSxcbiAgLm14LXhsLW4xIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubS14bC1uMiB7XG4gICAgbWFyZ2luOiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LXhsLW4yLFxuICAubXkteGwtbjIge1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXIteGwtbjIsXG4gIC5teC14bC1uMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLXhsLW4yLFxuICAubXkteGwtbjIge1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWwteGwtbjIsXG4gIC5teC14bC1uMiB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICAubS14bC1uMyB7XG4gICAgbWFyZ2luOiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC14bC1uMyxcbiAgLm15LXhsLW4zIHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tci14bC1uMyxcbiAgLm14LXhsLW4zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLXhsLW4zLFxuICAubXkteGwtbjMge1xuICAgIG1hcmdpbi1ib3R0b206IC0xcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLXhsLW4zLFxuICAubXgteGwtbjMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tLXhsLW40IHtcbiAgICBtYXJnaW46IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXQteGwtbjQsXG4gIC5teS14bC1uNCB7XG4gICAgbWFyZ2luLXRvcDogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tci14bC1uNCxcbiAgLm14LXhsLW40IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWIteGwtbjQsXG4gIC5teS14bC1uNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC14bC1uNCxcbiAgLm14LXhsLW40IHtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tLXhsLW41IHtcbiAgICBtYXJnaW46IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LXhsLW41LFxuICAubXkteGwtbjUge1xuICAgIG1hcmdpbi10b3A6IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLXhsLW41LFxuICAubXgteGwtbjUge1xuICAgIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDsgfVxuICAubWIteGwtbjUsXG4gIC5teS14bC1uNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTNyZW0gIWltcG9ydGFudDsgfVxuICAubWwteGwtbjUsXG4gIC5teC14bC1uNSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0teGwtYXV0byB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLm10LXhsLWF1dG8sXG4gIC5teS14bC1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLm1yLXhsLWF1dG8sXG4gIC5teC14bC1hdXRvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAubWIteGwtYXV0byxcbiAgLm15LXhsLWF1dG8ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxuICAubWwteGwtYXV0byxcbiAgLm14LXhsLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG4udGV4dC1tb25vc3BhY2Uge1xuICBmb250LWZhbWlseTogU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuXG4udGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtdHJ1bmNhdGUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLnRleHQtc20tbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LXNtLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LXNtLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRleHQtbWQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LW1kLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LW1kLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRleHQtbGctbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LWxnLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LWxnLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC50ZXh0LXhsLWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudGV4dC14bC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAudGV4dC14bC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9IH1cblxuLnRleHQtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuXG4udGV4dC1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4uZm9udC13ZWlnaHQtbGlnaHQge1xuICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7IH1cblxuLmZvbnQtd2VpZ2h0LWxpZ2h0ZXIge1xuICBmb250LXdlaWdodDogbGlnaHRlciAhaW1wb3J0YW50OyB9XG5cbi5mb250LXdlaWdodC1ub3JtYWwge1xuICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7IH1cblxuLmZvbnQtd2VpZ2h0LWJvbGQge1xuICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7IH1cblxuLmZvbnQtd2VpZ2h0LWJvbGRlciB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXIgIWltcG9ydGFudDsgfVxuXG4uZm9udC1pdGFsaWMge1xuICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDsgfVxuXG4udGV4dC13aGl0ZSB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtcHJpbWFyeSB7XG4gIGNvbG9yOiAjMDA3YmZmICFpbXBvcnRhbnQ7IH1cblxuYS50ZXh0LXByaW1hcnk6aG92ZXIsIGEudGV4dC1wcmltYXJ5OmZvY3VzIHtcbiAgY29sb3I6ICMwMDU2YjMgIWltcG9ydGFudDsgfVxuXG4udGV4dC1zZWNvbmRhcnkge1xuICBjb2xvcjogIzZjNzU3ZCAhaW1wb3J0YW50OyB9XG5cbmEudGV4dC1zZWNvbmRhcnk6aG92ZXIsIGEudGV4dC1zZWNvbmRhcnk6Zm9jdXMge1xuICBjb2xvcjogIzQ5NGY1NCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXN1Y2Nlc3Mge1xuICBjb2xvcjogIzI4YTc0NSAhaW1wb3J0YW50OyB9XG5cbmEudGV4dC1zdWNjZXNzOmhvdmVyLCBhLnRleHQtc3VjY2Vzczpmb2N1cyB7XG4gIGNvbG9yOiAjMTk2OTJjICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtaW5mbyB7XG4gIGNvbG9yOiAjMTdhMmI4ICFpbXBvcnRhbnQ7IH1cblxuYS50ZXh0LWluZm86aG92ZXIsIGEudGV4dC1pbmZvOmZvY3VzIHtcbiAgY29sb3I6ICMwZjY2NzQgIWltcG9ydGFudDsgfVxuXG4udGV4dC13YXJuaW5nIHtcbiAgY29sb3I6ICNmZmMxMDcgIWltcG9ydGFudDsgfVxuXG5hLnRleHQtd2FybmluZzpob3ZlciwgYS50ZXh0LXdhcm5pbmc6Zm9jdXMge1xuICBjb2xvcjogI2JhOGIwMCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWRhbmdlciB7XG4gIGNvbG9yOiAjZGMzNTQ1ICFpbXBvcnRhbnQ7IH1cblxuYS50ZXh0LWRhbmdlcjpob3ZlciwgYS50ZXh0LWRhbmdlcjpmb2N1cyB7XG4gIGNvbG9yOiAjYTcxZDJhICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtbGlnaHQge1xuICBjb2xvcjogI2Y4ZjlmYSAhaW1wb3J0YW50OyB9XG5cbmEudGV4dC1saWdodDpob3ZlciwgYS50ZXh0LWxpZ2h0OmZvY3VzIHtcbiAgY29sb3I6ICNjYmQzZGEgIWltcG9ydGFudDsgfVxuXG4udGV4dC1kYXJrIHtcbiAgY29sb3I6ICMzNDNhNDAgIWltcG9ydGFudDsgfVxuXG5hLnRleHQtZGFyazpob3ZlciwgYS50ZXh0LWRhcms6Zm9jdXMge1xuICBjb2xvcjogIzEyMTQxNiAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJvZHkge1xuICBjb2xvcjogIzIxMjUyOSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6ICM2Yzc1N2QgIWltcG9ydGFudDsgfVxuXG4udGV4dC1ibGFjay01MCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSkgIWltcG9ydGFudDsgfVxuXG4udGV4dC13aGl0ZS01MCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgIWltcG9ydGFudDsgfVxuXG4udGV4dC1oaWRlIHtcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7IH1cblxuLnRleHQtZGVjb3JhdGlvbi1ub25lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtYnJlYWsge1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgfVxuXG4udGV4dC1yZXNldCB7XG4gIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cblxuLnZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGE6bm90KC5idG4pIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50OyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FkYjViZDtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIEBwYWdlIHtcbiAgICBzaXplOiBhMzsgfVxuICBib2R5IHtcbiAgICBtaW4td2lkdGg6IDk5MnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmNvbnRhaW5lciwgLmhlYWRlci1jb250YWluZXIge1xuICAgIG1pbi13aWR0aDogOTkycHggIWltcG9ydGFudDsgfVxuICAubmF2YmFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5iYWRnZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDsgfVxuICAudGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDsgfVxuICAgIC50YWJsZSB0ZCxcbiAgICAudGFibGUgdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50OyB9XG4gIC50YWJsZS1ib3JkZXJlZCB0aCxcbiAgLnRhYmxlLWJvcmRlcmVkIHRkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7IH1cbiAgLnRhYmxlLWRhcmsge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLnRhYmxlLWRhcmsgdGgsXG4gICAgLnRhYmxlLWRhcmsgdGQsXG4gICAgLnRhYmxlLWRhcmsgdGhlYWQgdGgsXG4gICAgLnRhYmxlLWRhcmsgdGJvZHkgKyB0Ym9keSB7XG4gICAgICBib3JkZXItY29sb3I6ICNkZWUyZTY7IH1cbiAgLnRhYmxlIC50aGVhZC1kYXJrIHRoIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItY29sb3I6ICNkZWUyZTY7IH0gfVxuXG4vKipcbiAqIFN3aXBlciA1LjIuMFxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcbiAqIGh0dHA6Ly9zd2lwZXJqcy5jb21cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDE5IFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKlxuICogUmVsZWFzZWQgb246IE9jdG9iZXIgMjYsIDIwMTlcbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBzd2lwZXItaWNvbnM7XG4gIHNyYzogdXJsKFwiZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsIGQwOUdSZ0FCQUFBQUFBWmdBQkFBQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1JsUk5BQUFHUkFBQUFCb0FBQUFjaTZxSGtVZEVSVVlBQUFXZ0FBQUFJd0FBQUNRQVlBQlhSMUJQVXdBQUJoUUFBQUF1QUFBQU51QVk3K3hIVTFWQ0FBQUZ4QUFBQUZBQUFBQm0yZlBjelU5VEx6SUFBQUhjQUFBQVNnQUFBR0JQOVY1UlkyMWhjQUFBQWtRQUFBQ0lBQUFCWXQ2RjBjQmpkblFnQUFBQ3pBQUFBQVFBQUFBRUFCRUJSR2RoYzNBQUFBV1lBQUFBQ0FBQUFBai8vd0FEWjJ4NVpnQUFBeXdBQUFETUFBQUQyTUh0cnlWb1pXRmtBQUFCYkFBQUFEQUFBQUEyRTIrZW9XaG9aV0VBQUFHY0FBQUFId0FBQUNRQzlnRHphRzEwZUFBQUFpZ0FBQUFaQUFBQXJnSmtBQkZzYjJOaEFBQUMwQUFBQUZvQUFBQmFGUUFVR0cxaGVIQUFBQUc4QUFBQUh3QUFBQ0FBY0FCQWJtRnRaUUFBQS9nQUFBRTVBQUFDWHZGZEJ3bHdiM04wQUFBRk5BQUFBR0lBQUFDRTVzNzRoWGphWTJCa1lHQUFZcGY1SHUvaitXMitNbkF6TVlEQXphWDZRakQ2LzQvL0J4ajVHQThBdVJ3TVlHa0FQeXdMMTNqYVkyQmtZR0E4OFA4QWd4NGorLzhmUURZZkExQUVCV2dEQUlCMkJPb0FlTnBqWUdSZ1lOQmg0R2RnWWdBQkVNbklBQkp6WU5BRENRQUFDV2dBc1FCNDJtTmdZZnpDT0lHQmxZR0IwWWN4allHQndSMUtmMldRWkdoaFlHQmlZR1ZtZ0FGR0JpUVFrT2Fhd3REQW9NQlF4WGpnL3dFR1BjWUREQTR3TlVBMkNDZ3dzQUFBTzRFTDZnQUFlTnBqMk0wZ3lBQUNxeGdHTldCa1oyRDQvd01BK3hrRGRnQUFBSGphWTJCZ1lHYUFZQmtHUmdZUWlBSHlHTUY4RmdZSElNM0R3TUhBQkdRck1PZ3lXRExFTTFUOS93OFVCZkVNZ0x6RS8vLy9QLzUvL2YvVi94dityNGVhQUFlTWJBeHdJVVltSU1IRWdLWUFZalVjc0RBd3NMS3hjM0J5Y2ZQdzhqRVFBL2daQkFTRmhFVkV4Y1FsSktXa1pXVGw1QlVVbFpSVlZOWFVOVFFaQmdNQUFNUitFK2dBRVFGRUFBQUFLZ0FxQUNvQU5BQStBRWdBVWdCY0FHWUFjQUI2QUlRQWpnQ1lBS0lBckFDMkFNQUF5Z0RVQU40QTZBRHlBUHdCQmdFUUFSb0JKQUV1QVRnQlFnRk1BVllCWUFGcUFYUUJmZ0dJQVpJQm5BR21BYklCemdIc0FBQjQydTJOTVE2Q1VBeUdXNTY4eDlBbmVZWWdtNE1KYmhLRmFFeElPQVZYOEFwZXdTdDRCaWM0QWZlQWlkM1ZPQml4RHhmUFlFemE1TytYZmkwNFlBRGdnaVVJVUxDdUVKSzhWaE80YlN2cGRua3RISTVRQ1l0ZGkyc2w4Wm5YYUhscVVyTkt6ZEtjVDhjamxxK3J3WlN2SVZjek5pZXpzZm5QL3V6bm1mUEZCTk9ETTJLN01UUTQ1WUVBWnFHUDgxQW1HR2NGM2lQcU9vcDByMVNQVGFUYlZrZlVlNEhYajk3d1lFK3lOd1dZeHdXdTR2MXVnV0hnbzNTMVhkWkVWcVdNN0VUMGNmbkxHeFdma2dSNDJvMlB2V3JETUJTRmovSUhMYUYwektqUmdkaVZNd1NjTlJBb1dVb0g3OFkyaWNCL3lJWTA5QW42QUgyQmR1L1VCK3l4b3BZc2hRaUV2bnZ1MGRVUmdEdDhRZUM4UER3N0ZwamkzZkVBNHovUEVKNllPQjVoS2g0ZGozRXZYaHhQcUgvU0tVWTNySjdzclo0RlpuaDFQTUF0UGh3UDZmbDJQTUpNUERnZVE0clk4WVQ2R3phbzBlQUVBNDA5RHVnZ21UbkZuT2NTQ2lFaUxNZ3hDaVRJNkNxNURaVWQzUW1wMTB2TzBMYUxUZDJjak40Zk91bWxjN2xVWWJTUWNaRmt1dFJHN2c2SktaS3kwUm1kTFk2ODBDRG5FSitVTWtwRkZlMVJON254ZFZwWHJDNGFUdG5hdXJPblllcmNaZzJZVm1MTi9kL2djemZFaW1yRS9mcy9iT3VxMjlabW44dGxvT1JhWGdaZ0dhNzh5TzkvY25YbTJCcGFHdnEyNUR2OVM0RTkrNVNJYzlQcXVwSktoWUZTU2w0NytRY3IxbVlOQUFBQWVOcHR3MGNLd2tBQUFNRFpKQThRN09VSnZrTHNQZlo2ekZWRVJQeThxSGgyWUVSKzNpL0JQODN2SUJMTHlTc29LaW1ycUtxcGEyaHA2K2pxNlJzWUdobWJtSnFaU3kwc3JheHRiTzNzSFJ5ZG5FTVU0dVI2eXg3SkpYdmVQN1dyRHljQUFBQUFBQUgvL3dBQ2VOcGpZR1JnWU9BQlloa2daZ0pDWmdaTkJrWUdMUVp0SUpzRkxNWUFBQXczQUxnQWVOb2xpekVLZ0RBUUJDY2hSYkMyc0ZFUjBZRDZxVlFpQkN2L0g5ZXpHSTZaNVhCQXc4Q0JLL201aVFRVmF1VmJYTG5Pck1adjJvTGRLRmE4UGp1cnUyaEp6R2FibU9TTHpOTXp2dXRwQjNONDJtTmdaR0JnNEdLUVl6QmhZTXhKTE1sajRHQmdBWW93L1AvUEFKSmhMTTZzU29XS2ZXQ0FBd0RBamdiUkFBQjQybU5nWUdCa0FJSWJDWm81SVBybVVuMGhHQTBBTzhFRlRRQUFcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbjpyb290IHtcbiAgLS1zd2lwZXItdGhlbWUtY29sb3I6IzAwN2FmZjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgei1pbmRleDogMTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLnN3aXBlci13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSwgLnN3aXBlci13cmFwcGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93ID4gLnN3aXBlci13cmFwcGVyIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93LWNvbHVtbiA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5zd2lwZXItc2xpZGUge1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07IH1cblxuLnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmsge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCwgLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRlIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVyIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSxoZWlnaHQ7IH1cblxuLnN3aXBlci1jb250YWluZXItM2Qge1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3csIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci13cmFwcGVyIHtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBvdmVyZmxvdzogYXV0bztcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGUge1xuICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQgc3RhcnQ7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbC5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwuc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIHNjcm9sbC1zbmFwLXR5cGU6IHkgbWFuZGF0b3J5OyB9XG5cbjpyb290IHtcbiAgLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplOjQ0cHg7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dCwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiBjYWxjKHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpLyA0NCAqIDI3KTtcbiAgaGVpZ2h0OiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTtcbiAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpLyAyKTtcbiAgei1pbmRleDogMTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkLCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tZGlzYWJsZWQge1xuICBvcGFjaXR5OiAuMzU7XG4gIGN1cnNvcjogYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dDphZnRlciwgLnN3aXBlci1idXR0b24tcHJldjphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiBzd2lwZXItaWNvbnM7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC12YXJpYW50OiBpbml0aWFsOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYsIC5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgbGVmdDogMTBweDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnN3aXBlci1idXR0b24tcHJldjphZnRlciwgLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIge1xuICBjb250ZW50OiAncHJldic7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dCwgLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICByaWdodDogMTBweDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyLCAuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldjphZnRlciB7XG4gIGNvbnRlbnQ6ICduZXh0JzsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XG4gIC0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3I6I2ZmZmZmZjsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2ssIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayB7XG4gIC0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3I6IzAwMDAwMDsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogLjNzIG9wYWNpdHk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW4ge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cywgLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSwgLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uIHtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW1haW4ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2LXByZXYge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0LW5leHQge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAuMjsgfVxuXG5idXR0b24uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiA2cHggMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogOHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IC4ycyB0cmFuc2Zvcm0sLjJzIHRvcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogMCA0cHg7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHRyYW5zaXRpb246IC4ycyB0cmFuc2Zvcm0sLjJzIGxlZnQ7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbC5zd2lwZXItY29udGFpbmVyLXJ0bCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHRyYW5zaXRpb246IC4ycyB0cmFuc2Zvcm0sLjJzIHJpZ2h0OyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsIC5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSwgLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24td2hpdGUge1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yOiNmZmZmZmY7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIHtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcjojMDAwMDAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhciB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMSU7XG4gIGJvdHRvbTogM3B4O1xuICB6LWluZGV4OiA1MDtcbiAgaGVpZ2h0OiA1cHg7XG4gIHdpZHRoOiA5OCU7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDNweDtcbiAgdG9wOiAxJTtcbiAgei1pbmRleDogNTA7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogOTglOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWRyYWcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFnIHtcbiAgY3Vyc29yOiBtb3ZlOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWxvY2sge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2lwZXItem9vbS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBjYW52YXMsIC5zd2lwZXItem9vbS1jb250YWluZXIgPiBpbWcsIC5zd2lwZXItem9vbS1jb250YWluZXIgPiBzdmcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47IH1cblxuLnN3aXBlci1zbGlkZS16b29tZWQge1xuICBjdXJzb3I6IG1vdmU7IH1cblxuLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0yMXB4O1xuICBtYXJnaW4tdG9wOiAtMjFweDtcbiAgei1pbmRleDogMTA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgaW5maW5pdGUgbGluZWFyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDRweCBzb2xpZCB2YXIoLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlIHtcbiAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiNmZmY7IH1cblxuLnN3aXBlci1sYXp5LXByZWxvYWRlci1ibGFjayB7XG4gIC0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjojMDAwOyB9XG5cbkBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTAwMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGUge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlLCAuc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZSB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwgLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0ICsgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXYge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwgLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogLjY7XG4gIC13ZWJraXQtZmlsdGVyOiBibHVyKDUwcHgpO1xuICBmaWx0ZXI6IGJsdXIoNTBweCk7XG4gIHotaW5kZXg6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwgLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLCAuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsIC5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsIC5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtZW5hYmxlZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LWVuYWJsZWQgYm9keSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLmZhbmN5Ym94LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiA5OTk5MztcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKiBNYWtlIHN1cmUgdGhhdCB0aGUgZmlyc3Qgb25lIGlzIG9uIHRoZSB0b3AgKi9cbi5mYW5jeWJveC1jb250YWluZXIgfiAuZmFuY3lib3gtY29udGFpbmVyIHtcbiAgei1pbmRleDogOTk5OTI7IH1cblxuLmZhbmN5Ym94LWJnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICMwZjBmMTE7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNiwgMC42OCwgMC4xOSk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LWNvbnRhaW5lci0tcmVhZHkgLmZhbmN5Ym94LWJnIHtcbiAgb3BhY2l0eTogMC44NztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTsgfVxuXG4uZmFuY3lib3gtY29udHJvbHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogOTk5OTQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlyZWN0aW9uOiBsdHI7IH1cblxuLmZhbmN5Ym94LXNob3ctY29udHJvbHMgLmZhbmN5Ym94LWNvbnRyb2xzIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFuY3lib3gtaW5mb2JhciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZhbmN5Ym94LXNob3ctaW5mb2JhciAuZmFuY3lib3gtaW5mb2JhciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuXG4uZmFuY3lib3gtaW5mb2Jhcl9fYm9keSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDcwcHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNkZGQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzAsIDMwLCAzMCwgMC43KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cblxuLmZhbmN5Ym94LXNob3ctYnV0dG9ucyAuZmFuY3lib3gtYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mYW5jeWJveC1zbGlkZXItd3JhcCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpcmVjdGlvbjogbHRyOyB9XG5cbi5mYW5jeWJveC1zbGlkZXItd3JhcCxcbi5mYW5jeWJveC1zbGlkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB6LWluZGV4OiA5OTk5MztcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uZmFuY3lib3gtc2xpZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogYXV0bztcbiAgb3V0bGluZTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiA5OTk5NDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5mYW5jeWJveC1zbGlkZTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMDsgfVxuXG4uZmFuY3lib3gtc2xpZGUgPiAqIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1hcmdpbjogNDRweCAwIDQ0cHg7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFuY3lib3gtY29udGVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDQ0cHggYXV0bztcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICB3aWR0aDogODAlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDg4cHgpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBvdXRsaW5lOiBub25lO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5mYW5jeWJveC1pZnJhbWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtY29udGVudCxcbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWlmcmFtZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi5mYW5jeWJveC1wbGFjZWhvbGRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgei1pbmRleDogOTk5OTU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtaW1hZ2UsXG4uZmFuY3lib3gtc3BhY2ViYWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsgfVxuXG4uZmFuY3lib3gtY29udHJvbHMtLWNhbnpvb21PdXQgLmZhbmN5Ym94LXBsYWNlaG9sZGVyIHtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICBjdXJzb3I6IHpvb20tb3V0OyB9XG5cbi5mYW5jeWJveC1jb250cm9scy0tY2Fuem9vbUluIC5mYW5jeWJveC1wbGFjZWhvbGRlciB7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47IH1cblxuLmZhbmN5Ym94LWNvbnRyb2xzLS1jYW5HcmFiIC5mYW5jeWJveC1wbGFjZWhvbGRlciB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICBjdXJzb3I6IGdyYWI7IH1cblxuLmZhbmN5Ym94LWNvbnRyb2xzLS1pc0dyYWJiaW5nIC5mYW5jeWJveC1wbGFjZWhvbGRlciB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgY3Vyc29yOiBncmFiYmluZzsgfVxuXG4uZmFuY3lib3gtc3BhY2ViYWxsIHtcbiAgei1pbmRleDogMTsgfVxuXG4uZmFuY3lib3gtdG1wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIGxlZnQ6IC05OTk5cHg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtZXJyb3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNDBweDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDM4MHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uZmFuY3lib3gtZXJyb3IgcCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICM0NDQ7XG4gIGZvbnQ6IDE2cHgvMjBweCBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDRweDtcbiAgcmlnaHQ6IDRweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBmb250OiAyMXB4LzEgQXJpYWwsXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxzYW5zLXNlcmlmO1xuICBjb2xvcjogIzg4ODtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgei1pbmRleDogMjsgfVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGw6Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggZG90dGVkICM4ODg7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtY2xvc2Utc21hbGwge1xuICB0b3A6IC0zNnB4O1xuICByaWdodDogLTM2cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi5mYW5jeWJveC1jbG9zZS1zbWFsbDpob3ZlciB7XG4gIGNvbG9yOiAjNTU1O1xuICBiYWNrZ3JvdW5kOiAjZWVlOyB9XG5cbi8qIENhcHRpb24gKi9cbi5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDYwcHggMzBweCAwIDMwcHg7XG4gIHotaW5kZXg6IDk5OTk4O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCAwJSwgcmdiYSgwLCAwLCAwLCAwLjEpIDIwJSwgcmdiYSgwLCAwLCAwLCAwLjIpIDQwJSwgcmdiYSgwLCAwLCAwLCAwLjYpIDgwJSwgcmdiYSgwLCAwLCAwLCAwLjgpIDEwMCUpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmZhbmN5Ym94LXNob3ctY2FwdGlvbiAuZmFuY3lib3gtY2FwdGlvbi13cmFwIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbiB7XG4gIHBhZGRpbmc6IDMwcHggMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbiBhLFxuLmZhbmN5Ym94LWNhcHRpb24gYnV0dG9uIHtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbiBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qIEJ1dHRvbnMgKi9cbi5mYW5jeWJveC1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmZjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1kaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmZhbmN5Ym94LWluZm9iYXJfX2JvZHksIC5mYW5jeWJveC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDMwLCAzMCwgMzAsIDAuNik7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uOjpiZWZvcmUsXG4uZmFuY3lib3gtYnV0dG9uOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3BhY2l0eTogMC45O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tZGlzYWJsZWQ6OmJlZm9yZSxcbi5mYW5jeWJveC1idXR0b24tLWRpc2FibGVkOjphZnRlciB7XG4gIG9wYWNpdHk6IDAuNTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1sZWZ0OjphZnRlciB7XG4gIGxlZnQ6IDIwcHg7XG4gIHRvcDogMThweDtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiBzb2xpZCAycHggY3VycmVudENvbG9yO1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcmlnaHQ6OmFmdGVyIHtcbiAgcmlnaHQ6IDIwcHg7XG4gIHRvcDogMThweDtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiBzb2xpZCAycHggY3VycmVudENvbG9yO1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tbGVmdCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1yaWdodCB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6OmJlZm9yZSwgLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDJweDtcbiAgd2lkdGg6IDE2cHg7XG4gIHRvcDogY2FsYyg1MCUgLSAxcHgpO1xuICBsZWZ0OiBjYWxjKDUwJSAtIDhweCk7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6OmJlZm9yZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6OmFmdGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4vKiBMb2FkaW5nIHNwaW5uZXIgKi9cbi5mYW5jeWJveC1sb2FkaW5nIHtcbiAgYm9yZGVyOiA2cHggc29saWQgcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjQpO1xuICBib3JkZXItdG9wOiA2cHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHdpZHRoOiA1MHB4O1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmFuY3lib3gtcm90YXRlIC44cyBpbmZpbml0ZSBsaW5lYXI7XG4gIGFuaW1hdGlvbjogZmFuY3lib3gtcm90YXRlIC44cyBpbmZpbml0ZSBsaW5lYXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6IC0yNXB4O1xuICBtYXJnaW4tbGVmdDogLTI1cHg7XG4gIHotaW5kZXg6IDk5OTk5OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYW5jeWJveC1yb3RhdGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFuY3lib3gtcm90YXRlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxuXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmZhbmN5Ym94LWNvbnRyb2xzIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5mYW5jeWJveC1idXR0b24tLWxlZnQsXG4gIC5mYW5jeWJveC1idXR0b24tLXJpZ2h0LFxuICAuZmFuY3lib3gtYnV0dG9ucyBidXR0b246bm90KC5mYW5jeWJveC1idXR0b24tLWNsb3NlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5mYW5jeWJveC1jYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgbWFyZ2luOiAwOyB9IH1cblxuLyogRnVsbHNjcmVlbiAgKi9cbi5mYW5jeWJveC1idXR0b24tLWZ1bGxzY3JlZW46OmJlZm9yZSB7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDExcHg7XG4gIGxlZnQ6IDE1cHg7XG4gIHRvcDogMTZweDtcbiAgYm9yZGVyOiAycHggc29saWQ7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLyogU2xpZGVzaG93IGJ1dHRvbiAqL1xuLmZhbmN5Ym94LWJ1dHRvbi0tcGxheTo6YmVmb3JlIHtcbiAgdG9wOiAxNnB4O1xuICBsZWZ0OiAxOHB4O1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiA2cHggaW5zZXQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDZweCBpbnNldCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcGF1c2U6OmJlZm9yZSB7XG4gIHRvcDogMTZweDtcbiAgbGVmdDogMThweDtcbiAgd2lkdGg6IDdweDtcbiAgaGVpZ2h0OiAxMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAgMnB4IDAgMnB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4vKiBUaHVtYnMgKi9cbi5mYW5jeWJveC1idXR0b24tLXRodW1icyBzcGFuIHtcbiAgZm9udC1zaXplOiAyM3B4OyB9XG5cbi5mYW5jeWJveC1idXR0b24tLXRodW1iczo6YmVmb3JlIHtcbiAgdG9wOiAyMHB4O1xuICBsZWZ0OiAyMXB4O1xuICB3aWR0aDogM3B4O1xuICBoZWlnaHQ6IDNweDtcbiAgYm94LXNoYWRvdzogMCAtNHB4IDAsIC00cHggLTRweCAwLCA0cHggLTRweCAwLCAwIDAgMCAzMnB4IGluc2V0LCAtNHB4IDAgMCwgNHB4IDAgMCwgMCA0cHggMCwgLTRweCA0cHggMCwgNHB4IDRweCAwOyB9XG5cbi5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtY29udHJvbHMsXG4uZmFuY3lib3gtY29udGFpbmVyLS10aHVtYnMgLmZhbmN5Ym94LXNsaWRlci13cmFwLFxuLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xuICByaWdodDogMjIwcHg7IH1cblxuLmZhbmN5Ym94LXRodW1icyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiBhdXRvO1xuICB3aWR0aDogMjIwcHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNXB4IDVweCAwIDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHotaW5kZXg6IDk5OTkzO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uZmFuY3lib3gtdGh1bWJzID4gdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGZvbnQtc2l6ZTogMDsgfVxuXG4uZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtd2lkdGg6IDUwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTA1cHg7XG4gIGhlaWdodDogNzVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogNXB4IHNvbGlkICNmZmY7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5saS5mYW5jeWJveC10aHVtYnMtbG9hZGluZyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaSA+IGltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXI6IDRweCBzb2xpZCAjNGVhN2Y5O1xuICB6LWluZGV4OiA5OTk5MTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpLmZhbmN5Ym94LXRodW1icy1hY3RpdmU6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmZhbmN5Ym94LXRodW1icyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtY29udHJvbHMsXG4gIC5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtc2xpZGVyLXdyYXAsXG4gIC5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtY2FwdGlvbi13cmFwIHtcbiAgICByaWdodDogMDsgfSB9XG5cbi8qYW5pbWF0aW9ucyovXG4vKioqKioqKioqKioqKioqKioqXG4qIEJvdW5jZSBpbiByaWdodCAqXG4qKioqKioqKioqKioqKioqKioqL1xuLmFuaW1hdGVkIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLnNsb3cge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLnNsb3dlciB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi5zbG93ZXN0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDNzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDNzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLyogQWRkZWQgYnkgQW5keSBNZWV0YW4gKi9cbi5kZWxheS0yNTAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC4yNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAwLjI1cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAwLjI1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjI1czsgfVxuXG4uZGVsYXktNTAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDAuNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMC41czsgfVxuXG4uZGVsYXktNzUwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuNzVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMC43NXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMC43NXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMC43NXM7IH1cblxuLmRlbGF5LTEwMDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMS4wcztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDEuMHM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMS4wcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjBzOyB9XG5cbi5kZWxheS0xMjUwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDEuMjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS4yNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMS4yNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMS4yNXM7IH1cblxuLmRlbGF5LTE1MDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMS41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDEuNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMS41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjVzOyB9XG5cbi5kZWxheS0xNzUwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDEuNzVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS43NXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMS43NXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMS43NXM7IH1cblxuLmRlbGF5LTIwMDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMi4wcztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDIuMHM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMi4wcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAyLjBzOyB9XG5cbi5kZWxheS0yNTAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMi41czsgfVxuXG4uZGVsYXktMjAwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMi4wcztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICBhbmltYXRpb24tZGVsYXk6IDIuMHM7IH1cblxuLmRlbGF5LTI1MDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAyLjVzOyB9XG5cbi5kZWxheS0zMDAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDMuMHM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAzLjBzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDMuMHM7XG4gIGFuaW1hdGlvbi1kZWxheTogMy4wczsgfVxuXG4uZGVsYXktMzUwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAzLjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMy41cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAzLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDMuNXM7IH1cblxuLmJvdW5jZUluUmlnaHQsIC5ib3VuY2VJbkxlZnQsIC5ib3VuY2VJblVwLCAuYm91bmNlSW5Eb3duIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpOyB9XG5cbi5mYWRlSW5SaWdodCwgLmZhZGVJbkxlZnQsIC5mYWRlSW5VcCwgLmZhZGVJbkRvd24ge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH1cblxuLmZsaXBJblgsIC5mbGlwSW5ZLCAucm90YXRlSW4sIC5yb3RhdGVJblVwTGVmdCwgLnJvdGF0ZUluVXBSaWdodCwgLnJvdGF0ZUluRG93bkxlZnQsIC5yb3RhdGVEb3duVXBSaWdodCwgLnJvbGxJbiB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmxpZ2h0U3BlZWRJblJpZ2h0LCAubGlnaHRTcGVlZEluTGVmdCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfVxuXG4vKioqKioqKioqKipcbiogYm91bmNlSW4gKlxuKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMyk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMyk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi5ib3VuY2VJbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47IH1cblxuLyoqKioqKioqKioqKioqKipcbiogYm91bmNlSW5SaWdodCAqXG4qKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4uYm91bmNlSW5SaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0OyB9XG5cbi8qKioqKioqKioqKioqKioqKipcbiogQm91bmNlIGluIGxlZnQgKlxuKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLmJvdW5jZUluTGVmdC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDsgfVxuXG4vKioqKioqKioqKioqKioqKioqXG4qIEJvdW5jZSBpbiB1cCAqXG4qKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MDBweCk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4uYm91bmNlSW5VcC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwOyB9XG5cbi8qKioqKioqKioqKioqKioqKipcbiogQm91bmNlIGluIGRvd24gKlxuKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLmJvdW5jZUluRG93bi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjsgfVxuXG4vKioqKioqKioqKlxuKiBGYWRlIEluICpcbioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5mYWRlSW4ge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5mYWRlSW4uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47IH1cblxuLyoqKioqKioqKipcbiogR3JvdyBpbiAqXG4qKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBncm93SW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBncm93SW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmdyb3dJbiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmdyb3dJbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGdyb3dJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGdyb3dJbjsgfVxuXG4vKioqKioqKipcbiogU2hha2UgKlxuKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2Uge1xuICAwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuICAyMCUsIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG4gIDAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgMjAlLCA0MCUsIDYwJSwgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH0gfVxuXG4uc2hha2UuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlOyB9XG5cbi8qKioqKioqKlxuKiBTaGFrZVVwICpcbioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlVXAge1xuICAwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICAyMCUsIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBzaGFrZVVwIHtcbiAgMCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICAyMCUsIDQwJSwgNjAlLCA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfSB9XG5cbi5zaGFrZVVwLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2VVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlVXA7IH1cblxuLyoqKioqKioqKioqKipcbiogRmFkZUluTGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi5mYWRlSW5MZWZ0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7IH1cblxuLmZhZGVJbkxlZnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDsgfVxuXG4vKioqKioqKioqKioqKlxuKiBGYWRlSW5SaWdodCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi5mYWRlSW5SaWdodCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfVxuXG4uZmFkZUluUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0OyB9XG5cbi8qKioqKioqKioqKioqXG4qIEZhZGVJblVwICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MDBweCk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLmZhZGVJblVwIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpOyB9XG5cbi5mYWRlSW5VcC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7IH1cblxuLyoqKioqKioqKioqKipcbiogRmFkZUluRG93biAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5mYWRlSW5Eb3duIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7IH1cblxuLmZhZGVJbkRvd24uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjsgfVxuXG4vKioqKioqKioqKioqKioqKipcbiogcm90YXRlSW4gKlxuKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnJvdGF0ZUluLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjsgfVxuXG4vKioqKioqKioqKioqKioqKipcbiogcm90YXRlSW5VcExlZnQgKlxuKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnJvdGF0ZUluVXBMZWZ0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKlxuKiByb3RhdGVJbkRvd25MZWZ0ICpcbioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnJvdGF0ZUluRG93bkxlZnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDsgfVxuXG4vKioqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluVXBSaWdodCAqXG4qKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnJvdGF0ZUluVXBSaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKipcbiogcm90YXRlSW5Eb3duUmlnaHQgKlxuKioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5yb3RhdGVJbkRvd25SaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7IH1cblxuLyoqKioqKioqKlxuKiByb2xsSW4gKlxuKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvbGxJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOyB9IH1cblxuLnJvbGxJbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjsgfVxuXG4vKioqKioqKioqXG4qIHdpZ2dsZSAqXG4qKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHdpZ2dsZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goOWRlZyk7IH1cbiAgMTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLThkZWcpOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDdkZWcpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC02ZGVnKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNGRlZyk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goM2RlZyk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTJkZWcpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDFkZWcpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goOWRlZyk7IH1cbiAgMTAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC04ZGVnKTsgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goN2RlZyk7IH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC02ZGVnKTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goNWRlZyk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC00ZGVnKTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goM2RlZyk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0yZGVnKTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMWRlZyk7IH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMGRlZyk7IH0gfVxuXG4ud2lnZ2xlLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd2lnZ2xlO1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cblxuLyoqKioqKioqXG4qIHN3aW5nICpcbioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSwgNDAlLCA2MCUsIDgwJSwgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfSB9XG5cbi5zd2luZy5nbyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZzsgfVxuXG4vKioqKioqKlxuKiB0YWRhICpcbioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwJSwgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpOyB9XG4gIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpOyB9XG4gIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwJSwgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTsgfVxuICAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7IH1cbiAgNDAlLCA2MCUsIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7IH0gfVxuXG4udGFkYS5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhOyB9XG5cbi8qKioqKioqKipcbiogd29iYmxlICpcbioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICAxNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTsgfVxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHdvYmJsZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9XG4gIDE1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7IH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyk7IH1cbiAgNDUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1JSkgcm90YXRlKC0zZGVnKTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTsgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfSB9XG5cbi53b2JibGUuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG4gIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7IH1cblxuLyoqKioqKioqXG4qIHB1bHNlICpcbioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi5wdWxzZS5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuICBhbmltYXRpb24tbmFtZTogcHVsc2U7IH1cblxuLyoqKioqKioqKioqKioqKlxuKiBsaWdodFNwZWVkSW5SaWdodCAqXG4qKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJblJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5saWdodFNwZWVkSW5SaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluUmlnaHQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG5cbi8qKioqKioqKioqKioqKipcbiogbGlnaHRTcGVlZEluTGVmdCAqXG4qKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbkxlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmxpZ2h0U3BlZWRJbkxlZnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluTGVmdDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cblxuLyoqKioqKipcbiogRmxpcCAqXG4qKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDM2MGRlZykgc2NhbGUoMC45NSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUoMSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSgwLjk1KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlKDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH0gfVxuXG4uZmxpcC5nbyB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwOyB9XG5cbi8qKioqKioqKioqXG4qIGZsaXBJblggKlxuKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmZsaXBJblguZ28ge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWDsgfVxuXG4vKioqKioqKioqKlxuKiBmbGlwSW5ZICpcbioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTsgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5mbGlwSW5ZLmdvIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7IH1cblxuLyoqKioqKioqKioqKioqKioqXG4qIE91dCBhbmltYXRpb25zICpcbioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKlxuKiBib3VuY2VPdXQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDI1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOTUpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VPdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAyNSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4zKTsgfSB9XG5cbi5ib3VuY2VPdXQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0OyB9XG5cbi8qKioqKioqKioqKipcbiogYm91bmNlT3V0VXAgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7IH0gfVxuXG4uYm91bmNlT3V0VXAuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDsgfVxuXG4vKioqKioqKioqKioqXG4qIGJvdW5jZU91dERvd24gKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOyB9IH1cblxuLmJvdW5jZU91dERvd24uZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247IH1cblxuLyoqKioqKioqKioqKlxuKiBib3VuY2VPdXRMZWZ0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsgfSB9XG5cbi5ib3VuY2VPdXRMZWZ0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0OyB9XG5cbi8qKioqKioqKioqKipcbiogYm91bmNlT3V0UmlnaHQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7IH0gfVxuXG4uYm91bmNlT3V0UmlnaHQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDsgfVxuXG4vKioqKioqKioqKioqXG4qIGZhZGVPdXQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uZmFkZU91dC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDsgfVxuXG4vKioqKioqKioqKioqXG4qIGZhZGVPdXRVcCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsgfSB9XG5cbi5mYWRlT3V0VXAuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwOyB9XG5cbi8qKioqKioqKioqKipcbiogZmFkZU91dERvd24gKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsgfSB9XG5cbi5mYWRlT3V0RG93bi5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duOyB9XG5cbi8qKioqKioqKioqKipcbiogZmFkZU91dExlZnQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOyB9IH1cblxuLmZhZGVPdXRMZWZ0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7IH1cblxuLyoqKioqKioqKioqKlxuKiBmYWRlT3V0UmlnaHQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOyB9IH1cblxuLmZhZGVPdXRSaWdodC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7IH1cblxuLyoqKioqKioqKioqKlxuKiBmbGlwT3V0WCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcE91dFgge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uZmxpcE91dFguZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsgfVxuXG4vKioqKioqKioqKioqXG4qIGZsaXBPdXRZICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5mbGlwT3V0WSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7IH1cblxuLyoqKioqKioqKioqKlxuKiBsaWdodFNwZWVkT3V0UmlnaHQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0UmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4ubGlnaHRTcGVlZE91dFJpZ2h0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRSaWdodDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG5cbi8qKioqKioqKioqKipcbiogbGlnaHRTcGVlZE91dExlZnQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRMZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmxpZ2h0U3BlZWRPdXRMZWZ0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dExlZnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuXG4vKioqKioqKioqKioqXG4qIHJvdGF0ZU91dCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5yb3RhdGVPdXQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0OyB9XG5cbi8qKioqKioqKioqKipcbiogcm90YXRlT3V0VXBMZWZ0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLnJvdGF0ZU91dFVwTGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7IH1cblxuLyoqKioqKioqKioqKlxuKiByb3RhdGVPdXREb3duTGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5yb3RhdGVPdXREb3duTGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0OyB9XG5cbi8qKioqKioqKioqKipcbiogcm90YXRlT3V0VXBSaWdodCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLnJvdGF0ZU91dFVwUmlnaHQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7IH1cblxuLyoqKioqKioqKioqKlxuKiByb2xsT3V0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvbGxPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7IH0gfVxuXG4ucm9sbE91dC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm9sbE91dDsgfVxuXG4vKioqKioqKioqKioqKioqKipcbiogU2hvcnQgQW5pbWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKipcbiogZmFkZUluVXBTaG9ydFxuKioqKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwU2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5VcFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLmZhZGVJblVwU2hvcnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyB9XG5cbi5mYWRlSW5VcFNob3J0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXBTaG9ydDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwU2hvcnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuKiBmYWRlSW5Eb3duU2hvcnRcbioqKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duU2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93blNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5mYWRlSW5Eb3duU2hvcnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cblxuLmZhZGVJbkRvd25TaG9ydC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25TaG9ydDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25TaG9ydDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG4qIGZhZGVJblJpZ2h0U2hvcnQgXG4qKioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0U2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4uZmFkZUluUmlnaHRTaG9ydCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7IH1cblxuLmZhZGVJblJpZ2h0U2hvcnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodFNob3J0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRTaG9ydDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG4qIGZhZGVJbkxlZnRTaG9ydCBcbioqKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0U2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi5mYWRlSW5MZWZ0U2hvcnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7IH1cblxuLmZhZGVJbkxlZnRTaG9ydC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRTaG9ydDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRTaG9ydDsgfVxuXG4ubmljZS1zZWxlY3Qge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGJvcmRlcjogc29saWQgMXB4ICNkOGQ4ZDg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtICsgMnB4KTtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtICsgMnB4KTtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTsgfVxuICAubmljZS1zZWxlY3Q6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2NiY2JjYjsgfVxuICAubmljZS1zZWxlY3Q6YWN0aXZlLCAubmljZS1zZWxlY3Qub3BlbiwgLm5pY2Utc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM3NTc1NzU7IH1cbiAgLm5pY2Utc2VsZWN0OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDNweDtcbiAgICB0b3A6IDEwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA2NiUgNjYlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29uLWRvd24ucG5nKTsgfVxuICAubmljZS1zZWxlY3Qub3BlbjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgdG9wOiAtMTIlO1xuICAgIHJpZ2h0OiAxMnB4OyB9XG4gIC5uaWNlLXNlbGVjdC5vcGVuIC5saXN0IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTsgfVxuICAubmljZS1zZWxlY3QuZGlzYWJsZWQge1xuICAgIGJvcmRlci1jb2xvcjogI2RkZGRkZDtcbiAgICBjb2xvcjogIzc1NzU3NTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5uaWNlLXNlbGVjdC5kaXNhYmxlZDphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6ICNhOGE4YTg7IH1cbiAgLm5pY2Utc2VsZWN0LndpZGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm5pY2Utc2VsZWN0LndpZGUgLmxpc3Qge1xuICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAubmljZS1zZWxlY3QucmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAgIC5uaWNlLXNlbGVjdC5yaWdodCAubGlzdCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgLm5pY2Utc2VsZWN0LnNtYWxsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNHB4OyB9XG4gICAgLm5pY2Utc2VsZWN0LnNtYWxsOmFmdGVyIHtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgd2lkdGg6IDRweDsgfVxuICAgIC5uaWNlLXNlbGVjdC5zbWFsbCAub3B0aW9uIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgICAgbWluLWhlaWdodDogMzRweDsgfVxuICAubmljZS1zZWxlY3QgLmxpc3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDY4LCA2OCwgNjgsIDAuMTEpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpIHRyYW5zbGF0ZVkoLWNhbGMoMS41ZW0gKyAwLjc1cmVtICsgMnB4KS8yKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC41LCAwLCAwLCAxLjI1KSwgb3BhY2l0eSAwLjE1cyBlYXNlLW91dDtcbiAgICB6LWluZGV4OiA5OyB9XG4gIC5uaWNlLXNlbGVjdCAub3B0aW9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0gKyAycHgpO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSArIDJweCk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjlweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgIGJhY2tncm91bmQ6ICMwNDA1MDg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyNTIyM2Q7XG4gICAgY29sb3I6ICM2ODc3OGI7IH1cbiAgICAubmljZS1zZWxlY3QgLm9wdGlvbjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAubmljZS1zZWxlY3QgLm9wdGlvbjpob3ZlciwgLm5pY2Utc2VsZWN0IC5vcHRpb24uZm9jdXMsIC5uaWNlLXNlbGVjdCAub3B0aW9uLnNlbGVjdGVkLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZiMDM2OyB9XG4gICAgLm5pY2Utc2VsZWN0IC5vcHRpb24uc2VsZWN0ZWQge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAubmljZS1zZWxlY3QgLm9wdGlvbi5kaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xuICAgICAgY29sb3I6ICM3NTc1NzU7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLm5vLWNzc3BvaW50ZXJldmVudHMgLm5pY2Utc2VsZWN0IC5saXN0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubm8tY3NzcG9pbnRlcmV2ZW50cyAubmljZS1zZWxlY3Qub3BlbiAubGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogU3dpcGVyIDUuMi4wXG4gKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9uc1xuICogaHR0cDovL3N3aXBlcmpzLmNvbVxuICpcbiAqIENvcHlyaWdodCAyMDE0LTIwMTkgVmxhZGltaXIgS2hhcmxhbXBpZGlcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcbiAqXG4gKiBSZWxlYXNlZCBvbjogT2N0b2JlciAyNiwgMjAxOVxuICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHN3aXBlci1pY29ucztcbiAgc3JjOiB1cmwoXCJkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCwgZDA5R1JnQUJBQUFBQUFaZ0FCQUFBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJHUmxSTkFBQUdSQUFBQUJvQUFBQWNpNnFIa1VkRVJVWUFBQVdnQUFBQUl3QUFBQ1FBWUFCWFIxQlBVd0FBQmhRQUFBQXVBQUFBTnVBWTcreEhVMVZDQUFBRnhBQUFBRkFBQUFCbTJmUGN6VTlUTHpJQUFBSGNBQUFBU2dBQUFHQlA5VjVSWTIxaGNBQUFBa1FBQUFDSUFBQUJZdDZGMGNCamRuUWdBQUFDekFBQUFBUUFBQUFFQUJFQlJHZGhjM0FBQUFXWUFBQUFDQUFBQUFqLy93QURaMng1WmdBQUF5d0FBQURNQUFBRDJNSHRyeVZvWldGa0FBQUJiQUFBQURBQUFBQTJFMitlb1dob1pXRUFBQUdjQUFBQUh3QUFBQ1FDOWdEemFHMTBlQUFBQWlnQUFBQVpBQUFBcmdKa0FCRnNiMk5oQUFBQzBBQUFBRm9BQUFCYUZRQVVHRzFoZUhBQUFBRzhBQUFBSHdBQUFDQUFjQUJBYm1GdFpRQUFBL2dBQUFFNUFBQUNYdkZkQndsd2IzTjBBQUFGTkFBQUFHSUFBQUNFNXM3NGhYamFZMkJrWUdBQVlwZjVIdS9qK1cyK01uQXpNWURBemFYNlFqRDYvNC8vQnhqNUdBOEF1UndNWUdrQVB5d0wxM2phWTJCa1lHQTg4UDhBZ3g0aisvOGZRRFlmQTFBRUJXZ0RBSUIyQk9vQWVOcGpZR1JnWU5CaDRHZGdZZ0FCRU1uSUFCSnpZTkFEQ1FBQUNXZ0FzUUI0Mm1OZ1lmekNPSUdCbFlHQjBZY3hqWUdCd1IxS2YyV1FaR2hoWUdCaVlHVm1nQUZHQmlRUWtPYWF3dERBb01CUXhYamcvd0VHUGNZRERBNHdOVUEyQ0Nnd3NBQUFPNEVMNmdBQWVOcGoyTTBneUFBQ3F4Z0dOV0JrWjJENC93TUEreGtEZGdBQUFIamFZMkJnWUdhQVlCa0dSZ1lRaUFIeUdNRjhGZ1lISU0zRHdNSEFCR1FyTU9neVdETEVNMVQ5L3c4VUJmRU1nTHpFLy8vL1AvNS8vZi9WL3h2K3I0ZWFBQWVNYkF4d0lVWW1JTUhFZ0tZQVlqVWNzREF3c0xLeGMzQnljZlB3OGpFUUEvZ1pCQVNGaEVWRXhjUWxKS1drWldUbDVCVVVsWlJWVk5YVU5UUVpCZ01BQU1SK0UrZ0FFUUZFQUFBQUtnQXFBQ29BTkFBK0FFZ0FVZ0JjQUdZQWNBQjZBSVFBamdDWUFLSUFyQUMyQU1BQXlnRFVBTjRBNkFEeUFQd0JCZ0VRQVJvQkpBRXVBVGdCUWdGTUFWWUJZQUZxQVhRQmZnR0lBWklCbkFHbUFiSUJ6Z0hzQUFCNDJ1Mk5NUTZDVUF5R1c1Njh4OUFuZVlZZ200TUpiaEtGYUV4SU9BVlg4QXBld1N0NEJpYzRBZmVBaWQzVk9CaXhEeGZQWUV6YTVPK1hmaTA0WUFEZ2dpVUlVTEN1RUpLOFZoTzRiU3ZwZG5rdEhJNVFDWXRkaTJzbDhablhhSGxxVXJOS3pkS2NUOGNqbHErcndaU3ZJVmN6TmllenNmblAvdXpubWZQRkJOT0RNMks3TVRRNDVZRUFacUdQODFBbUdHY0YzaVBxT29wMHIxU1BUYVRiVmtmVWU0SFhqOTd3WUUreU53V1l4d1d1NHYxdWdXSGdvM1MxWGRaRVZxV003RVQwY2ZuTEd4V2ZrZ1I0Mm8yUHZXckRNQlNGai9JSExhRjB6S2pSZ2RpVk13U2NOUkFvV1VvSDc4WTJpY0IveUlZMDlBbjZBSDJCZHUvVUIreXhvcFlzaFFpRXZudnUwZFVSZ0R0OFFlQzhQRHc3RnBqaTNmRUE0ei9QRUo2WU9CNWhLaDRkajNFdlhoeFBxSC9TS1VZM3JKN3NyWjRGWm5oMVBNQXRQaHdQNmZsMlBNSk1QRGdlUTRyWThZVDZHemFvMGVBRUE0MDlEdWdnbVRuRm5PY1NDaUVpTE1neENpVEk2Q3E1RFpVZDNRbXAxMHZPMExhTFRkMmNqTjRmT3VtbGM3bFVZYlNRY1pGa3V0Ukc3ZzZKS1pLeTBSbWRMWTY4MENEbkVKK1VNa3BGRmUxUk43bnhkVnBYckM0YVR0bmF1ck9uWWVyY1pnMllWbUxOL2QvZ2N6ZkVpbXJFL2ZzL2JPdXEyOVptbjh0bG9PUmFYZ1pnR2E3OHlPOS9jblhtMkJwYUd2cTI1RHY5UzRFOSs1U0ljOVBxdXBKS2hZRlNTbDQ3K1FjcjFtWU5BQUFBZU5wdHcwY0t3a0FBQU1EWkpBOFE3T1VKdmtMc1BmWjZ6RlZFUlB5OHFIaDJZRVIrM2kvQlA4M3ZJQkxMeVNzb0tpbXJxS3FwYTJocDYranE2UnNZR2htYm1KcVpTeTBzcmF4dGJPM3NIUnlkbkVNVTR1UjZ5eDdKSlh2ZVA3V3JEeWNBQUFBQUFBSC8vd0FDZU5wallHUmdZT0FCWWhrZ1pnSkNaZ1pOQmtZR0xRWnRJSnNGTE1ZQUFBdzNBTGdBZU5vbGl6RUtnREFRQkNjaFJiQzJzRkVSMFlENnFWUWlCQ3YvSDllekdJNlo1WEJBdzhDQksvbTVpUVFWYXVWYlhMbk9yTVp2Mm9MZEtGYThQanVydTJoSnpHYWJtT1NMek5NenZ1dHBCM040Mm1OZ1pHQmc0R0tRWXpCaFlNeEpMTWxqNEdCZ0FZb3cvUC9QQUpKaExNNnNTb1dLZldDQUF3REFqZ2JSQUFCNDJtTmdZR0JrQUlJYkNabzVJUHJtVW4waEdBMEFPOEVGVFFBQVwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuOnJvb3Qge1xuICAtLXN3aXBlci10aGVtZS1jb2xvcjojMDA3YWZmOyB9XG5cbi5zd2lwZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAxOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uc3dpcGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLnN3aXBlci1jb250YWluZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7IH1cblxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3ctY29sdW1uID4gLnN3aXBlci13cmFwcGVyIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLnN3aXBlci1zbGlkZSB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsgfVxuXG4uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuayB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LCAuc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXIge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLGhlaWdodDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCB7XG4gIHBlcnNwZWN0aXZlOiAxMjAwcHg7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1jdWJlLXNoYWRvdywgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTA7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZSB7XG4gIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydCBzdGFydDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbC5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeSBtYW5kYXRvcnk7IH1cblxuOnJvb3Qge1xuICAtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemU6NDRweDsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IGNhbGModmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkvIDQ0ICogMjcpO1xuICBoZWlnaHQ6IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpO1xuICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkvIDIpO1xuICB6LWluZGV4OiAxMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IC4zNTtcbiAgY3Vyc29yOiBhdXRvO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyLCAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IHN3aXBlci1pY29ucztcbiAgZm9udC1zaXplOiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXZhcmlhbnQ6IGluaXRpYWw7IH1cblxuLnN3aXBlci1idXR0b24tcHJldiwgLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICBsZWZ0OiAxMHB4O1xuICByaWdodDogYXV0bzsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyLCAuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dDphZnRlciB7XG4gIGNvbnRlbnQ6ICdwcmV2JzsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LCAuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gIHJpZ2h0OiAxMHB4O1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsIC5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyIHtcbiAgY29udGVudDogJ25leHQnOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi13aGl0ZSwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgLS1zd2lwZXItbmF2aWdhdGlvbi1jb2xvcjojZmZmZmZmOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1ibGFjaywgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgLS1zd2lwZXItbmF2aWdhdGlvbi1jb2xvcjojMDAwMDAwOyB9XG5cbi5zd2lwZXItYnV0dG9uLWxvY2sge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiAuM3Mgb3BhY2l0eTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgei1pbmRleDogMTA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWhpZGRlbiB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLCAuc3dpcGVyLXBhZ2luYXRpb24tY3VzdG9tLCAuc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24ge1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbWFpbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYtcHJldiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQtbmV4dCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IC4yOyB9XG5cbmJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3IsIHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICByaWdodDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDZweCAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiA4cHg7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogLjJzIHRyYW5zZm9ybSwuMnMgdG9wOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiAwIDRweDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgdHJhbnNpdGlvbjogLjJzIHRyYW5zZm9ybSwuMnMgbGVmdDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsLnN3aXBlci1jb250YWluZXItcnRsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgdHJhbnNpdGlvbjogLjJzIHRyYW5zZm9ybSwuMnMgcmlnaHQ7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciwgLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlLCAuc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSB7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3I6I2ZmZmZmZjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sge1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yOiMwMDAwMDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWxvY2sge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxJTtcbiAgYm90dG9tOiAzcHg7XG4gIHotaW5kZXg6IDUwO1xuICBoZWlnaHQ6IDVweDtcbiAgd2lkdGg6IDk4JTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogM3B4O1xuICB0b3A6IDElO1xuICB6LWluZGV4OiA1MDtcbiAgd2lkdGg6IDVweDtcbiAgaGVpZ2h0OiA5OCU7IH1cblxuLnN3aXBlci1zY3JvbGxiYXItZHJhZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1zY3JvbGxiYXItY3Vyc29yLWRyYWcge1xuICBjdXJzb3I6IG1vdmU7IH1cblxuLnN3aXBlci1zY3JvbGxiYXItbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci16b29tLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGNhbnZhcywgLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGltZywgLnN3aXBlci16b29tLWNvbnRhaW5lciA+IHN2ZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuXG4uc3dpcGVyLXNsaWRlLXpvb21lZCB7XG4gIGN1cnNvcjogbW92ZTsgfVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIxcHg7XG4gIG1hcmdpbi10b3A6IC0yMXB4O1xuICB6LWluZGV4OiAxMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICBhbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBpbmZpbml0ZSBsaW5lYXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogNHB4IHNvbGlkIHZhcigtLXN3aXBlci1wcmVsb2FkZXItY29sb3IsIHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXItd2hpdGUge1xuICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6I2ZmZjsgfVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLWJsYWNrIHtcbiAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiMwMDA7IH1cblxuQGtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW4ge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1ub3RpZmljYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IC0xMDAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUsIC5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZS5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXNsaWRlIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCwgLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQgKyAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtcHJldiB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAuNjtcbiAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNTBweCk7XG4gIGZpbHRlcjogYmx1cig1MHB4KTtcbiAgei1pbmRleDogMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlLCAuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sIC5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwgLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwgLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICB6LWluZGV4OiAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qYW5pbWF0aW9ucyovXG4vKioqKioqKioqKioqKioqKioqXG4qIEJvdW5jZSBpbiByaWdodCAqXG4qKioqKioqKioqKioqKioqKioqL1xuLmFuaW1hdGVkIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLnNsb3cge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLnNsb3dlciB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi5zbG93ZXN0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDNzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDNzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLyogQWRkZWQgYnkgQW5keSBNZWV0YW4gKi9cbi5kZWxheS0yNTAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC4yNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAwLjI1cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAwLjI1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjI1czsgfVxuXG4uZGVsYXktNTAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDAuNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMC41czsgfVxuXG4uZGVsYXktNzUwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuNzVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMC43NXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMC43NXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMC43NXM7IH1cblxuLmRlbGF5LTEwMDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMS4wcztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDEuMHM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMS4wcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjBzOyB9XG5cbi5kZWxheS0xMjUwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDEuMjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS4yNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMS4yNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMS4yNXM7IH1cblxuLmRlbGF5LTE1MDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMS41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDEuNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMS41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjVzOyB9XG5cbi5kZWxheS0xNzUwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDEuNzVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS43NXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMS43NXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMS43NXM7IH1cblxuLmRlbGF5LTIwMDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMi4wcztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDIuMHM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMi4wcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAyLjBzOyB9XG5cbi5kZWxheS0yNTAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMi41czsgfVxuXG4uZGVsYXktMjAwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMi4wcztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICBhbmltYXRpb24tZGVsYXk6IDIuMHM7IH1cblxuLmRlbGF5LTI1MDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAyLjVzOyB9XG5cbi5kZWxheS0zMDAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDMuMHM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAzLjBzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDMuMHM7XG4gIGFuaW1hdGlvbi1kZWxheTogMy4wczsgfVxuXG4uZGVsYXktMzUwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAzLjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMy41cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAzLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDMuNXM7IH1cblxuLmJvdW5jZUluUmlnaHQsIC5ib3VuY2VJbkxlZnQsIC5ib3VuY2VJblVwLCAuYm91bmNlSW5Eb3duIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpOyB9XG5cbi5mYWRlSW5SaWdodCwgLmZhZGVJbkxlZnQsIC5mYWRlSW5VcCwgLmZhZGVJbkRvd24ge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH1cblxuLmZsaXBJblgsIC5mbGlwSW5ZLCAucm90YXRlSW4sIC5yb3RhdGVJblVwTGVmdCwgLnJvdGF0ZUluVXBSaWdodCwgLnJvdGF0ZUluRG93bkxlZnQsIC5yb3RhdGVEb3duVXBSaWdodCwgLnJvbGxJbiB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmxpZ2h0U3BlZWRJblJpZ2h0LCAubGlnaHRTcGVlZEluTGVmdCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfVxuXG4vKioqKioqKioqKipcbiogYm91bmNlSW4gKlxuKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMyk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMyk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi5ib3VuY2VJbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47IH1cblxuLyoqKioqKioqKioqKioqKipcbiogYm91bmNlSW5SaWdodCAqXG4qKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4uYm91bmNlSW5SaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0OyB9XG5cbi8qKioqKioqKioqKioqKioqKipcbiogQm91bmNlIGluIGxlZnQgKlxuKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLmJvdW5jZUluTGVmdC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDsgfVxuXG4vKioqKioqKioqKioqKioqKioqXG4qIEJvdW5jZSBpbiB1cCAqXG4qKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MDBweCk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4uYm91bmNlSW5VcC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwOyB9XG5cbi8qKioqKioqKioqKioqKioqKipcbiogQm91bmNlIGluIGRvd24gKlxuKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLmJvdW5jZUluRG93bi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjsgfVxuXG4vKioqKioqKioqKlxuKiBGYWRlIEluICpcbioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5mYWRlSW4ge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5mYWRlSW4uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47IH1cblxuLyoqKioqKioqKipcbiogR3JvdyBpbiAqXG4qKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBncm93SW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBncm93SW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmdyb3dJbiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmdyb3dJbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGdyb3dJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGdyb3dJbjsgfVxuXG4vKioqKioqKipcbiogU2hha2UgKlxuKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2Uge1xuICAwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH0gfVxuXG4uc2hha2UuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlOyB9XG5cbi8qKioqKioqKlxuKiBTaGFrZVVwICpcbioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlVXAge1xuICAwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBzaGFrZVVwIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfSB9XG5cbi5zaGFrZVVwLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2VVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlVXA7IH1cblxuLyoqKioqKioqKioqKipcbiogRmFkZUluTGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi5mYWRlSW5MZWZ0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7IH1cblxuLmZhZGVJbkxlZnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDsgfVxuXG4vKioqKioqKioqKioqKlxuKiBGYWRlSW5SaWdodCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi5mYWRlSW5SaWdodCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfVxuXG4uZmFkZUluUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0OyB9XG5cbi8qKioqKioqKioqKioqXG4qIEZhZGVJblVwICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MDBweCk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLmZhZGVJblVwIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpOyB9XG5cbi5mYWRlSW5VcC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7IH1cblxuLyoqKioqKioqKioqKipcbiogRmFkZUluRG93biAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5mYWRlSW5Eb3duIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7IH1cblxuLmZhZGVJbkRvd24uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjsgfVxuXG4vKioqKioqKioqKioqKioqKipcbiogcm90YXRlSW4gKlxuKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnJvdGF0ZUluLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjsgfVxuXG4vKioqKioqKioqKioqKioqKipcbiogcm90YXRlSW5VcExlZnQgKlxuKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnJvdGF0ZUluVXBMZWZ0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKlxuKiByb3RhdGVJbkRvd25MZWZ0ICpcbioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnJvdGF0ZUluRG93bkxlZnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDsgfVxuXG4vKioqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluVXBSaWdodCAqXG4qKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnJvdGF0ZUluVXBSaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKipcbiogcm90YXRlSW5Eb3duUmlnaHQgKlxuKioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5yb3RhdGVJbkRvd25SaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7IH1cblxuLyoqKioqKioqKlxuKiByb2xsSW4gKlxuKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvbGxJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOyB9IH1cblxuLnJvbGxJbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjsgfVxuXG4vKioqKioqKioqXG4qIHdpZ2dsZSAqXG4qKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHdpZ2dsZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goOWRlZyk7IH1cbiAgMTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLThkZWcpOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDdkZWcpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC02ZGVnKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNGRlZyk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goM2RlZyk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTJkZWcpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDFkZWcpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goOWRlZyk7IH1cbiAgMTAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC04ZGVnKTsgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goN2RlZyk7IH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC02ZGVnKTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goNWRlZyk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC00ZGVnKTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goM2RlZyk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0yZGVnKTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMWRlZyk7IH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMGRlZyk7IH0gfVxuXG4ud2lnZ2xlLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd2lnZ2xlO1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cblxuLyoqKioqKioqXG4qIHN3aW5nICpcbioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfSB9XG5cbi5zd2luZy5nbyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZzsgfVxuXG4vKioqKioqKlxuKiB0YWRhICpcbioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwJSxcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpOyB9XG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpOyB9XG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwJSxcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTsgfVxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7IH1cbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7IH0gfVxuXG4udGFkYS5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhOyB9XG5cbi8qKioqKioqKipcbiogd29iYmxlICpcbioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICAxNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTsgfVxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHdvYmJsZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9XG4gIDE1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7IH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyk7IH1cbiAgNDUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1JSkgcm90YXRlKC0zZGVnKTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTsgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfSB9XG5cbi53b2JibGUuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG4gIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7IH1cblxuLyoqKioqKioqXG4qIHB1bHNlICpcbioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjcpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDAuNyk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTsgfSB9XG5cbi5wdWxzZS5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuICBhbmltYXRpb24tbmFtZTogcHVsc2U7IH1cblxuLyoqKioqKioqKioqKioqKlxuKiBsaWdodFNwZWVkSW5SaWdodCAqXG4qKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJblJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5saWdodFNwZWVkSW5SaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluUmlnaHQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG5cbi8qKioqKioqKioqKioqKipcbiogbGlnaHRTcGVlZEluTGVmdCAqXG4qKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbkxlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmxpZ2h0U3BlZWRJbkxlZnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluTGVmdDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cblxuLyoqKioqKipcbiogRmxpcCAqXG4qKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDM2MGRlZykgc2NhbGUoMC45NSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUoMSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSgwLjk1KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlKDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH0gfVxuXG4uZmxpcC5nbyB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwOyB9XG5cbi8qKioqKioqKioqXG4qIGZsaXBJblggKlxuKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmZsaXBJblguZ28ge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWDsgfVxuXG4vKioqKioqKioqKlxuKiBmbGlwSW5ZICpcbioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTsgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5mbGlwSW5ZLmdvIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7IH1cblxuLyoqKioqKioqKioqKioqKioqXG4qIE91dCBhbmltYXRpb25zICpcbioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKlxuKiBib3VuY2VPdXQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDI1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOTUpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VPdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAyNSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4zKTsgfSB9XG5cbi5ib3VuY2VPdXQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0OyB9XG5cbi8qKioqKioqKioqKipcbiogYm91bmNlT3V0VXAgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7IH0gfVxuXG4uYm91bmNlT3V0VXAuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDsgfVxuXG4vKioqKioqKioqKioqXG4qIGJvdW5jZU91dERvd24gKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOyB9IH1cblxuLmJvdW5jZU91dERvd24uZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247IH1cblxuLyoqKioqKioqKioqKlxuKiBib3VuY2VPdXRMZWZ0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsgfSB9XG5cbi5ib3VuY2VPdXRMZWZ0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0OyB9XG5cbi8qKioqKioqKioqKipcbiogYm91bmNlT3V0UmlnaHQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7IH0gfVxuXG4uYm91bmNlT3V0UmlnaHQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDsgfVxuXG4vKioqKioqKioqKioqXG4qIGZhZGVPdXQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uZmFkZU91dC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDsgfVxuXG4vKioqKioqKioqKioqXG4qIGZhZGVPdXRVcCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsgfSB9XG5cbi5mYWRlT3V0VXAuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwOyB9XG5cbi8qKioqKioqKioqKipcbiogZmFkZU91dERvd24gKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsgfSB9XG5cbi5mYWRlT3V0RG93bi5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duOyB9XG5cbi8qKioqKioqKioqKipcbiogZmFkZU91dExlZnQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOyB9IH1cblxuLmZhZGVPdXRMZWZ0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7IH1cblxuLyoqKioqKioqKioqKlxuKiBmYWRlT3V0UmlnaHQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOyB9IH1cblxuLmZhZGVPdXRSaWdodC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7IH1cblxuLyoqKioqKioqKioqKlxuKiBmbGlwT3V0WCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcE91dFgge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uZmxpcE91dFguZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsgfVxuXG4vKioqKioqKioqKioqXG4qIGZsaXBPdXRZICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5mbGlwT3V0WSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7IH1cblxuLyoqKioqKioqKioqKlxuKiBsaWdodFNwZWVkT3V0UmlnaHQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0UmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4ubGlnaHRTcGVlZE91dFJpZ2h0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRSaWdodDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG5cbi8qKioqKioqKioqKipcbiogbGlnaHRTcGVlZE91dExlZnQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRMZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmxpZ2h0U3BlZWRPdXRMZWZ0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dExlZnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuXG4vKioqKioqKioqKioqXG4qIHJvdGF0ZU91dCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5yb3RhdGVPdXQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0OyB9XG5cbi8qKioqKioqKioqKipcbiogcm90YXRlT3V0VXBMZWZ0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLnJvdGF0ZU91dFVwTGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7IH1cblxuLyoqKioqKioqKioqKlxuKiByb3RhdGVPdXREb3duTGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5yb3RhdGVPdXREb3duTGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0OyB9XG5cbi8qKioqKioqKioqKipcbiogcm90YXRlT3V0VXBSaWdodCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLnJvdGF0ZU91dFVwUmlnaHQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7IH1cblxuLyoqKioqKioqKioqKlxuKiByb2xsT3V0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvbGxPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7IH0gfVxuXG4ucm9sbE91dC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm9sbE91dDsgfVxuXG4vKioqKioqKioqKioqKioqKipcbiogU2hvcnQgQW5pbWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKipcbiogZmFkZUluVXBTaG9ydFxuKioqKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwU2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5VcFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLmZhZGVJblVwU2hvcnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyB9XG5cbi5mYWRlSW5VcFNob3J0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXBTaG9ydDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwU2hvcnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuKiBmYWRlSW5Eb3duU2hvcnRcbioqKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duU2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93blNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5mYWRlSW5Eb3duU2hvcnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cblxuLmZhZGVJbkRvd25TaG9ydC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25TaG9ydDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25TaG9ydDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG4qIGZhZGVJblJpZ2h0U2hvcnQgXG4qKioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0U2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4uZmFkZUluUmlnaHRTaG9ydCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7IH1cblxuLmZhZGVJblJpZ2h0U2hvcnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodFNob3J0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRTaG9ydDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG4qIGZhZGVJbkxlZnRTaG9ydCBcbioqKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0U2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi5mYWRlSW5MZWZ0U2hvcnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7IH1cblxuLmZhZGVJbkxlZnRTaG9ydC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRTaG9ydDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRTaG9ydDsgfVxuXG4vKioqKioqKioqKlxuKiBab29tIGluICpcbioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIG9wYWNpdHk6IC44OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21JbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIG9wYWNpdHk6IC44OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uem9vbUluIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDUpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uem9vbUluLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xuICBhbmltYXRpb24tZHVyYXRpb246IC41czsgfVxuXG4vKioqKioqKipcbiogU2hha2VVcDIgKlxuU2hha2UgYW5kIHBhdXNlIFxuKioqKioqKiovXG5Aa2V5ZnJhbWVzIHNoYWtlVXAyIHtcbiAgMCUsXG4gIDUwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOyB9IH1cblxuLnNoYWtldXAyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2VVcDI7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZVVwMjsgfVxuXG4uc2hha2UyIHtcbiAgLyogU3RhcnQgdGhlIHNoYWtlIGFuaW1hdGlvbiBhbmQgbWFrZSB0aGUgYW5pbWF0aW9uIGxhc3QgZm9yIDAuNSBzZWNvbmRzICovXG4gIGFuaW1hdGlvbjogc2hha2UgMXM7XG4gIC8qIFdoZW4gdGhlIGFuaW1hdGlvbiBpcyBmaW5pc2hlZCwgc3RhcnQgYWdhaW4gKi9cbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDFweCkgcm90YXRlKDBkZWcpOyB9XG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgLTJweCkgcm90YXRlKC0xZGVnKTsgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zcHgsIDBweCkgcm90YXRlKDFkZWcpOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoM3B4LCAycHgpIHJvdGF0ZSgwZGVnKTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgLTFweCkgcm90YXRlKDFkZWcpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgMnB4KSByb3RhdGUoLTFkZWcpOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTNweCwgMXB4KSByb3RhdGUoMGRlZyk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzcHgsIDFweCkgcm90YXRlKC0xZGVnKTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xcHgsIC0xcHgpIHJvdGF0ZSgxZGVnKTsgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMnB4KSByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAtMnB4KSByb3RhdGUoLTFkZWcpOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsYXNobGlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMHB4LCAtNDBweCkgc2NhbGUoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsYXNobGlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMHB4LCAtNDBweCkgc2NhbGUoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7IH0gfVxuXG4ucm90YXRpbmcge1xuICBhbmltYXRpb246IHJvdGF0aW5nIDMwcyBsaW5lYXIgaW5maW5pdGU7IH1cblxuQGtleWZyYW1lcyByb3RhdGlvbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOyB9IH1cblxuLyotLS0gQWJvdXQgVGV4dCAtLS0qL1xuLyogdGV4dCB0cnVuY2F0ZSBtdWx0aWxpbmUgKi9cbi8qLS0tIEFib3V0IEltYWdlcyAtLS0qL1xuLyotLS0gQWJvdXQgUG9zaXRpb24gLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tIEFib3V0IEJ1dHRvbiAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gQWJvdXQgVGV4dCAtLS0qL1xuLyotLS0gU21vb3RoIFNjcm9sbCAtLS0qL1xuOjpzZWxlY3Rpb24ge1xuICBjb2xvcjogIzAwNENBMjtcbiAgYmFja2dyb3VuZDogI2MwYzBjMDsgfVxuXG4vKi0tLSBBbmltYXRlIGEgLS0tKi9cbmEge1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzOyB9XG4gIGEgaW1nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuXG4vKi0tLSBDdXN0b21pemUgU2Nyb2xsYmFyIC0tLSovXG4qIHtcbiAgLyogV29yayBvbiBGaXJlZm94ICovXG4gIHNjcm9sbGJhci13aWR0aDogNXB4O1xuICBzY3JvbGxiYXItY29sb3I6ICMwMDRDQTIgI2MwYzBjMDsgfVxuXG4qOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIC8qIFdvcmtzIG9uIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaSAqL1xuICB3aWR0aDogNXB4OyB9XG5cbio6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogI2MwYzBjMDtcbiAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbio6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNENBMjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDA0Q0EyOyB9XG5cbi8qLS0tIENvbW1vbiBDbGFzc05hbWUgLS0tKi9cbi5sb29wLWluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLmxvb3AtNSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDU7IH1cblxuLyotLS0gQWJvdXQgQnV0dG9uIC0tLSovXG4uYnRuLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG4gIC5idG4taW1hZ2UgaW1nOmxhc3QtY2hpbGQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmJ0bi1pbWFnZTpob3ZlciBpbWc6bGFzdC1jaGlsZCB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5idG4taG92ZXItem9vbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLmJ0bi1ob3Zlci16b29tOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cblxuLmJ0bi1ob3Zlci10cmFuc2xhdGVYIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlLWluLW91dDsgfVxuICAuYnRuLWhvdmVyLXRyYW5zbGF0ZVg6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cblxuLmJ0bi1ob3Zlci10cmFuc2xhdGVZIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlLWluLW91dDsgfVxuICAuYnRuLWhvdmVyLXRyYW5zbGF0ZVk6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTsgfVxuXG4uYnRuLWhvdmVyLXVuZGVybGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmJ0bi1ob3Zlci11bmRlcmxpbmU6YmVmb3JlIHtcbiAgICB3aWR0aDogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuYnRuLWhvdmVyLXVuZGVybGluZTpob3ZlcjpiZWZvcmUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5idG4taG92ZXItYm9yZGVyLXdyYXBwaW5nIHtcbiAgcGFkZGluZzogMjBweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogbm9uZTsgfVxuICAuYnRuLWhvdmVyLWJvcmRlci13cmFwcGluZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBib3JkZXI6ICNmZmYwMDAgZGFzaGVkO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItd2lkdGggMC4xcyBlYXNlLW91dDsgfVxuICAuYnRuLWhvdmVyLWJvcmRlci13cmFwcGluZzpob3ZlcjpiZWZvcmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIGJvcmRlci13aWR0aDogNXB4OyB9XG5cbi5idG4taG92ZXItc2hpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuYnRuLWhvdmVyLXNoaW5lOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdG9wOiAtMTEwJTtcbiAgICBsZWZ0OiAtMjEwJTtcbiAgICB3aWR0aDogMjAwJTtcbiAgICBoZWlnaHQ6IDIwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMykgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMykgNzclLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgOTIlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDMwZGVnKTsgfVxuICAuYnRuLWhvdmVyLXNoaW5lOmhvdmVyOmFmdGVyIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc2hpbmUgLjc1cztcbiAgICBhbmltYXRpb246IHNoaW5lIC43NXM7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0b3A6IC0zMCU7XG4gICAgbGVmdDogLTMwJTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBsZWZ0LCB0b3AsIG9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMXMsIDFzLCAuMTVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOyB9XG5cbi8qLS0tIEFib3V0IFRleHQgLS0tKi9cbi50ZXh0LXRydW5jYXRlIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4udGV4dC1zdHJva2Uge1xuICBmb250LXNpemU6IDEwMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoOTBkZWcsICMwMDAgMjAlLCAjZjAwIDUwJSk7XG4gIC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IDVweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDEpO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsgfVxuXG4udGV4dC1ncmFkaWVudCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTAwcHg7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZ2FjeS1kaXJlY3Rpb24oMTgwZGVnKSwgIzAwMCwgI2YwMCwgI2ZmZjAwMCk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDAsICNmMDAsICNmZmYwMDApO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qLS0tIEFib3V0IEltYWdlIC0tLSovXG4uaW1hZ2UtZml0IHtcbiAgd2lkdGg6IDI1MHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAzNTBweDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuXG4vKi0tLSBBYm91dCBFZmZlY3QgLS0tKi9cbi5lZmZlY3QtZ3JhZGllbnQtbGluZWFyIHtcbiAgYmFja2dyb3VuZDogIzc3RDdFNztcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbih0byBib3R0b20pLCAjNzdEN0U3IDUwJSwgI2ZmMDAwMCA1MCUsICNmZmYwMDAgMTAwJSk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM3N0Q3RTcgNTAlLCAjZmYwMDAwIDUwJSwgI2ZmZjAwMCAxMDAlKTsgfVxuXG4vKi0tLSBBYm91dCBPdGhlciAtLS0qL1xuLmhvdmVyLXN0b3AtYW5pbWF0ZWQ6aG92ZXIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gIC1tb3otYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgLW8tYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgLXdlYmtpdC1hbmltYXRpb246IHN0ZXAtZW5kO1xuICAtbW96LWFuaW1hdGlvbmFuaW1hdGlvbjogc3RlcC1lbmQ7XG4gIGFuaW1hdGlvbjogc3RlcC1lbmQ7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNGXCI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVJlZ3VsYXIuZW90KTtcbiAgc3JjOiB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci5lb3QjaWVmaXgpIGZvcm1hdChcImVvdFwiKSwgdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVJlZ3VsYXIud29mZjIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci53b2ZmKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci50dGYpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci5zdmcpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU0YtQm9sZFwiO1xuICBzcmM6IHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1TZW1pQm9sZC5lb3QpO1xuICBzcmM6IHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1TZW1pQm9sZC5lb3QjaWVmaXgpIGZvcm1hdChcImVvdFwiKSwgdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVNlbWlCb2xkLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVNlbWlCb2xkLndvZmYpIGZvcm1hdChcIndvZmZcIiksIHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1TZW1pQm9sZC50dGYpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktU2VtaUJvbGQuc3ZnKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcInV2bnRoYW5ocGhvXCI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL3V2bnRoYW5ocGhvX3IuZW90KTtcbiAgc3JjOiB1cmwoLi4vZm9udHMvdXZudGhhbmhwaG9fci5lb3QjaWVmaXgpIGZvcm1hdChcImVvdFwiKSwgdXJsKC4uL2ZvbnRzL3V2bnRoYW5ocGhvX3Iud29mZjIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoLi4vZm9udHMvdXZudGhhbmhwaG9fci53b2ZmKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoLi4vZm9udHMvdXZudGhhbmhwaG9fci50dGYpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoLi4vZm9udHMvdXZudGhhbmhwaG9fci5zdmcpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwidXZudGhhbmhwaG8tYm9sZFwiO1xuICBzcmM6IHVybCguLi9mb250cy91dm50aGFuaHBob19iLmVvdCk7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL3V2bnRoYW5ocGhvX2IuZW90I2llZml4KSBmb3JtYXQoXCJlb3RcIiksIHVybCguLi9mb250cy91dm50aGFuaHBob19iLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKC4uL2ZvbnRzL3V2bnRoYW5ocGhvX2Iud29mZikgZm9ybWF0KFwid29mZlwiKSwgdXJsKC4uL2ZvbnRzL3V2bnRoYW5ocGhvX2IudHRmKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKC4uL2ZvbnRzL3V2bnRoYW5ocGhvX2Iuc3ZnKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuLmhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2NzVweDtcbiAgZm9udC1mYW1pbHk6IHV2bnRoYW5ocGhvLWJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmc6IDAgMDsgfVxuICAuaGVhZGVyIC5uYXYtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6ICMyNzIzMzg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGhlaWdodDogNzBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIHotaW5kZXg6IDEwOyB9XG4gIC5oZWFkZXIgLmNvbnRhaW5lciwgLmhlYWRlciAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICAuaGVhZGVyIC5jb250YWluZXIgW2NsYXNzKj0nY29sLSddLCAuaGVhZGVyIC5oZWFkZXItY29udGFpbmVyIFtjbGFzcyo9J2NvbC0nXSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmhlYWRlciAubmF2YmFyLW5hdiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTY1cHg7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAxNjhweDtcbiAgICBoZWlnaHQ6IDQ2NXB4O1xuICAgIHBhZGRpbmc6IDYwcHggMCAwIDA7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9tZW51LWZyYW1lLWJnLnBuZykgbm8tcmVwZWF0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5oZWFkZXIgLm5hdmJhci1uYXYgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MnB4O1xuICAgICAgYW5pbWF0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgY29sb3I6ICNiODhiOGI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAyMXB4OyB9XG4gICAgICAuaGVhZGVyIC5uYXZiYXItbmF2IGxpIGE6aG92ZXIsIC5oZWFkZXIgLm5hdmJhci1uYXYgbGkgYS5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21lbnUtaG92ZXItYmcucG5nKSBuby1yZXBlYXQgMCAwLzEwMCU7XG4gICAgICAgIGNvbG9yOiAjZTFkNGQ0OyB9XG4gIC5oZWFkZXIgLmxvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIycHg7XG4gICAgbGVmdDogODBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgei1pbmRleDogMzsgfVxuICAuaGVhZGVyIC50ZXh0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNjhweDtcbiAgICBsZWZ0OiAyMDBweDtcbiAgICB6LWluZGV4OiAzOyB9XG4gIC5oZWFkZXIgLnBsYXktdmlkZW8ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB6LWluZGV4OiA1O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEyN3B4O1xuICAgIGxlZnQ6IDQ1MHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXI7IH1cbiAgICAuaGVhZGVyIC5wbGF5LXZpZGVvOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuOTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5oZWFkZXIgLnBsYXktdmlkZW8ge1xuICAgICAgICBib3R0b206IDEwJTsgfSB9XG4gIC5oZWFkZXIgLmF2YXRhciB7XG4gICAgbWFyZ2luOiAwIDEwcHggMCAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLmhlYWRlciAuYXZhdGFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5oZWFkZXIgLnFyY29kZSB7XG4gICAgbWFyZ2luOiAwIDAgMCAxMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLmhlYWRlciAucXJjb2RlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5oZWFkZXIgLnRhaWdhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDVweDtcbiAgICByaWdodDogNTBweDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAuaGVhZGVyIC50YWlnYW1lIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuaGVhZGVyLXNsaWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNjA1cHg7IH1cbiAgICAuaGVhZGVyLXNsaWRlciAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYnV0dG9ucy1ibG9jayB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAtNTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyOyB9XG4gIC5idXR0b25zLWJsb2NrIC5ibG9jay0xIHtcbiAgICB3aWR0aDogMzE4cHg7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAuYnV0dG9ucy1ibG9jayAuYmxvY2stMSAuaW1hZ2UtYnRuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmJ1dHRvbnMtYmxvY2sgLmJsb2NrLTEgLnN1cHBvcnQtYnRuIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuYnV0dG9ucy1ibG9jayAuYmxvY2stMSAuY2hvaW5nYXkgaW1nOmxhc3QtY2hpbGQge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmJ1dHRvbnMtYmxvY2sgLmJsb2NrLTIge1xuICAgIHdpZHRoOiA2NTRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5idXR0b25zLWJsb2NrIC5ibG9jay0yIC5pbWFnZS1idG4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAuYnV0dG9ucy1ibG9jayAubG9naW4tZm9ybSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDMyN3B4O1xuICAgIGhlaWdodDogMTY3cHg7XG4gICAgcGFkZGluZzogMjBweCAyMHB4IDAgMjBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2xvZ2luLWJnLmpwZykgbm8tcmVwZWF0OyB9XG4gIC5idXR0b25zLWJsb2NrIC5uYXB0aWVuIHtcbiAgICB3aWR0aDogMzI3cHg7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmJ1dHRvbnMtYmxvY2sgLkJnSW5wdXQge1xuICAgIGJhY2tncm91bmQ6ICMwZTE0MWM7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzMxMmUyZjtcbiAgICB3aWR0aDogMTc4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nOiA2cHggNXB4O1xuICAgIGNvbG9yOiAjNmY2ZjZmO1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAuYnV0dG9ucy1ibG9jayAuZm9ybWlucHV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmJ1dHRvbnMtYmxvY2sgLmVycm9yIHtcbiAgICBjb2xvcjogI2JhNDQ0MjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgIGJvdHRvbTogMnB4O1xuICAgIGxlZnQ6IDA7IH1cbiAgICAuYnV0dG9ucy1ibG9jayAuZXJyb3I6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDhweDtcbiAgICAgIHdpZHRoOiAzcHg7XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIGJhY2tncm91bmQ6ICNiYTQ0NDI7XG4gICAgICBjb250ZW50OiBcIlwiOyB9XG4gIC5idXR0b25zLWJsb2NrIC5Cb3hJbnB1dCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwIDVweCAwIDBweDtcbiAgICB3aWR0aDogMTgycHg7IH1cbiAgLmJ1dHRvbnMtYmxvY2sgLkJveExvZ2luIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgLmJ1dHRvbnMtYmxvY2sgLkRhbmdOaGFwIHtcbiAgICB3aWR0aDogOTRweDtcbiAgICBoZWlnaHQ6IDk0cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9kYW5nbmhhcC5qcGcpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAgIC5idXR0b25zLWJsb2NrIC5EYW5nTmhhcDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2RhbmduaGFwLWhvdmVyLmpwZyk7IH1cbiAgLmJ1dHRvbnMtYmxvY2sgLmluZ2FtZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDsgfVxuICAuYnV0dG9ucy1ibG9jayAuVGV4dE5vdGUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogI2FlYzNkZjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAuYnV0dG9ucy1ibG9jayAuVGV4dE5vdGUgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb2xvcjogIzllYTVhZTtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbi1hcnJvdy5wbmcpIG5vLXJlcGVhdCAwIDRweDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7IH1cbiAgICAgIC5idXR0b25zLWJsb2NrIC5UZXh0Tm90ZSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNhZWMzZGY7IH1cbiAgLmJ1dHRvbnMtYmxvY2sgLkJnUXVpdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmJ1dHRvbnMtYmxvY2sgLlRleHRJbmdhbWUge1xuICAgIGNvbG9yOiAjN2E3ZjljO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7IH1cbiAgICAuYnV0dG9ucy1ibG9jayAuVGV4dEluZ2FtZSBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgY29sb3I6ICM3YTdmOWM7IH1cbiAgICAgIC5idXR0b25zLWJsb2NrIC5UZXh0SW5nYW1lIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmJ1dHRvbnMtYmxvY2sgLlRleHR1c2VyIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICNmZmIwMzY7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luOiAwIDEwcHg7IH1cbiAgLmJ1dHRvbnMtYmxvY2sgLmljb25zLWJ0LWJhdGRhdSB7XG4gICAgbWFyZ2luOiA3cHggYXV0bztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDE4MnB4O1xuICAgIGhlaWdodDogNTFweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2J0LWJhdGRhdS5wbmcpIG5vLXJlcGVhdDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0OyB9XG4gICAgLmJ1dHRvbnMtYmxvY2sgLmljb25zLWJ0LWJhdGRhdTpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7IH1cbiAgLmJ1dHRvbnMtYmxvY2sgLmJnc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kOiAjMDUwNjBhO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyNTIyM2Q7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIHdpZHRoOiAxODJweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweDsgfVxuICAgIC5idXR0b25zLWJsb2NrIC5iZ3NlbGVjdCBzcGFuIHtcbiAgICAgIGNvbG9yOiAjNjg3NzhiOyB9XG4gIC5idXR0b25zLWJsb2NrIC5uaWNlLXNlbGVjdCAubGlzdCB7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIGhlaWdodDogMTcwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4uc2VydmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTYwcHg7XG4gIGNsZWFyOiBib3RoO1xuICBwYWRkaW5nOiA3MHB4IDAgMCAyM3B4O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NlcnZlcmxpc3QtYmcuanBnKSBuby1yZXBlYXQgMCAwL2NvdmVyOyB9XG4gIC5zZXJ2ZXItbGlzdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDQ0NXB4OyB9XG4gICAgLnNlcnZlci1saXN0IGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAuc2VydmVyLWxpc3QgbGkgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogNjVweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzE4MjEzMDtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggIzRhNTM3MTtcbiAgICAgICAgY29sb3I6ICM3YTdkYTQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBtYXJnaW46IDAgOHB4IDdweCAwOyB9XG4gICAgICAgIC5zZXJ2ZXItbGlzdCBsaSBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI2E3YmZlMDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNhN2JmZTA7IH1cbiAgLnNlcnZlciAubmV3IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogOTBweDtcbiAgICBoZWlnaHQ6IDY3cHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgYmFja2dyb3VuZDogIzE4MjEzMDtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjNGE1MzcxO1xuICAgIGNvbG9yOiAjN2E3ZGE0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAzOHB4O1xuICAgIGZvbnQtZmFtaWx5OiAndXZudGhhbmhwaG8tYm9sZCc7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZzogNXB4IDAgMCAwO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgIC5zZXJ2ZXIgLm5ldyBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgLnNlcnZlciAubmV3OmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYTdiZmUwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYTdiZmUwOyB9XG5cbjpyb290IHtcbiAgLyogTm90IG15IGZhdm9yaXRlIHRoYXQgbGluZS1oZWlnaHQgaGFzIHRvIGJlIHVuaXRlZCwgYnV0IG5lZWRlZCAqL1xuICAtLWxoOiAxLjRyZW07IH1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxoKTsgfVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjJmMCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzAxMDEwMSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFNGICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5hIHtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2Utb3V0O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1vdXQ7XG4gIC1tcy10cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2Utb3V0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogIzA0NDU5YjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgY29sb3I6ICMwNTViY2Q7IH1cblxuLnNob3ctbW9iaWxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnNob3ctbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnNob3ctZGVza3RvcCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuc2hvdy1kZXNrdG9wIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4ubG9vcC01IHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogNTsgfVxuXG4vKi0tLS0gQ29udGVudCBDU1MgVmFyaWJsZXMgLS0tLSovXG4vKi0tLSBJbWFnZSAtLS0tLSovXG4vKi0tLSBOb3RpY2UgQm94IC0tLSovXG4vKi0tLS0gRW5kIENvbnRlbnQgQ1NTIFZhcmlibGVzIC0tLS0qL1xuLyogR2VuZXJhbCAqL1xuLlN0YXRpY01haW4ge1xuICBtYXJnaW46IGNhbGMoMS4yODEyNXJlbSArIDAuMzc1dncpIDA7XG4gIGNsZWFyOiBib3RoO1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBtaW4taGVpZ2h0OiA5MzBweDtcbiAgY29sb3I6ICMzNzQwNGI7XG4gIC8qIFRleHQgc3R5bGVzICovXG4gIC8qIEVORC4gVGV4dCBzdHlsZXMgKi9cbiAgLyogSW1hZ2Ugc3R5bGVzICovXG4gIC8qIE5vdGljZSBib3ggKi9cbiAgLyogTGlzdCBzdHlsZXMgKi8gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLlN0YXRpY01haW4ge1xuICAgICAgbWFyZ2luOiAxLjU2MjVyZW0gMDsgfSB9XG4gIC5TdGF0aWNNYWluIGgzIHtcbiAgICBmb250LWZhbWlseTogU0YtQm9sZDtcbiAgICBjb2xvcjogIzRiNjE4YztcbiAgICBmb250LXNpemU6IDNlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwcHggMCAzMHB4IDA7IH1cbiAgLlN0YXRpY01haW4gYSB7XG4gICAgY29sb3I6ICMxNTNhNmI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuU3RhdGljTWFpbiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjOTEyOTI5O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5TdGF0aWNNYWluIHAge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgLlN0YXRpY01haW4gdWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgcGFkZGluZzogMCAwIDAgMDsgfVxuICAgIC5TdGF0aWNNYWluIHVsIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7XG4gICAgICBtYXJnaW46IDAgMCA1cHggMjBweDsgfVxuICAgICAgLlN0YXRpY01haW4gdWwgbGkgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBjaXJjbGU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4IDA7IH1cbiAgLlN0YXRpY01haW4gb2wge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgcGFkZGluZzogMCAwIDAgMjBweDsgfVxuICAgIC5TdGF0aWNNYWluIG9sIGxpIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICBsaXN0LXN0eWxlOiBkZWNpbWFsICFpbXBvcnRhbnQ7IH1cbiAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsge1xuICAgIG1hcmdpbjogMHB4IDMwcHggMjBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZSBub25lOyB9XG4gICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNDklO1xuICAgICAgcGFkZGluZzogMCAwIDVweCAxcHg7XG4gICAgICBtYXJnaW46IDAgMSUgMCAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuU3RhdGljTWFpbiAuQW5jaG9yTGluayBsaSB7XG4gICAgICAgICAgd2lkdGg6IDMxJTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlOyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkge1xuICAgICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyJTsgfSB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gICAgICAgIC5TdGF0aWNNYWluIC5BbmNob3JMaW5rIGxpIHtcbiAgICAgICAgICB3aWR0aDogOTglO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMiU7IH0gfVxuICAgICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogIzE1M2E2YjsgfVxuICAgICAgICAuU3RhdGljTWFpbiAuQW5jaG9yTGluayBsaSBhOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAjMTUzYTZiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDZweDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAgICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkgYS5BY3RpdmUsXG4gICAgICAuU3RhdGljTWFpbiAuQW5jaG9yTGluayBsaSBhLkFjdGl2ZTpob3ZlcixcbiAgICAgIC5TdGF0aWNNYWluIC5BbmNob3JMaW5rIGxpIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzkxMjkyOTsgfVxuICAgICAgICAuU3RhdGljTWFpbiAuQW5jaG9yTGluayBsaSBhLkFjdGl2ZTpiZWZvcmUsXG4gICAgICAgIC5TdGF0aWNNYWluIC5BbmNob3JMaW5rIGxpIGEuQWN0aXZlOmhvdmVyOmJlZm9yZSxcbiAgICAgICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkgYTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDZweDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICM5MTI5Mjk7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggIzkxMjkyOTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgY29sb3I6ICMwNTViY2Q7IH1cbiAgLlN0YXRpY01haW4gLkZpcnN0Q2hhciB7XG4gICAgcGFkZGluZzogNHB4IDRweCAwIDA7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbG9yOiAjMzc0MDRiOyB9XG4gIC5TdGF0aWNNYWluIC5Db250ZW50QmxvY2sge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5TdGF0aWNNYWluIC5JbWFnZXNCbG9jayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLlN0YXRpY01haW4gLkltZ0NlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAuU3RhdGljTWFpbiBoNCB7XG4gICAgY29sb3I6ICM5MTI5Mjk7XG4gICAgcGFkZGluZzogMTBweCAwIDEwcHggNTBweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luOiAwIDAgNXB4IDBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvY29udGVudC9pY29uLWg0LnBuZ1wiKSBuby1yZXBlYXQ7IH1cbiAgLlN0YXRpY01haW4gLkNvbnRlbnRINCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luOiAwIDAgMTBweCA1MHB4O1xuICAgIHBhZGRpbmc6IDAgMCAwIDBweDsgfVxuICAgIC5TdGF0aWNNYWluIC5Db250ZW50SDQgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgLyp0ZXh0LWFsaWduOiBqdXN0aWZ5OyovIH1cbiAgLlN0YXRpY01haW4gLkltYWdlc0g0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDAgMjBweCA1MHB4OyB9XG4gIC5TdGF0aWNNYWluIGg1IHtcbiAgICBjb2xvcjogIzkxMjkyOTtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCA0MHB4O1xuICAgIG1hcmdpbjogMCAwIDEwcHggNTBweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2NvbnRlbnQvaWNvbi1oNS5wbmdcIikgbm8tcmVwZWF0IDAgMHB4OyB9XG4gIC5TdGF0aWNNYWluIC5Db250ZW50SDUge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbjogMCAwIDAgOTBweDtcbiAgICBwYWRkaW5nOiAwIDAgMjBweDsgfVxuICAgIC5TdGF0aWNNYWluIC5Db250ZW50SDUgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuICAuU3RhdGljTWFpbiAuSW1hZ2VzSDUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDQwcHg7IH1cbiAgLlN0YXRpY01haW4gdGFibGUge1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjMWYwMDJiO1xuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgfVxuICAgIC5TdGF0aWNNYWluIHRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICAgIGNvbG9yOiAjZWVmOWY5O1xuICAgICAgYmFja2dyb3VuZDogIzMxNDI1ZDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMWYwMDJiO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMWYwMDJiO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMxZjAwMmI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuU3RhdGljTWFpbiB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJjZmU0OyB9XG4gICAgLlN0YXRpY01haW4gdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlM2U3ZWY7IH1cbiAgICAuU3RhdGljTWFpbiB0YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMWYwMDJiO1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIGNvbG9yOiAjMWEyMjJhOyB9XG4gICAgICAuU3RhdGljTWFpbiB0YWJsZSB0Ym9keSB0ciB0ZCBhIHtcbiAgICAgICAgY29sb3I6ICMxYTIyMmE7IH1cbiAgICAgICAgLlN0YXRpY01haW4gdGFibGUgdGJvZHkgdHIgdGQgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICMwNTViY2Q7IH1cbiAgLlN0YXRpY01haW4gdGFibGUuTm90aWNlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMWYwMDJiOyB9XG4gICAgLlN0YXRpY01haW4gdGFibGUuTm90aWNlIHRyIHRkIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxZjAwMmI7IH1cbiAgICAgIC5TdGF0aWNNYWluIHRhYmxlLk5vdGljZSB0ciB0ZCBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgICAgLlN0YXRpY01haW4gdGFibGUuTm90aWNlIHRyIHRkIHVsLFxuICAgICAgLlN0YXRpY01haW4gdGFibGUuTm90aWNlIHRyIHRkIG9sIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG4gIC5TdGF0aWNNYWluIC5UZXh0Q2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLlN0YXRpY01haW4gLlRleHRSaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLlN0YXRpY01haW4gLlN0cm9uZzAxIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIGNvbG9yOiAjOTEyOTI5OyB9XG4gIC5TdGF0aWNNYWluIC5TdHJvbmcwMiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICBjb2xvcjogIzE1M2E2YjsgfVxuICAuU3RhdGljTWFpbiAuU3Ryb25nMDMge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgY29sb3I6ICMwMDZjYzg7IH1cbiAgLlN0YXRpY01haW4gLlRleHRGb250MTcge1xuICAgIGZvbnQtc2l6ZTogMTdweDsgfVxuICAuU3RhdGljTWFpbiAuVGV4dEZvbnQxOSB7XG4gICAgZm9udC1zaXplOiAxOXB4OyB9XG4gIC5TdGF0aWNNYWluIC5UZXh0Rm9udDIxIHtcbiAgICBmb250LXNpemU6IDIxcHg7IH1cbiAgLlN0YXRpY01haW4gLk5vQm9yZGVySW1nIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5TdGF0aWNNYWluIC5Cb3JkZXJJbWcge1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICBwYWRkaW5nOiAwcHg7IH1cbiAgLlN0YXRpY01haW4gLkltZ0xlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMXB4IDEwcHggNXB4IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDsgfVxuICAuU3RhdGljTWFpbiAuSW1nUmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IDAgMCA1cHggMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOyB9XG4gIC5TdGF0aWNNYWluIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgIzFmMDAyYjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgcGFkZGluZzogMTBweCA0MHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gICAgLlN0YXRpY01haW4gYmxvY2txdW90ZTpiZWZvcmUsIC5TdGF0aWNNYWluIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgLlN0YXRpY01haW4gYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMTBweDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAgIC5TdGF0aWNNYWluIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjBweCAwOyB9XG4gIC5TdGF0aWNNYWluIC5Ob3RpY2VCb3gge1xuICAgIGJvcmRlcjogc29saWQgMXB4ICM4ZDhkOGQ7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZTNlN2VmOyB9XG4gICAgLlN0YXRpY01haW4gLk5vdGljZUJveCBwLkxlZ2VuZCB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kOiAjOTEyOTI5O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luOiAtMjBweCAwIDEwcHg7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGJvcmRlcjogc29saWQgMXB4ICM5MTI5Mjk7IH1cbiAgICAuU3RhdGljTWFpbiAuTm90aWNlQm94IC5Ob3RlQ29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgY29sb3I6ICMxZTJjMTk7IH1cbiAgICAgIC5TdGF0aWNNYWluIC5Ob3RpY2VCb3ggLk5vdGVDb250ZW50IGEge1xuICAgICAgICBjb2xvcjogIzFjNzZmZDsgfVxuICAgICAgICAuU3RhdGljTWFpbiAuTm90aWNlQm94IC5Ob3RlQ29udGVudCBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI2ZkNGIzNjsgfVxuICAuU3RhdGljTWFpbiB1bC5EZWNpbWFsIHtcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCAwcHg7IH1cbiAgICAuU3RhdGljTWFpbiB1bC5EZWNpbWFsIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG4gICAgICAuU3RhdGljTWFpbiB1bC5EZWNpbWFsIGxpIHVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxuICAuU3RhdGljTWFpbiB1bC5VcHBlckFscGhhIHtcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCAwcHg7IH1cbiAgICAuU3RhdGljTWFpbiB1bC5VcHBlckFscGhhIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItYWxwaGE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuICAgICAgLlN0YXRpY01haW4gdWwuVXBwZXJBbHBoYSBsaSB1bCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cbiAgLlN0YXRpY01haW4gdWwuTG93ZXJBbHBoYSB7XG4gICAgbWFyZ2luOiAwcHggMHB4IDEwcHggMHB4OyB9XG4gICAgLlN0YXRpY01haW4gdWwuTG93ZXJBbHBoYSBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbiAgICAgIC5TdGF0aWNNYWluIHVsLkxvd2VyQWxwaGEgbGkgdWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XG4gIC5TdGF0aWNNYWluIHVsLkljb24ge1xuICAgIG1hcmdpbjogMHB4IDBweCAxMHB4IDVweDsgfVxuICAgIC5TdGF0aWNNYWluIHVsLkljb24gbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5TdGF0aWNNYWluIHVsLkljb24gbGk6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlMDc0XCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29uc0hhbGZsaW5ncyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAgICAgLlN0YXRpY01haW4gdWwuSWNvbiBsaSB1bCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cbiAgICAgIC5TdGF0aWNNYWluIHVsLkljb24gbGkgdWwuTG93ZXJBbHBoYSBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMHB4OyB9XG4gIC5TdGF0aWNNYWluIHVsLkRhc2gge1xuICAgIG1hcmdpbjogMHB4IDBweCAxMHB4IDVweDsgfVxuICAgIC5TdGF0aWNNYWluIHVsLkRhc2ggbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5TdGF0aWNNYWluIHVsLkRhc2ggbGk6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyMjEyXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29uc0hhbGZsaW5ncyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIC5TdGF0aWNNYWluIHVsLkRhc2ggbGkgdWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XG4gIC5TdGF0aWNNYWluIHVsLkRpc2Mge1xuICAgIG1hcmdpbjogMHB4IDBweCAxMHB4IDVweDsgfVxuICAgIC5TdGF0aWNNYWluIHVsLkRpc2MgbGkge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgICAgcGFkZGluZzogMCAwIDAgMTVweDtcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5TdGF0aWNNYWluIHVsLkRpc2MgbGk6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlMTY1XCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29uc0hhbGZsaW5ncyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIC5TdGF0aWNNYWluIHVsLkRpc2MgbGkgdWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAjZjdmY2ZlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cbiAgYm9keSAud3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9iZy5qcGcpIG5vLXJlcGVhdCB0b3AgY2VudGVyO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuICAgIGJvZHkgLndyYXBwZXIuc3ViIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvYmctdG9wLmpwZykgbm8tcmVwZWF0IHRvcCBjZW50ZXIsIHVybCguLi9pbWFnZXMvYmctYm90dG9tLmpwZykgbm8tcmVwZWF0IGJvdHRvbSBjZW50ZXIgI2Y3ZmNmZTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwOTBhMWM7IH1cblxuLmJhbm5lci1zbGlkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmJhbm5lci1zbGlkZXIgaW1nIHtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjMjE0OTc0OyB9XG4gIC5iYW5uZXItc2xpZGVyIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGMxNDEwICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OyB9XG4gIC5iYW5uZXItc2xpZGVyIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTgxOTE5ICFpbXBvcnRhbnQ7IH1cblxuLmJsb2NrLW5ld3Mge1xuICBtYXJnaW46IDAgMCA4MHB4OyB9XG5cbi8qLSBWYXJpYWJsZSAtKi9cbi5uZXdzIHtcbiAgbWFyZ2luOiAwIDAgNXB4O1xuICBoZWlnaHQ6IDMyNnB4OyB9XG4gIC5uZXdzLXRhYiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzE1MmE0NjtcbiAgICBtYXJnaW46IDAgMDsgfVxuICAgIC5uZXdzLXRhYiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgLm5ld3MtdGFiIGxpIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1mYW1pbHk6ICd1dm50aGFuaHBobyc7XG4gICAgICAgIGNvbG9yOiAjN2E3ZGE0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgMTFweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAubmV3cy10YWIgbGkgYS5hY3RpdmUsIC5uZXdzLXRhYiBsaSBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI2YyZjdmZjtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL25ld3MtdGFiLWJnLmpwZykgbm8tcmVwZWF0IDAgMC9jb3ZlcjtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgIC5uZXdzLXRhYiBsaTpub3QoOmxhc3QtY2hpbGQpIGEge1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cbiAgLm5ld3MgLnRhYi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cblxuLnNlcnZlci1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiA3OTBweDtcbiAgbWluLWhlaWdodDogMTAwMHB4O1xuICBtYXJnaW46IDEwcHggYXV0bzsgfVxuICAuc2VydmVyLWJsb2NrIC5zZXJ2ZXItaG90IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogNDVweCBhdXRvOyB9XG4gICAgLnNlcnZlci1ibG9jayAuc2VydmVyLWhvdCBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDI0NXB4O1xuICAgICAgaGVpZ2h0OiA4M3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDgzcHg7XG4gICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgY29sb3I6ICNkNmUxZWQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgZm9udC1mYW1pbHk6ICd1dm50aGFuaHBoby1ib2xkJztcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc2VydmVyLWJnLnBuZykgbm8tcmVwZWF0O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgIC5zZXJ2ZXItYmxvY2sgLnNlcnZlci1ob3QgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc2VydmVyLWJnLWhvdmVyLnBuZykgbm8tcmVwZWF0OyB9XG4gICAgICAuc2VydmVyLWJsb2NrIC5zZXJ2ZXItaG90IGEgLm5ldyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG4gIC5zZXJ2ZXItYmxvY2sgLnNlcnZlci10YWJzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDU1MHB4O1xuICAgIGhlaWdodDogNDVweDtcbiAgICBiYWNrZ3JvdW5kOiAjMTgyMTMwO1xuICAgIHBhZGRpbmc6IDAgNTBweDtcbiAgICBtYXJnaW46IDAgYXV0byA1MHB4OyB9XG4gICAgLnNlcnZlci1ibG9jayAuc2VydmVyLXRhYnMgLnN3aXBlci1zbGlkZS10aHVtYi1hY3RpdmUgYSB7XG4gICAgICBjb2xvcjogI2E3YmZlMDsgfVxuICAgIC5zZXJ2ZXItYmxvY2sgLnNlcnZlci10YWJzIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgIGNvbG9yOiAjN2E3ZGE0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vcm1hbDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuc2VydmVyLWJsb2NrIC5zZXJ2ZXItdGFicyBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNhN2JmZTA7IH1cbiAgLnNlcnZlci1ibG9jayAuc2VydmVyLW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDhweDtcbiAgICByaWdodDogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc2VydmVyLWJsb2NrIC5zZXJ2ZXItbmV4dDpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5zZXJ2ZXItYmxvY2sgLnNlcnZlci1wcmV2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA4cHg7XG4gICAgbGVmdDogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc2VydmVyLWJsb2NrIC5zZXJ2ZXItcHJldjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5zZXJ2ZXItYmxvY2stbGlzdCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5zZXJ2ZXItYmxvY2stbGlzdCBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMCAxMHB4IDEwcHg7IH1cbiAgICAgIC5zZXJ2ZXItYmxvY2stbGlzdCBsaSBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMzhweDtcbiAgICAgICAgaGVpZ2h0OiA1MXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTFweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzU4NTg1ODtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggIzJlMmUyZTtcbiAgICAgICAgYmFja2dyb3VuZDogIzU5NTk1OTtcbiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbih0byBib3R0b20pLCAjNTk1OTU5LCAjNDQ0NDQ0KTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzU5NTk1OSwgIzQ0NDQ0NCk7XG4gICAgICAgIGNvbG9yOiAjZGZkZmRmO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICd1dm50aGFuaHBoby1ib2xkJztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgICAgLnNlcnZlci1ibG9jay1saXN0IGxpIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZDZlMWVkO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICM0MzYwODY7XG4gICAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbih0byBib3R0b20pLCAjNDM2MDg2LCAjMzA0NzY3KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNDM2MDg2LCAjMzA0NzY3KTsgfVxuXG4vKi0gbmV3cyBsaXN0IC0qL1xudWwubmV3cy1saXN0IHtcbiAgbWFyZ2luOiAwOyB9XG4gIHVsLm5ld3MtbGlzdCBsaSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwIDAgNXB4IDA7XG4gICAgbWFyZ2luOiAwIDAgNXB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgdWwubmV3cy1saXN0IGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjNGQxZDk7IH1cbiAgICB1bC5uZXdzLWxpc3QgbGkuaGlnaGxpZ2h0IC5uZXdzLXRpdGxlIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwNXB4KTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICM3ZjhkYWM7XG4gICAgICBmb250LWZhbWlseTogXCJTRi1Cb2xkXCI7IH1cbiAgICAgIHVsLm5ld3MtbGlzdCBsaS5oaWdobGlnaHQgLm5ld3MtdGl0bGU6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmYzk0NzsgfVxuICAgICAgICB1bC5uZXdzLWxpc3QgbGkuaGlnaGxpZ2h0IC5uZXdzLXRpdGxlOmhvdmVyIC5uZXdzLXRpbWUge1xuICAgICAgICAgIGNvbG9yOiAjZmZjOTQ3OyB9XG4gICAgICB1bC5uZXdzLWxpc3QgbGkuaGlnaGxpZ2h0IC5uZXdzLXRpdGxlIC5uZXdzLXRpbWUge1xuICAgICAgICBjb2xvcjogIzdmOGRhYzsgfVxuICAgIHVsLm5ld3MtbGlzdCBsaSAubmV3c19fdGh1bWIge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDJweCAxMHB4IDAgMXB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICB1bC5uZXdzLWxpc3QgbGkgLm5ld3NfX3RodW1iIGltZyB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMzYzM2NWE7IH1cbiAgICB1bC5uZXdzLWxpc3QgbGkgLm5ld3MtZGVzIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDVweCk7XG4gICAgICBjb2xvcjogIzlkYTNjMDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICB1bC5uZXdzLWxpc3QgbGkgLm5ld3MtdGl0bGUge1xuICAgICAgY29sb3I6ICM3ZjhkYWM7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgdWwubmV3cy1saXN0IGxpIC5uZXdzLXRpdGxlOmhvdmVyLFxuICAgICAgdWwubmV3cy1saXN0IGxpIC5uZXdzLXRpdGxlOmhvdmVyIC5uZXdzLXRpbWUge1xuICAgICAgICBjb2xvcjogI2ZmYzk0NzsgfVxuICAgICAgdWwubmV3cy1saXN0IGxpIC5uZXdzLXRpdGxlIHNwYW4ge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIHVsLm5ld3MtbGlzdCBsaSAubmV3cy10aW1lIHtcbiAgICAgIGNvbG9yOiAjN2Y4ZGFjO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDNweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5uZXdzLW1vcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAjZTNlZGYxO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMHB4IDAgMHB4IDA7XG4gIGJhY2tncm91bmQ6ICM3MzIxMjE7XG4gIHBhZGRpbmc6IDAgMzBweCAwIDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cbiAgLm5ld3MtbW9yZTphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMHB4O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgY29udGVudDogJysnO1xuICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICBsaW5lLWhlaWdodDogLjg7IH1cbiAgLm5ld3MtbW9yZTpob3ZlciB7XG4gICAgY29sb3I6ICNlM2VkZjE7XG4gICAgYmFja2dyb3VuZDogIzIxNDQ3MzsgfVxuXG4uaGVhZGluZyB7XG4gIHdpZHRoOiA4MjJweDtcbiAgaGVpZ2h0OiA2OXB4O1xuICBsaW5lLWhlaWdodDogNjlweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9oZWFkaW5nLWJnLnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGNvbG9yOiAjZmZkOTdlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgZm9udC1mYW1pbHk6ICd1dm50aGFuaHBoby1ib2xkJztcbiAgbWFyZ2luOiAyMHB4IGF1dG87IH1cblxuLmV2ZW50LXNsaWRlciB7XG4gIG1hcmdpbjogNzBweCBhdXRvIDIwMHB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmV2ZW50LXNsaWRlciAuc3dpcGVyLXNsaWRlIHtcbiAgICB3aWR0aDogNDcycHg7XG4gICAgZmlsdGVyOiBibHVyKDJweCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjc7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7IH1cbiAgICAuZXZlbnQtc2xpZGVyIC5zd2lwZXItc2xpZGUgaW1nIHtcbiAgICAgIGJvcmRlcjogc29saWQgMXB4ICMzNjBmMTE7IH1cbiAgICAuZXZlbnQtc2xpZGVyIC5zd2lwZXItc2xpZGUub2ZmIHtcbiAgICAgIGZpbHRlcjogYmx1cigycHgpIGdyYXlzY2FsZSgxKTsgfVxuICAuZXZlbnQtc2xpZGVyIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgICBmaWx0ZXI6IGJsdXIoMHB4KTtcbiAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwKTsgfVxuICAuZXZlbnQtc2xpZGVyIC5wcmV2LWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDEwMHB4O1xuICAgIHRvcDogNDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLmV2ZW50LXNsaWRlciAucHJldi1idG4ge1xuICAgICAgICBsZWZ0OiAwcHg7IH0gfVxuICAuZXZlbnQtc2xpZGVyIC5uZXh0LWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMDBweDtcbiAgICB0b3A6IDQwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5ldmVudC1zbGlkZXIgLm5leHQtYnRuIHtcbiAgICAgICAgcmlnaHQ6IDBweDsgfSB9XG5cbi8qLS0tIGl0ZW0gSW4gR2FtZSAtLS0qL1xuLmJ1dHRvbnMtZm9vdGVyIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZDogIzIwMWMzMTtcbiAgZGlzcGxheTogbm9uZTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5idXR0b25zLWZvb3RlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cblxuLmZsb2F0aW5nIHtcbiAgd2lkdGg6IDE1MHB4O1xuICBoZWlnaHQ6IDI0NHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNTAlO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9mbG9hdGluZy1iZy5wbmcpIG5vLXJlcGVhdDtcbiAgei1pbmRleDogMTA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgcGFkZGluZzogMjJweCAwIDAgMjJweDsgfVxuICAuZmxvYXRpbmcgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLyotLS0gU3ViIHBhZ2UgLS0tKi9cbi5tYWluLWNvbnRlbnQge1xuICBwYWRkaW5nOiAwIDIwcHggMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9tYWluY29udGVudC10b3AuanBnKSBuby1yZXBlYXQgMCAwICNlNGU0ZTQ7IH1cbiAgLm1haW4tY29udGVudCAubmV3cy1saXN0IGxpIHtcbiAgICBwYWRkaW5nOiAwIDAgMTBweCAwO1xuICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM4OTliYTcgIWltcG9ydGFudDsgfVxuICAubWFpbi1jb250ZW50IC5uZXdzLWxpc3QgLmhpZ2hsaWdodCAubmV3cy1kZXMge1xuICAgIGNvbG9yOiAjMzc0MDRiOyB9XG4gICAgLm1haW4tY29udGVudCAubmV3cy1saXN0IC5oaWdobGlnaHQgLm5ld3MtZGVzOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNWM4YmQxOyB9XG4gICAgLm1haW4tY29udGVudCAubmV3cy1saXN0IC5oaWdobGlnaHQgLm5ld3MtZGVzOmJlZm9yZSwgLm1haW4tY29udGVudCAubmV3cy1saXN0IC5oaWdobGlnaHQgLm5ld3MtZGVzOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNiY2Q3ZTM7IH1cbiAgLm1haW4tY29udGVudCAubmV3cy1saXN0IC5oaWdobGlnaHQgLm5ld3MtdGl0bGUge1xuICAgIGNvbG9yOiAjMTUyYTQ2O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgIC5tYWluLWNvbnRlbnQgLm5ld3MtbGlzdCAuaGlnaGxpZ2h0IC5uZXdzLXRpdGxlIC5uZXdzLXRpbWUge1xuICAgICAgY29sb3I6ICMxNTJhNDY7IH1cbiAgICAubWFpbi1jb250ZW50IC5uZXdzLWxpc3QgLmhpZ2hsaWdodCAubmV3cy10aXRsZTpob3ZlciB7XG4gICAgICBjb2xvcjogIzVjOGJkMTsgfVxuICAgICAgLm1haW4tY29udGVudCAubmV3cy1saXN0IC5oaWdobGlnaHQgLm5ld3MtdGl0bGU6aG92ZXIgLm5ld3MtdGltZSB7XG4gICAgICAgIGNvbG9yOiAjNWM4YmQxOyB9XG5cbi5zdGF0aWMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMHB4IDBweCA1MHB4O1xuICBwYWRkaW5nOiA3cHggMCAwIDA7IH1cbiAgLnN0YXRpYyAuaWNvbi1zdGF0aWMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIC5zdGF0aWMgLmljb24taG9tZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTFweDtcbiAgICBtYXJnaW46IDAgNXB4IDAgMDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb24taG9tZS5wbmcpIG5vLXJlcGVhdDsgfVxuICAuc3RhdGljIGgyIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICNlM2VkZjE7XG4gICAgbWFyZ2luOiAxMHB4IDAgMnB4IDVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5icmVhZGNydW1iLS1tYWluIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogI2UzZWRmMTsgfVxuICAuYnJlYWRjcnVtYi0tbWFpbiBhIHtcbiAgICBjb2xvcjogI2UzZWRmMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuYnJlYWRjcnVtYi0tbWFpbiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNjI5NWUwOyB9XG5cbi5yZWxhdGl2ZSB7XG4gIHBhZGRpbmctdG9wOiA5cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucmVsYXRpdmUtdGl0bGUgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBjb2xvcjogIzlkYTNjMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGJhY2tncm91bmQ6ICMxZjFmMzI7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbig5MGRlZyksICMxZjFmMzIsICMyNTI2MzkpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzFmMWYzMiwgIzI1MjYzOSk7IH1cbiAgICAucmVsYXRpdmUtdGl0bGUgYTpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgY29udGVudDogXCJcXDAwMmJcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29uc0hhbGZsaW5ncyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0zcHg7XG4gICAgICByaWdodDogMTVweDsgfVxuICAgIC5yZWxhdGl2ZS10aXRsZSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYmNkN2UzOyB9XG4gIC5yZWxhdGl2ZSB1bC5yZWxhdGl2ZS1saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogNXB4IDBweCAwO1xuICAgIG1hcmdpbjogMCAwIDAgMjBweDsgfVxuICAgIC5yZWxhdGl2ZSB1bC5yZWxhdGl2ZS1saXN0IGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICM2MTg0YTg7XG4gICAgICBwYWRkaW5nOiAxMnB4IDAgMTBweCA1cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxpc3Qtc3R5bGU6IGRpc2M7IH1cbiAgICAgIC5yZWxhdGl2ZSB1bC5yZWxhdGl2ZS1saXN0IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgICAucmVsYXRpdmUgdWwucmVsYXRpdmUtbGlzdCBsaSBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBjb2xvcjogIzM3NDA0YjsgfVxuICAgICAgICAucmVsYXRpdmUgdWwucmVsYXRpdmUtbGlzdCBsaSBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzI2NGU3ZjtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgLnJlbGF0aXZlIHVsLnJlbGF0aXZlLWxpc3QgbGkgYSBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMTtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5yZWxhdGl2ZSB1bC5yZWxhdGl2ZS1saXN0IGxpIC5kYXRlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAjNjE1Nzg5O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7IH1cblxuLmJveHNlYXJjaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMjtcbiAgYmFja2dyb3VuZDogIzEzMWMyODtcbiAgYm9yZGVyOiAxcHggc29saWQgIzI0MjUzODtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgd2lkdGg6IDE4MHB4OyB9XG4gIC5ib3hzZWFyY2ggLmJnc2VhcmNoIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDNweCA5cHg7XG4gICAgY29sb3I6ICM5ZGEzYzA7IH1cbiAgLmJveHNlYXJjaCAuYnRzZWFyY2gge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbi1zZWFyY2gucG5nKSBuby1yZXBlYXQgMCAwO1xuICAgIHdpZHRoOiAxM3B4O1xuICAgIGhlaWdodDogMTNweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA3cHg7XG4gICAgcmlnaHQ6IDExcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4OyB9XG5cbi8qIFBhZ2luZyAqL1xuLnBhZ2luZyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7IH1cblxudWwucGFnZV9fbGlzdCB7XG4gIHBhZGRpbmc6IDIwcHggMCAwICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICB1bC5wYWdlX19saXN0IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwIDJweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gICAgdWwucGFnZV9fbGlzdCBsaSBhIHtcbiAgICAgIGNvbG9yOiAjMTUyYTQ2ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNTJhNDY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG4gICAgICB1bC5wYWdlX19saXN0IGxpIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUyYTQ2O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTUyYTQ2OyB9XG4gICAgICB1bC5wYWdlX19saXN0IGxpIGEuZGlzYWJsZSxcbiAgICAgIHVsLnBhZ2VfX2xpc3QgbGkgYTpob3ZlciAuZGlzYWJsZSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNjM2MzYzO1xuICAgICAgICBjb2xvcjogIzYzNjM2MyAhaW1wb3J0YW50OyB9XG4gICAgdWwucGFnZV9fbGlzdCBsaS5hY3RpdmUgYSB7XG4gICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE1MmE0NjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNTJhNDY7IH1cbiAgICB1bC5wYWdlX19saXN0IGxpLnByZXYgYSxcbiAgICB1bC5wYWdlX19saXN0IGxpLm5leHQgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICBtYXJnaW46IC0ycHggMCAwIDA7IH1cblxuLyotLS0gUG9wdXAgLS0tKi9cbi5wb3B1cCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAzNSU7XG4gIGxlZnQ6IDM1JTtcbiAgei1pbmRleDogMTAwMDtcbiAgd2lkdGg6IDQyNHB4O1xuICBoZWlnaHQ6IDI2NHB4O1xuICBtYXgtd2lkdGg6IDQyNHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BvcHVwLWJnLnBuZykgbm8tcmVwZWF0O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHBhZGRpbmc6IDMwcHggNDBweDtcbiAgY29sb3I6ICM2MzYzNjM7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnBvcHVwLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYW5pbWF0aW9uOiBncm93SW4gMC41cyBlYXNlLWluLW91dDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogZ3Jvd0luIDAuNXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5wb3B1cCB7XG4gICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgIGhlaWdodDogNDB2aDsgfSB9XG4gIC5wb3B1cCAuY2xvc2Uge1xuICAgIHBhZGRpbmc6IDMwcHggMzBweCAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgZm9udC1zaXplOiAzMHB4OyB9XG4gIC5wb3B1cCAucG9wdXAtdGl0bGUge1xuICAgIGNvbG9yOiAjMTYyOTRiO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1mYW1pbHk6ICd1dm50aGFuaHBoby1ib2xkJztcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjQwNjI1cmVtICsgMS44NzV2dyk7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAucG9wdXAgLnBvcHVwLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjgxMjVyZW07IH0gfVxuXG4ucG9wdXAtZ2lmdGNvZGUgLnZhbHVlIHtcbiAgcGFkZGluZzogNXB4O1xuICBiYWNrZ3JvdW5kOiAjMTUyYTQ2O1xuICB3aWR0aDogNjAlO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuLmJnb3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDsgfVxuXG4ud3JhcHBlci00MDQge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3dyYXBwZXItNDA0LmpwZykgbm8tcmVwZWF0IGNlbnRlciB0b3AvY292ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWZsb3c6IGNvbHVtbjsgfVxuICAud3JhcHBlci00MDQgLmxvZ28ge1xuICAgIG1hcmdpbi1ib3R0b206IDMwJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC53cmFwcGVyLTQwNCAubG9nbyB7XG4gICAgICAgIG1heC13aWR0aDogNzAlOyB9IH1cblxuLmZvb3RlciB7XG4gIGNvbG9yOiAjYmZiNmExO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMCAwIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgZm9udC1mYW1pbHk6ICdTRic7IH1cbiAgLmZvb3Rlci1pdGVtIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuZm9vdGVyLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7IH0gfVxuICAgIC5mb290ZXItaXRlbSBsaSB7XG4gICAgICBjb2xvcjogI2JmYjZhMTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLmZvb3Rlci1pdGVtIGxpIGEge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgcGFkZGluZzogMCA4cHg7IH1cbiAgICAgICAgLmZvb3Rlci1pdGVtIGxpIGE6aG92ZXIsIC5mb290ZXItaXRlbSBsaSBhOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogI2ZmM2IwMDsgfVxuICAuZm9vdGVyIC5jb3B5cmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgY29sb3I6ICNiZmI2YTE7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIwcHggMTBweDsgfVxuICAuZm9vdGVyIC5pbWcxOCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi10b3A6IC0xMHB4OyB9XG4gIC5mb290ZXIgLmNtbiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuIiwiLyohXG4gKiBCb290c3RyYXAgdjQuMy4xIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxuICogQ29weXJpZ2h0IDIwMTEtMjAxOSBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAqIENvcHlyaWdodCAyMDExLTIwMTkgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAqL1xuXG5AaW1wb3J0IFwiZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5AaW1wb3J0IFwicm9vdFwiO1xuQGltcG9ydCBcInJlYm9vdFwiO1xuQGltcG9ydCBcInR5cGVcIjtcbkBpbXBvcnQgXCJpbWFnZXNcIjtcbkBpbXBvcnQgXCJjb2RlXCI7XG5AaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcInRhYmxlc1wiO1xuQGltcG9ydCBcImZvcm1zXCI7XG5AaW1wb3J0IFwiYnV0dG9uc1wiO1xuQGltcG9ydCBcInRyYW5zaXRpb25zXCI7XG5AaW1wb3J0IFwiZHJvcGRvd25cIjtcbkBpbXBvcnQgXCJidXR0b24tZ3JvdXBcIjtcbkBpbXBvcnQgXCJpbnB1dC1ncm91cFwiO1xuQGltcG9ydCBcImN1c3RvbS1mb3Jtc1wiO1xuQGltcG9ydCBcIm5hdlwiO1xuQGltcG9ydCBcIm5hdmJhclwiO1xuQGltcG9ydCBcImNhcmRcIjtcbkBpbXBvcnQgXCJicmVhZGNydW1iXCI7XG5AaW1wb3J0IFwicGFnaW5hdGlvblwiO1xuQGltcG9ydCBcImJhZGdlXCI7XG5AaW1wb3J0IFwianVtYm90cm9uXCI7XG5AaW1wb3J0IFwiYWxlcnRcIjtcbkBpbXBvcnQgXCJwcm9ncmVzc1wiO1xuQGltcG9ydCBcIm1lZGlhXCI7XG5AaW1wb3J0IFwibGlzdC1ncm91cFwiO1xuQGltcG9ydCBcImNsb3NlXCI7XG5AaW1wb3J0IFwidG9hc3RzXCI7XG5AaW1wb3J0IFwibW9kYWxcIjtcbkBpbXBvcnQgXCJ0b29sdGlwXCI7XG5AaW1wb3J0IFwicG9wb3ZlclwiO1xuQGltcG9ydCBcImNhcm91c2VsXCI7XG5AaW1wb3J0IFwic3Bpbm5lcnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXNcIjtcbkBpbXBvcnQgXCJwcmludFwiO1xuIiwiOnJvb3Qge1xuICAvLyBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkYnAsICR2YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgLS1icmVha3BvaW50LSN7JGJwfTogI3skdmFsdWV9O1xuICB9XG5cbiAgLy8gVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tZm9udC1mYW1pbHktc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgYXQtcnVsZS1uby12ZW5kb3ItcHJlZml4LCBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyAxLiBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuLy8gMi4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2Vycy5cbi8vIDMuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbi8vIDQuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuLy8gNS4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAzXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNVxufVxuXG4vLyBTaGltIGZvciBcIm5ld1wiIEhUTUw1IHN0cnVjdHVyYWwgZWxlbWVudHMgdG8gZGlzcGxheSBjb3JyZWN0bHkgKElFMTAsIG9sZGVyIGJyb3dzZXJzKVxuLy8gVE9ETzogcmVtb3ZlIGluIHY1XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5hcnRpY2xlLCBhc2lkZSwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFNldCBhbiBleHBsaWNpdCBpbml0aWFsIHRleHQtYWxpZ24gdmFsdWUgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgdXNlXG4vLyAgICB0aGUgYGluaGVyaXRgIHZhbHVlIG9uIHRoaW5ncyBsaWtlIGA8dGg+YCBlbGVtZW50cy5cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAzXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnOyAvLyAyXG59XG5cbi8vIFN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lIG9uIGVsZW1lbnRzIHRoYXQgY2Fubm90IGJlIGFjY2Vzc2VkIHZpYSBrZXlib2FyZC5cbi8vIFRoaXMgcHJldmVudHMgYW4gdW53YW50ZWQgZm9jdXMgb3V0bGluZSBmcm9tIGFwcGVhcmluZyBhcm91bmQgZWxlbWVudHMgdGhhdFxuLy8gbWlnaHQgc3RpbGwgcmVzcG9uZCB0byBwb2ludGVyIGV2ZW50cy5cbi8vXG4vLyBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2Jhc2Vcblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgaGVpZ2h0OiAwOyAvLyAxXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG59XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIER1cGxpY2F0ZSBiZWhhdmlvciB0byB0aGUgZGF0YS0qIGF0dHJpYnV0ZSBmb3Igb3VyIHRvb2x0aXAgcGx1Z2luXG4vLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuLy8gMy4gQWRkIGV4cGxpY2l0IGN1cnNvciB0byBpbmRpY2F0ZSBjaGFuZ2VkIGJlaGF2aW9yLlxuLy8gNC4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gNS4gUHJldmVudCB0aGUgdGV4dC1kZWNvcmF0aW9uIHRvIGJlIHNraXBwZWQuXG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7IC8vIDFcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIGN1cnNvcjogaGVscDsgLy8gM1xuICBib3JkZXItYm90dG9tOiAwOyAvLyA0XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gNVxufVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiAkZHQtZm9udC13ZWlnaHQ7XG59XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXG59XG5cbnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDgwJSk7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDc1JSk7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7IGJvdHRvbTogLS4yNWVtOyB9XG5zdXAgeyB0b3A6IC0uNWVtOyB9XG5cblxuLy9cbi8vIExpbmtzXG4vL1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cbn1cblxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpXG4vLyB3aGljaCBoYXZlIG5vdCBiZWVuIG1hZGUgZXhwbGljaXRseSBrZXlib2FyZC1mb2N1c2FibGUgKHdpdGhvdXQgdGFiaW5kZXgpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cblxuLy9cbi8vIENvZGVcbi8vXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pOyAvLyBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG59XG5cbnByZSB7XG4gIC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdG9wIG1hcmdpblxuICBtYXJnaW4tdG9wOiAwO1xuICAvLyBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvLyBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbmZpZ3VyZSB7XG4gIC8vIEFwcGx5IGEgY29uc2lzdGVudCBtYXJnaW4gc3RyYXRlZ3kgKG1hdGNoZXMgb3VyIHR5cGUgc3R5bGVzKS5cbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vL1xuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG4vL1xuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXItc3R5bGU6IG5vbmU7IC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxufVxuXG5zdmcge1xuICAvLyBXb3JrYXJvdW5kIGZvciB0aGUgU1ZHIG92ZXJmbG93IGJ1ZyBpbiBJRTEwLzExIGlzIHN0aWxsIHJlcXVpcmVkLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNjg3OFxuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8vXG4vLyBUYWJsZXNcbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xufVxuXG50aCB7XG4gIC8vIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgZnJvbSB0aGUgYDxib2R5PmAsIG9yIHRoZVxuICAvLyBjbG9zZXN0IHBhcmVudCB3aXRoIGEgc2V0IGB0ZXh0LWFsaWduYC5cbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbn1cblxuXG4vL1xuLy8gRm9ybXNcbi8vXG5cbmxhYmVsIHtcbiAgLy8gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAkbGFiZWwtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGBib3JkZXItcmFkaXVzYCB0aGF0IG1hY09TIENocm9tZSBhZGRzLlxuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuYnV0dG9uIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBXb3JrIGFyb3VuZCBhIEZpcmVmb3gvSUUgYnVnIHdoZXJlIHRoZSB0cmFuc3BhcmVudCBgYnV0dG9uYCBiYWNrZ3JvdW5kXG4vLyByZXN1bHRzIGluIGEgbG9zcyBvZiB0aGUgZGVmYXVsdCBgYnV0dG9uYCBmb2N1cyBzdHlsZXMuXG4vL1xuLy8gQ3JlZGl0OiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9iYXNlL1xuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbnNlbGVjdCB7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgYnV0dG9uIGVsZW1lbnRzLlxuQGlmICRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnMge1xuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC1cbiAgcGFkZGluZzogMDsgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLVxufVxuXG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgYXBwZWFyYW5jZSBvZiB0ZW1wb3JhbCBpbnB1dHMgdG8gYXZvaWQgYSBNb2JpbGUgU2FmYXJpXG4gIC8vIGJ1ZyB3aGVyZSBzZXR0aW5nIGEgY3VzdG9tIGxpbmUtaGVpZ2h0IHByZXZlbnRzIHRleHQgZnJvbSBiZWluZyB2ZXJ0aWNhbGx5XG4gIC8vIGNlbnRlcmVkIHdpdGhpbiB0aGUgaW5wdXQuXG4gIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5ODQ4XG4gIC8vIGFuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExMjY2XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbGlzdGJveDtcbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgLy8gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIC8vIEJyb3dzZXJzIHNldCBhIGRlZmF1bHQgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4gIC8vIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuICAvLyBTbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBmaWVsZHNldHMgYmVoYXZlIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5XG4gIC8vIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbiAgbWluLXdpZHRoOiAwO1xuICAvLyBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4vLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDEuNXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG59XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxufVxuXG4vLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbiAgLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4gIC8vIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4vL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4vLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4vL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxufVxuXG4vL1xuLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXG4vL1xuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUVcbn1cblxuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZSAoZnJvbSBQdXJlQ1NTKS5cbi8vIE5lZWRlZCBmb3IgcHJvcGVyIGRpc3BsYXkgaW4gSUUgMTAtLlxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuXG4kZ3JheXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRncmF5czogbWFwLW1lcmdlKFxuICAoXG4gICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgICBcIjkwMFwiOiAkZ3JheS05MDBcbiAgKSxcbiAgJGdyYXlzXG4pO1xuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICAgIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiAgKSxcbiAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICAgIFwiZGFya1wiOiAgICAgICAkZGFya1xuICApLFxuICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6ICAgICAgOCUgIWRlZmF1bHQ7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6ICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zOiAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6ICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc3BhY2VyczogbWFwLW1lcmdlKFxuICAoXG4gICAgMDogMCxcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgMzogJHNwYWNlcixcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXG4gICAgNTogKCRzcGFjZXIgKiAzKVxuICApLFxuICAkc3BhY2Vyc1xuKTtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc2l6ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDI1OiAyNSUsXG4gICAgNTA6IDUwJSxcbiAgICA3NTogNzUlLFxuICAgIDEwMDogMTAwJSxcbiAgICBhdXRvOiBhdXRvXG4gICksXG4gICRzaXplc1xuKTtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbi8vIERhcmtlbiBwZXJjZW50YWdlIGZvciBsaW5rcyB3aXRoIGAudGV4dC0qYCBjbGFzcyAoZS5nLiBgLnRleHQtc3VjY2Vzc2ApXG4kZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlOiAxNSUgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kcm91bmRlZC1waWxsOiAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiBqb2luKFxuICAoXG4gICAgKDIxIDkpLFxuICAgICgxNiA5KSxcbiAgICAoNCAzKSxcbiAgICAoMSAxKSxcbiAgKSxcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvc1xuKTtcblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICA4MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplOiAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1jb2xvcjogICAgICAkdGFibGUtZGFyay1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgIGxpZ2h0ZW4oJHRhYmxlLWRhcmstYmcsIDcuNSUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4kdGFibGUtYmctbGV2ZWw6ICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItbGV2ZWw6ICAgICAgICAgIC02ICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybXNcblxuJGxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQgKiAxZW19ICsgI3skaW5wdXQtcGFkZGluZy15ICogMn0pICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtfSArICN7JGlucHV0LXBhZGRpbmcteX0pICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbX0gKyAjeyRpbnB1dC1wYWRkaW5nLXkgLyAyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtfSArICN7JGlucHV0LXBhZGRpbmcteSAqIDJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQtc20gKiAxZW19ICsgI3skaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAqIDJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQtbGcgKiAxZW19ICsgI3skaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAqIDJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZvcm1zLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG5vbmUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I6ICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogICAgbm9uZSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjogICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjYgMi45NzQgNy4yNSA4IDIuMTkzeicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlOiAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA0JyUzZSUzY3BhdGggc3Ryb2tlPScjeyRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3J9JyBkPSdNMCAyaDQnLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdzogICBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNlJTNjY2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAxLjc1ICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplIC8gMiAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAgICAgIGNhbGMoI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemV9IC0gI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDR9KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgOHB4IDEwcHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzZSUzY3BhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kOiAgICAgICAgICAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3Igbm8tcmVwZWF0IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgLyAkY3VzdG9tLXNlbGVjdC1iZy1zaXplICFkZWZhdWx0OyAvLyBVc2VkIHNvIHdlIGNhbiBoYXZlIG11bHRpcGxlIGJhY2tncm91bmQgZWxlbWVudHMgKGUuZy4sIGFycm93IGFuZCBmZWVkYmFjayBpY29uKVxuXG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ6IGNhbGMoKDFlbSArICN7MiAqICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteX0pICogMyAvIDQgKyAjeyRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nfSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICAgIGNlbnRlciByaWdodCAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9Jy0yIC0yIDcgNyclM2UlM2NwYXRoIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBkPSdNMCAwbDMgM20wLTNMMCAzJy8lM2UlM2NjaXJjbGUgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeD0nMycgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeT0nMycgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeD0nMycgY3k9JzMnIHI9Jy41Jy8lM2UlM2Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJ2YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWRcbiAgICApLFxuICAgIFwiaW52YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkXG4gICAgKSxcbiAgKSxcbiAgJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbik7XG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcblxuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAvIDIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBjYWxjKCN7JGRyb3Bkb3duLWJvcmRlci1yYWRpdXN9IC0gI3skZHJvcGRvd24tYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkbmF2LWRpdmlkZXItbWFyZ2luLXkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgY2FsYygjeyRjYXJkLWJvcmRlci1yYWRpdXN9IC0gI3skY2FyZC1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAvIDIgIWRlZmF1bHQ7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgICAgICAgICAkY2FyZC1ncm91cC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAgICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gVG9hc3RzXG5cbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjEpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuMjVyZW0gLjc1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb24gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtYmctbGV2ZWw6ICAgICAgICAgICAgICAgICAgICAtMTAgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWxldmVsOiAgICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvci1sZXZlbDogICAgICAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcblxuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgOTAlICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBDYXJvdXNlbFxuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICBvcGFjaXR5IC42cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjUtMi41LTIuNSAyLjUtMi41LTEuNS0xLjV6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZD0nTTIuNzUgMGwtMS41IDEuNSAyLjUgMi41LTIuNSAyLjUgMS41IDEuNSA0LTQtNC00eicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcblxuXG4vLyBTcGlubmVyc1xuXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAycmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0OiAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAuMjVlbSAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgIDAgMXB4IDAgJHdoaXRlICFkZWZhdWx0O1xuXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy8gVXRpbGl0aWVzXG5cbiRkaXNwbGF5czogbm9uZSwgaW5saW5lLCBpbmxpbmUtYmxvY2ssIGJsb2NrLCB0YWJsZSwgdGFibGUtcm93LCB0YWJsZS1jZWxsLCBmbGV4LCBpbmxpbmUtZmxleCAhZGVmYXVsdDtcbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbiAhZGVmYXVsdDtcbiRwb3NpdGlvbnM6IHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5ICFkZWZhdWx0O1xuXG5cbi8vIFByaW50aW5nXG5cbiRwcmludC1wYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgIGEzICFkZWZhdWx0O1xuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCBmb250LXJlc2l6aW5nXG4vL1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmc1xuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgZm9udCBzaXplXG4kcmZzLWJhc2UtZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy1mb250LXNpemUtdW5pdDogcmVtICFkZWZhdWx0O1xuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIGZvbnQtc2l6ZSBzdGFydHMgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbi8vIFJlc2l6ZSBmb250LXNpemUgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBcIm51bWJlclwiIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB0byBmYWxzZVxuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS1mb250LXNpemUgdW5pdFxuJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0OiB1bml0KCRyZnMtYmFzZS1mb250LXNpemUpO1xuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS1mb250LXNpemUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInB4XCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiAkcmZzLWJhc2UtZm9udC1zaXplIC8gKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJyZW1cIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6ICRyZnMtYmFzZS1mb250LXNpemUgLyAoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJweFwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJyZW1cIiBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6ICRyZnMtYnJlYWtwb2ludCAvICgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gUmVzcG9uc2l2ZSBmb250LXNpemUgbWl4aW5cbkBtaXhpbiByZnMoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAvLyBDYWNoZSAkZnMgdW5pdFxuICAkZnMtdW5pdDogaWYodHlwZS1vZigkZnMpID09IFwibnVtYmVyXCIsIHVuaXQoJGZzKSwgZmFsc2UpO1xuXG4gIC8vIEFkZCAhaW1wb3J0YW50IHN1ZmZpeCBpZiBuZWVkZWRcbiAgJHJmcy1zdWZmaXg6IGlmKCRpbXBvcnRhbnQsIFwiICFpbXBvcnRhbnRcIiwgXCJcIik7XG5cbiAgLy8gSWYgJGZzIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICRmcyBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gIEBpZiBub3QgJGZzLXVuaXQgb3IgJGZzLXVuaXQgIT0gXCJcIiBhbmQgJGZzLXVuaXQgIT0gXCJweFwiIGFuZCAkZnMtdW5pdCAhPSBcInJlbVwiIG9yICRmcyA9PSAwIHtcbiAgICBmb250LXNpemU6ICN7JGZzfSN7JHJmcy1zdWZmaXh9O1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBWYXJpYWJsZXMgZm9yIHN0b3Jpbmcgc3RhdGljIGFuZCBmbHVpZCByZXNjYWxpbmdcbiAgICAkcmZzLXN0YXRpYzogbnVsbDtcbiAgICAkcmZzLWZsdWlkOiBudWxsO1xuXG4gICAgLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkZnMgZm9yIGNhbGN1bGF0aW9uc1xuICAgIEBpZiAkZnMtdW5pdCA9PSBcInB4XCIge1xuICAgICAgJGZzOiAkZnMgLyAoJGZzICogMCArIDEpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZnMtdW5pdCA9PSBcInJlbVwiIHtcbiAgICAgICRmczogJGZzIC8gKCRmcyAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0IGZvbnQtc2l6ZVxuICAgIEBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSB7XG4gICAgICAkcmZzLXN0YXRpYzogI3skZnMgLyAkcmZzLXJlbS12YWx1ZX1yZW0jeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHJmcy1mb250LXNpemUtdW5pdCA9PSBweCB7XG4gICAgICAkcmZzLXN0YXRpYzogI3skZnN9cHgjeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yIFwiYCN7JHJmcy1mb250LXNpemUtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtZm9udC1zaXplLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xuICAgIH1cblxuICAgIC8vIE9ubHkgYWRkIG1lZGlhIHF1ZXJ5IGlmIGZvbnQtc2l6ZSBpcyBiaWdnZXIgYXMgdGhlIG1pbmltdW0gZm9udC1zaXplXG4gICAgLy8gSWYgJHJmcy1mYWN0b3IgPT0gMSwgbm8gcmVzY2FsaW5nIHdpbGwgdGFrZSBwbGFjZVxuICAgIEBpZiAkZnMgPiAkcmZzLWJhc2UtZm9udC1zaXplIGFuZCAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB7XG4gICAgICAkbWluLXdpZHRoOiBudWxsO1xuICAgICAgJHZhcmlhYmxlLXVuaXQ6IG51bGw7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBtaW5pbXVtIGZvbnQtc2l6ZSBmb3IgZ2l2ZW4gZm9udC1zaXplXG4gICAgICAkZnMtbWluOiAkcmZzLWJhc2UtZm9udC1zaXplICsgKCRmcyAtICRyZnMtYmFzZS1mb250LXNpemUpIC8gJHJmcy1mYWN0b3I7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gZ2l2ZW4gZm9udC1zaXplIGFuZCBtaW5pbXVtIGZvbnQtc2l6ZSBmb3IgZ2l2ZW4gZm9udC1zaXplXG4gICAgICAkZnMtZGlmZjogJGZzIC0gJGZzLW1pbjtcblxuICAgICAgLy8gQmFzZSBmb250LXNpemUgZm9ybWF0dGluZ1xuICAgICAgLy8gTm8gbmVlZCB0byBjaGVjayBpZiB0aGUgdW5pdCBpcyB2YWxpZCwgYmVjYXVzZSB3ZSBkaWQgdGhhdCBiZWZvcmVcbiAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAjeyRmcy1taW4gLyAkcmZzLXJlbS12YWx1ZX1yZW0sICN7JGZzLW1pbn1weCk7XG5cbiAgICAgIC8vIElmIHR3by1kaW1lbnNpb25hbCwgdXNlIHNtYWxsZXN0IG9mIHNjcmVlbiB3aWR0aCBhbmQgaGVpZ2h0XG4gICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgJHZhcmlhYmxlLXdpZHRoOiAjeyRmcy1kaWZmICogMTAwIC8gJHJmcy1icmVha3BvaW50fSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAvLyBTZXQgdGhlIGNhbGN1bGF0ZWQgZm9udC1zaXplLlxuICAgICAgJHJmcy1mbHVpZDogY2FsYygjeyRtaW4td2lkdGh9ICsgI3skdmFyaWFibGUtd2lkdGh9KSAjeyRyZnMtc3VmZml4fTtcbiAgICB9XG5cbiAgICAvLyBSZW5kZXJpbmdcbiAgICBAaWYgJHJmcy1mbHVpZCA9PSBudWxsIHtcbiAgICAgIC8vIE9ubHkgcmVuZGVyIHN0YXRpYyBmb250LXNpemUgaWYgbm8gZmx1aWQgZm9udC1zaXplIGlzIGF2YWlsYWJsZVxuICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJG1xLXZhbHVlOiBudWxsO1xuXG4gICAgICAvLyBSRlMgYnJlYWtwb2ludCBmb3JtYXR0aW5nXG4gICAgICBAaWYgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcmVtIHtcbiAgICAgICAgJG1xLXZhbHVlOiAjeyRyZnMtYnJlYWtwb2ludCAvICRyZnMtcmVtLXZhbHVlfSN7JHJmcy1icmVha3BvaW50LXVuaXR9O1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgge1xuICAgICAgICAkbXEtdmFsdWU6ICN7JHJmcy1icmVha3BvaW50fXB4O1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbiAgICAgIH1cblxuICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJkaXNhYmxlXCIge1xuICAgICAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LFxuICAgICAgICAvLyB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIGZvbnQgc2l6ZVxuICAgICAgICAmLFxuICAgICAgICAuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAmLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICAgIH1cblxuICAgICAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSksIChtYXgtaGVpZ2h0OiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAgICAgICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmICRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxuICAgICAgICAgICAgbWluLXdpZHRoOiAwdnc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAgICAgICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmICRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxuICAgICAgICAgICAgbWluLXdpZHRoOiAwdnc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBmb250LXNpemUgJiByZXNwb25zaXZlLWZvbnQtc2l6ZSBtaXhpbiB1c2VzIFJGUyB0byByZXNjYWxlIGZvbnQgc2l6ZXNcbkBtaXhpbiBmb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cblxuQG1peGluIHJlc3BvbnNpdmUtZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG4iLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlciB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuXG4vL1xuLy8gSGVhZGluZ3Ncbi8vXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XG59XG5cbmgxLCAuaDEgeyBAaW5jbHVkZSBmb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7IH1cbmgyLCAuaDIgeyBAaW5jbHVkZSBmb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7IH1cbmgzLCAuaDMgeyBAaW5jbHVkZSBmb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7IH1cbmg0LCAuaDQgeyBAaW5jbHVkZSBmb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7IH1cbmg1LCAuaDUgeyBAaW5jbHVkZSBmb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7IH1cbmg2LCAuaDYgeyBAaW5jbHVkZSBmb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7IH1cblxuLmxlYWQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGxlYWQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRsZWFkLWZvbnQtd2VpZ2h0O1xufVxuXG4vLyBUeXBlIGRpc3BsYXkgY2xhc3Nlc1xuLmRpc3BsYXktMSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTEtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTEtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0yIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5Mi1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5Mi13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTMge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkzLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkzLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktNCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG5cblxuLy9cbi8vIEhvcml6b250YWwgcnVsZXNcbi8vXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogJGhyLW1hcmdpbi15O1xuICBtYXJnaW4tYm90dG9tOiAkaHItbWFyZ2luLXk7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cblxuc21hbGwsXG4uc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNtYWxsLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFyay1iZztcbn1cblxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZDtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQ7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogJGxpc3QtaW5saW5lLXBhZGRpbmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gTWlzY1xuLy9cblxuLy8gQnVpbGRzIG9uIGBhYmJyYFxuLmluaXRpYWxpc20ge1xuICBAaW5jbHVkZSBmb250LXNpemUoOTAlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLWZvbnQtc2l6ZSk7XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplKTtcbiAgY29sb3I6ICRibG9ja3F1b3RlLXNtYWxsLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwMTRcXDAwQTBcIjsgLy8gZW0gZGFzaCwgbmJzcFxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4vL1xuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxuLy8gV2UgcHJldmlvdXNseSB0cmllZCB0aGUgXCJpbWFnZXMgYXJlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFwiIGFwcHJvYWNoIGluIEJvb3RzdHJhcCB2Mixcbi8vIGFuZCBhYmFuZG9uZWQgaXQgaW4gQm9vdHN0cmFwIHYzIGJlY2F1c2UgaXQgYnJlYWtzIGxvdHMgb2YgdGhpcmQtcGFydHkgd2lkZ2V0cyAoaW5jbHVkaW5nIEdvb2dsZSBNYXBzKVxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXG4vLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4MTc4XG4uaW1nLWZsdWlkIHtcbiAgQGluY2x1ZGUgaW1nLWZsdWlkO1xufVxuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHRodW1ibmFpbC1ib3gtc2hhZG93KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLWZsdWlkO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIgLyAyO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmaWd1cmUtY2FwdGlvbi1mb250LXNpemUpO1xuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS5cblxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTF4KTtcblxuICAvLyBBdXRvcHJlZml4ZXIgdGFrZXMgY2FyZSBvZiBhZGRpbmcgLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvIGFuZCAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvLFxuICAvLyBidXQgZG9lc24ndCBjb252ZXJ0IGRwcHg9PmRwaS5cbiAgLy8gVGhlcmUncyBubyBzdWNoIHRoaW5nIGFzIHVucHJlZml4ZWQgbWluLWRldmljZS1waXhlbC1yYXRpbyBzaW5jZSBpdCdzIG5vbnN0YW5kYXJkLlxuICAvLyBDb21wYXRpYmlsaXR5IGluZm86IGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYGltZy1yZXRpbmEoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuIiwiLy8gSW5saW5lIGNvZGVcbmNvZGUge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXG4gIC8vIFN0cmVhbWxpbmUgdGhlIHN0eWxlIHdoZW4gaW5zaWRlIGFuY2hvcnMgdG8gYXZvaWQgYnJva2VuIHVuZGVybGluZSBhbmQgbW9yZVxuICBhID4gJiB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gVXNlciBpbnB1dCB0eXBpY2FsbHkgZW50ZXJlZCB2aWEga2V5Ym9hcmRcbmtiZCB7XG4gIHBhZGRpbmc6ICRrYmQtcGFkZGluZy15ICRrYmQtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGtiZC1mb250LXNpemUpO1xuICBjb2xvcjogJGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGtiZC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGtiZC1ib3gtc2hhZG93KTtcblxuICBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDEwMCUpO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmVzdGVkLWtiZC1mb250LXdlaWdodDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cbi8vIEJsb2NrcyBvZiBjb2RlXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkcHJlLWNvbG9yO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIH1cbn1cblxuLy8gRW5hYmxlIHNjcm9sbGFibGUgYmxvY2tzIG9mIGNvZGVcbi5wcmUtc2Nyb2xsYWJsZSB7XG4gIG1heC1oZWlnaHQ6ICRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiAkc2l6ZSAvICRjb2x1bW5zO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cbiIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXItbWF4LXdpZHRocygpO1xuICB9XG59XG5cbi8vIEZsdWlkIGNvbnRhaW5lclxuLy9cbi8vIFV0aWxpemVzIHRoZSBtaXhpbiBtZWFudCBmb3IgZml4ZWQgd2lkdGggY29udGFpbmVycywgYnV0IHdpdGggMTAwJSB3aWR0aCBmb3Jcbi8vIGZsdWlkLCBmdWxsIHdpZHRoIGxheW91dHMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cbn1cblxuLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIGFuZCBjbGVhciB0aGUgZmxvYXRzIG9mIHlvdXIgY29sdW1ucy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgbmVnYXRpdmUgbWFyZ2luIGZyb20gZGVmYXVsdCAucm93LCB0aGVuIHRoZSBob3Jpem9udGFsIHBhZGRpbmdcbiAgLy8gZnJvbSBhbGwgaW1tZWRpYXRlIGNoaWxkcmVuIGNvbHVtbnMgKHRvIHByZXZlbnQgcnVuYXdheSBzdHlsZSBpbmhlcml0YW5jZSkuXG4gIC5uby1ndXR0ZXJzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICA+IC5jb2wsXG4gICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucygpO1xufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgLy8gUmVzZXQgZWFybGllciBncmlkIHRpZXJzXG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tbGFzdCB7IG9yZGVyOiAkY29sdW1ucyArIDE7IH1cblxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7IG9yZGVyOiAkaTsgfVxuICAgICAgfVxuXG4gICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgY29sb3I6ICR0YWJsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnOyAvLyBSZXNldCBmb3IgbmVzdGluZyB3aXRoaW4gcGFyZW50cyB3aXRoIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIHZlcnNpb25zXG4vL1xuLy8gQWRkIG9yIHJlbW92ZSBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyICogJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWJvcmRlcmxlc3Mge1xuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoLFxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWFjY2VudC1iZztcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgdGJvZHkgdHIge1xuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaG92ZXItYmc7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFibGUgYmFja2dyb3VuZHNcbi8vXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkdGFibGUtYmctbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICR0YWJsZS1ib3JkZXItbGV2ZWwpKTtcbn1cblxuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoYWN0aXZlLCAkdGFibGUtYWN0aXZlLWJnKTtcblxuXG4vLyBEYXJrIHN0eWxlc1xuLy9cbi8vIFNhbWUgdGFibGUgbWFya3VwLCBidXQgaW52ZXJ0ZWQgY29sb3Igc2NoZW1lOiBkYXJrIGJhY2tncm91bmQgYW5kIGxpZ2h0IHRleHQuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4udGFibGUge1xuICAudGhlYWQtZGFyayB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAudGhlYWQtbGlnaHQge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtaGVhZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtZGFyayB7XG4gIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYmc7XG5cbiAgdGgsXG4gIHRkLFxuICB0aGVhZCB0aCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmLnRhYmxlLXN0cmlwZWQge1xuICAgIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYWNjZW50LWJnO1xuICAgIH1cbiAgfVxuXG4gICYudGFibGUtaG92ZXIge1xuICAgIHRib2R5IHRyIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgICAgICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXIgb24gaG9yaXpvbnRhbCBzY3JvbGwgZHVlIHRvIHVzZSBvZiBgZGlzcGxheTogYmxvY2s7YFxuICAgICAgICA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRib3JkZXI6IG51bGwpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJixcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGlmICRib3JkZXIgIT0gbnVsbCB7XG4gICAgICB0aCxcbiAgICAgIHRkLFxuICAgICAgdGhlYWQgdGgsXG4gICAgICB0Ym9keSArIHRib2R5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciB7XG4gICAgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCb290c3RyYXAgZnVuY3Rpb25zXG4vL1xuLy8gVXRpbGl0eSBtaXhpbnMgYW5kIGZ1bmN0aW9ucyBmb3IgZXZhbHVhdGluZyBzb3VyY2UgY29kZSBhY3Jvc3Mgb3VyIHZhcmlhYmxlcywgbWFwcywgYW5kIG1peGlucy5cblxuLy8gQXNjZW5kaW5nXG4vLyBVc2VkIHRvIGV2YWx1YXRlIFNhc3MgbWFwcyBsaWtlIG91ciBncmlkIGJyZWFrcG9pbnRzLlxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xuICAkcHJldi1rZXk6IG51bGw7XG4gICRwcmV2LW51bTogbnVsbDtcbiAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwgb3IgdW5pdCgkbnVtKSA9PSBcIiVcIiB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBAZWxzZSBpZiBub3QgY29tcGFyYWJsZSgkcHJldi1udW0sICRudW0pIHtcbiAgICAgIEB3YXJuIFwiUG90ZW50aWFsbHkgaW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hvc2UgdW5pdCBtYWtlcyBpdCBpbmNvbXBhcmFibGUgdG8gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfSBAZWxzZSBpZiAkcHJldi1udW0gPj0gJG51bSB7XG4gICAgICBAd2FybiBcIkludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdoaWNoIGlzbid0IGdyZWF0ZXIgdGhhbiAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9XG4gICAgJHByZXYta2V5OiAka2V5O1xuICAgICRwcmV2LW51bTogJG51bTtcbiAgfVxufVxuXG4vLyBTdGFydHMgYXQgemVyb1xuLy8gVXNlZCB0byBlbnN1cmUgdGhlIG1pbi13aWR0aCBvZiB0aGUgbG93ZXN0IGJyZWFrcG9pbnQgc3RhcnRzIGF0IDAuXG5AbWl4aW4gX2Fzc2VydC1zdGFydHMtYXQtemVybygkbWFwLCAkbWFwLW5hbWU6IFwiJGdyaWQtYnJlYWtwb2ludHNcIikge1xuICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAkZmlyc3QtdmFsdWU6IG50aCgkdmFsdWVzLCAxKTtcbiAgQGlmICRmaXJzdC12YWx1ZSAhPSAwIHtcbiAgICBAd2FybiBcIkZpcnN0IGJyZWFrcG9pbnQgaW4gI3skbWFwLW5hbWV9IG11c3Qgc3RhcnQgYXQgMCwgYnV0IHN0YXJ0cyBhdCAjeyRmaXJzdC12YWx1ZX0uXCI7XG4gIH1cbn1cblxuLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8gVXNlZCBvbiBvdXIgU1ZHIGljb24gYmFja2dyb3VuZHMgZm9yIGN1c3RvbSBmb3Jtcy5cbi8vXG4vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIikge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG5AZnVuY3Rpb24gY29sb3IteWlxKCRjb2xvciwgJGRhcms6ICR5aXEtdGV4dC1kYXJrLCAkbGlnaHQ6ICR5aXEtdGV4dC1saWdodCkge1xuICAkcjogcmVkKCRjb2xvcik7XG4gICRnOiBncmVlbigkY29sb3IpO1xuICAkYjogYmx1ZSgkY29sb3IpO1xuXG4gICR5aXE6ICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpIC8gMTAwMDtcblxuICBAaWYgKCR5aXEgPj0gJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZCkge1xuICAgIEByZXR1cm4gJGRhcms7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJGxpZ2h0O1xuICB9XG59XG5cbi8vIFJldHJpZXZlIGNvbG9yIFNhc3MgbWFwc1xuQGZ1bmN0aW9uIGNvbG9yKCRrZXk6IFwiYmx1ZVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yKCRrZXk6IFwicHJpbWFyeVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIGdyYXkoJGtleTogXCIxMDBcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGdyYXlzLCAka2V5KTtcbn1cblxuLy8gUmVxdWVzdCBhIHRoZW1lIGNvbG9yIGxldmVsXG5AZnVuY3Rpb24gdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLW5hbWU6IFwicHJpbWFyeVwiLCAkbGV2ZWw6IDApIHtcbiAgJGNvbG9yOiB0aGVtZS1jb2xvcigkY29sb3ItbmFtZSk7XG4gICRjb2xvci1iYXNlOiBpZigkbGV2ZWwgPiAwLCAkYmxhY2ssICR3aGl0ZSk7XG4gICRsZXZlbDogYWJzKCRsZXZlbCk7XG5cbiAgQHJldHVybiBtaXgoJGNvbG9yLWJhc2UsICRjb2xvciwgJGxldmVsICogJHRoZW1lLWNvbG9yLWludGVydmFsKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gVGV4dHVhbCBmb3JtIGNvbnRyb2xzXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cywgMCk7XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQsXG4gICZbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmOmZvY3VzOjotbXMtdmFsdWUge1xuICAgIC8vIFN1cHByZXNzIHRoZSBuZXN0ZWQgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAvLyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRleHQgd2hlbiB0aGUgKHN0aWxsIGNsb3NlZCkgPHNlbGVjdD4gcmVjZWl2ZXMgZm9jdXNcbiAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZSwgYXMgaXQgbG9va3MgYmFkIGFuZCBjYW5ub3QgYmUgbWFkZSB0b1xuICAgIC8vIG1hdGNoIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBuYXRpdmUgd2lkZ2V0LlxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICB9XG59XG5cbi8vIE1ha2UgZmlsZSBpbnB1dHMgYmV0dGVyIG1hdGNoIHRleHQgaW5wdXRzIGJ5IGZvcmNpbmcgdGhlbSB0byBuZXcgbGluZXMuXG4uZm9ybS1jb250cm9sLWZpbGUsXG4uZm9ybS1jb250cm9sLXJhbmdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5cbi8vXG4vLyBMYWJlbHNcbi8vXG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxhYmVsIChvciBsZWdlbmQpXG4vLyB0ZXh0IHRvIGFsaWduIHdpdGggdGhlIGZvcm0gY29udHJvbHMuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXl9ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteX0gKyAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGFiZWw+LzxsZWdlbmQ+YCBkZWZhdWx0XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXktbGd9ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteS1sZ30gKyAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXktc219ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteS1zbX0gKyAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xufVxuXG5cbi8vIFJlYWRvbmx5IGNvbnRyb2xzIGFzIHBsYWluIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhIHJlYWRvbmx5IGlucHV0IHRvIG1ha2UgaXQgYXBwZWFyIGxpa2UgcmVndWxhciBwbGFpblxuLy8gdGV4dCAod2l0aG91dCBhbnkgYm9yZGVyLCBiYWNrZ3JvdW5kIGNvbG9yLCBmb2N1cyBpbmRpY2F0b3IpXG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogJGlucHV0LXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRpbnB1dC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIG1hdGNoIGlucHV0cyBpZiB0aGlzIGNsYXNzIGNvbWVzIG9uIGlucHV0cyB3aXRoIGRlZmF1bHQgbWFyZ2luc1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LXBsYWludGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwO1xuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gUmVwZWF0ZWQgaW4gYF9pbnB1dF9ncm91cC5zY3NzYCB0byBhdm9pZCBTYXNzIGV4dGVuZCBpc3N1ZXMuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICZbc2l6ZV0sXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBGb3JtIGdyb3Vwc1xuLy9cbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3Jcbi8vIGhvcml6b250YWwgZm9ybXMsIHVzZSB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuXG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn1cblxuLmZvcm0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG59XG5cblxuLy8gRm9ybSBncmlkXG4vL1xuLy8gU3BlY2lhbCByZXBsYWNlbWVudCBmb3Igb3VyIGdyaWQgc3lzdGVtJ3MgYC5yb3dgIGZvciB0aWdodGVyIGZvcm0gbGF5b3V0cy5cblxuLmZvcm0tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuXG4gID4gLmNvbCxcbiAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gSW5kZW50IHRoZSBsYWJlbHMgdG8gcG9zaXRpb24gcmFkaW9zL2NoZWNrYm94ZXMgYXMgaGFuZ2luZyBjb250cm9scy5cblxuLmZvcm0tY2hlY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15O1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcblxuICAmOmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIGJvdHRvbSBtYXJnaW5cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gT3ZlcnJpZGUgYmFzZSAuZm9ybS1jaGVja1xuICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDtcblxuICAvLyBVbmRvIC5mb3JtLWNoZWNrLWlucHV0IGRlZmF1bHRzIGFuZCBhZGQgc29tZSBgbWFyZ2luLXJpZ2h0YC5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuLy9cbi8vIFByb3ZpZGUgZmVlZGJhY2sgdG8gdXNlcnMgd2hlbiBmb3JtIGZpZWxkIHZhbHVlcyBhcmUgdmFsaWQgb3IgaW52YWxpZC4gV29ya3Ncbi8vIHByaW1hcmlseSBmb3IgY2xpZW50LXNpZGUgdmFsaWRhdGlvbiB2aWEgc2NvcGVkIGA6aW52YWxpZGAgYW5kIGA6dmFsaWRgXG4vLyBwc2V1ZG8tY2xhc3NlcyBidXQgYWxzbyBpbmNsdWRlcyBgLmlzLWludmFsaWRgIGFuZCBgLmlzLXZhbGlkYCBjbGFzc2VzIGZvclxuLy8gc2VydmVyIHNpZGUgdmFsaWRhdGlvbi5cblxuQGVhY2ggJHN0YXRlLCAkZGF0YSBpbiAkZm9ybS12YWxpZGF0aW9uLXN0YXRlcyB7XG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsIG1hcC1nZXQoJGRhdGEsIGNvbG9yKSwgbWFwLWdldCgkZGF0YSwgaWNvbikpO1xufVxuXG4vLyBJbmxpbmUgZm9ybXNcbi8vXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcbi8vIGZvcm1zIGJlZ2luIHN0YWNrZWQgb24gZXh0cmEgc21hbGwgKG1vYmlsZSkgZGV2aWNlcyBhbmQgdGhlbiBnbyBpbmxpbmUgd2hlblxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cbi8vXG4vLyBSZXF1aXJlcyB3cmFwcGluZyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoIGAuZm9ybS1ncm91cGAgZm9yIHByb3BlciBkaXNwbGF5IG9mXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxuXG4uZm9ybS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyBQcmV2ZW50IHNob3J0ZXIgZWxlbWVudHMgZnJvbSBncm93aW5nIHRvIHNhbWUgaGVpZ2h0IGFzIG90aGVycyAoZS5nLiwgc21hbGwgYnV0dG9ucyBncm93aW5nIHRvIG5vcm1hbCBzaXplZCBidXR0b24gaGVpZ2h0KVxuXG4gIC8vIEJlY2F1c2Ugd2UgdXNlIGZsZXgsIHRoZSBpbml0aWFsIHNpemluZyBvZiBjaGVja2JveGVzIGlzIGNvbGxhcHNlZCBhbmRcbiAgLy8gZG9lc24ndCBvY2N1cHkgdGhlIGZ1bGwtd2lkdGggKHdoaWNoIGlzIHdoYXQgd2Ugd2FudCBmb3IgeHMgZ3JpZCB0aWVyKSxcbiAgLy8gc28gd2UgZm9yY2UgdGhhdCBoZXJlLlxuICAuZm9ybS1jaGVjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBLaWNrIGluIHRoZSBpbmxpbmVcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCxcbiAgICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gb24gcmFkaW9zL2NoZWNrYm94ZXMgdGhhdCB3ZXJlIHVzZWQgZm9yIHN0YWNraW5nLCBhbmRcbiAgICAvLyB0aGVuIHVuZG8gdGhlIGZsb2F0aW5nIG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB0byBtYXRjaC5cbiAgICAuZm9ybS1jaGVjayB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuY3VzdG9tLWNvbnRyb2wge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcmAgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoKSB7XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IsICRpY29uKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stZm9udC1zaXplKTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRpY29uO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kLCAkaWNvbiAkY3VzdG9tLXNlbGVjdC1iZyBuby1yZXBlYXQgJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbiAvICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAuZm9ybS1jb250cm9sLWZpbGUge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMTAlKTtcbiAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1iZyhsaWdodGVuKCRjb2xvciwgMTAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGN1c3RvbSBmaWxlXG4gIC5jdXN0b20tZmlsZS1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEdyYWRpZW50c1xuXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJGJ0bi1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogJGJ0bi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LCAkYnRuLXBhZGRpbmcteCwgJGJ0bi1mb250LXNpemUsICRidG4tbGluZS1oZWlnaHQsICRidG4tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tZm9jdXMtYm94LXNoYWRvdywgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0OmRpc2FibGVkIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGJ0bi1mb250LXNpemUtbGcsICRidG4tbGluZS1oZWlnaHQtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRidG4tZm9udC1zaXplLXNtLCAkYnRuLWxpbmUtaGVpZ2h0LXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5cbi8vXG4vLyBCbG9jayBidXR0b25cbi8vXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuICArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6ICRidG4tYmxvY2stc3BhY2luZy15O1xuICB9XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDcuNSUpLCAkaG92ZXItYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTAlKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSksICRhY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTIuNSUpKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiBjb2xvci15aXEoJGNvbG9yKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsICRhY3RpdmUtYm9yZGVyOiAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIC8vIE1hbnVhbGx5IGRlY2xhcmUgdG8gcHJvdmlkZSBhbiBvdmVycmlkZSB0byB0aGUgYnJvd3NlciBkZWZhdWx0XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMsIDApO1xufVxuIiwiLmZhZGUge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICY6bm90KC5zaG93KSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG59XG4iLCIvLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoYDxkaXY+YClcbi5kcm9wdXAsXG4uZHJvcHJpZ2h0LFxuLmRyb3Bkb3duLFxuLmRyb3BsZWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldDtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luOiAkZHJvcGRvd24tc3BhY2VyIDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBAaW5jbHVkZSBmb250LXNpemUoJGRyb3Bkb3duLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZHJvcGRvd24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXItd2lkdGggc29saWQgJGRyb3Bkb3duLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZHJvcGRvd24tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGRyb3Bkb3duLWJveC1zaGFkb3cpO1xufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1sZWZ0IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1yaWdodCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LlxuLmRyb3B1cCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHVwKTtcbiAgfVxufVxuXG4uZHJvcHJpZ2h0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChyaWdodCk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wbGVmdCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KGxlZnQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2hlbiBlbmFibGVkIFBvcHBlci5qcywgcmVzZXQgYmFzaWMgZHJvcGRvd24gcG9zaXRpb25cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4uZHJvcGRvd24tbWVudSB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICByaWdodDogYXV0bztcbiAgICBib3R0b206IGF1dG87XG4gIH1cbn1cblxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBgPGhyPmApIHdpdGhpbiB0aGUgZHJvcGRvd25cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgbmF2LWRpdmlkZXIoJGRyb3Bkb3duLWRpdmlkZXItYmcsICRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15KTtcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcblxuICAvLyBQcmV2ZW50IGRyb3Bkb3duIG92ZXJmbG93IGlmIHRoZXJlJ3Mgbm8gcGFkZGluZ1xuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjc3MDNcbiAgQGlmICRkcm9wZG93bi1wYWRkaW5nLXkgPT0gMCB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1ob3Zlci1iZyk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBmb3IgdXNlIHdpdGggaGVhZGluZyBlbGVtZW50c1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1zbSk7XG4gIGNvbG9yOiAkZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIERyb3Bkb3duIHRleHRcbi5kcm9wZG93bi1pdGVtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xufVxuIiwiQG1peGluIGNhcmV0LWRvd24ge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtcmlnaHQge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtbGVmdCB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd247XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cDtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXJpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICRuYXYtZGl2aWRlci1jb2xvciwgJG1hcmdpbi15OiAkbmF2LWRpdmlkZXItbWFyZ2luLXkpIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46ICRtYXJnaW4teSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBtYXRjaCAuYnRuIGFsaWdubWVudCBnaXZlbiBmb250LXNpemUgaGFjayBhYm92ZVxuXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuXG4gICAgLy8gQnJpbmcgdGhlIGhvdmVyLCBmb2N1c2VkLCBhbmQgXCJhY3RpdmVcIiBidXR0b25zIHRvIHRoZSBmcm9udCB0byBvdmVybGF5XG4gICAgLy8gdGhlIGJvcmRlcnMgcHJvcGVybHlcbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmJ0bi1ncm91cCB7XG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlcixcbiAgLmRyb3B1cCAmOjphZnRlcixcbiAgLmRyb3ByaWdodCAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGxlZnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG4uYnRuLWdyb3VwLXRvZ2dsZSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgdmFsdWVcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIEZvciBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2tcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuY3VzdG9tLXNlbGVjdCxcbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGZvY3VzIHN0YXRlJ3Mgei1pbmRleFxuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIC8vIEFkZCB3aWR0aCAxJSBhbmQgZmxleC1iYXNpcyBhdXRvIHRvIGVuc3VyZSB0aGF0IGJ1dHRvbiB3aWxsIG5vdCB3cmFwIG91dFxuICAgIC8vIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUgRWRnZSsgYW5kIEZpcmVmb3guIENocm9tZSBkb2VzIG5vdCByZXF1aXJlIHRoaXMuXG4gICAgd2lkdGg6IDElO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICArIC5mb3JtLWNvbnRyb2wsXG4gICAgKyAuY3VzdG9tLXNlbGVjdCxcbiAgICArIC5jdXN0b20tZmlsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5jdXN0b20tc2VsZWN0OmZvY3VzLFxuICA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICAvLyBCcmluZyB0aGUgY3VzdG9tIGZpbGUgaW5wdXQgYWJvdmUgdGhlIGxhYmVsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB7XG4gICAgei1pbmRleDogNDtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuY3VzdG9tLXNlbGVjdCB7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHsgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTsgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxuXG4gIC8vIEN1c3RvbSBmaWxlIGlucHV0cyBoYXZlIG1vcmUgY29tcGxleCBtYXJrdXAsIHRodXMgcmVxdWlyaW5nIGRpZmZlcmVudFxuICAvLyBib3JkZXItcmFkaXVzIG92ZXJyaWRlcy5cbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIgeyBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApOyB9XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZFxuLy9cbi8vIFdoaWxlIGl0IHJlcXVpcmVzIG9uZSBleHRyYSBsYXllciBvZiBIVE1MIGZvciBlYWNoLCBkZWRpY2F0ZWQgcHJlcGVuZCBhbmRcbi8vIGFwcGVuZCBlbGVtZW50cyBhbGxvdyB1cyB0byAxKSBiZSBsZXNzIGNsZXZlciwgMikgc2ltcGxpZnkgb3VyIHNlbGVjdG9ycywgYW5kXG4vLyAzKSBzdXBwb3J0IEhUTUw1IGZvcm0gdmFsaWRhdGlvbi5cblxuLmlucHV0LWdyb3VwLXByZXBlbmQsXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxuXG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kIHsgbWFyZ2luLXJpZ2h0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuLmlucHV0LWdyb3VwLWFwcGVuZCB7IG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEFsbG93IHVzZSBvZiA8bGFiZWw+IGVsZW1lbnRzIGJ5IG92ZXJyaWRpbmcgb3VyIGRlZmF1bHQgbWFyZ2luLWJvdHRvbVxuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7IC8vIE1hdGNoIGlucHV0c1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBOdWtlIGRlZmF1bHQgbWFyZ2lucyBmcm9tIGNoZWNrYm94ZXMgYW5kIHJhZGlvcyB0byB2ZXJ0aWNhbGx5IGNlbnRlciB3aXRoaW4uXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kIHJvdW5kZWQgY29ybmVyc1xuLy9cbi8vIFRoZXNlIHJ1bGVzZXRzIG11c3QgY29tZSBhZnRlciB0aGUgc2l6aW5nIG9uZXMgdG8gcHJvcGVybHkgb3ZlcnJpZGUgc20gYW5kIGxnXG4vLyBib3JkZXItcmFkaXVzIHZhbHVlcyB3aGVuIGV4dGVuZGluZy4gVGhleSdyZSBtb3JlIHNwZWNpZmljIHRoYW4gd2UnZCBsaWtlXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cblxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuIiwiLy8gRW1iZWRkZWQgaWNvbnMgZnJvbSBPcGVuIEljb25pYy5cbi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBhbmQgY29weXJpZ2h0IDIwMTQgV2F5YnVyeS5cbi8vIGh0dHBzOi8vdXNlaWNvbmljLmNvbS9vcGVuXG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tY29udHJvbC1zcGFjZXIteDtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTsgLy8gUHV0IHRoZSBpbnB1dCBiZWhpbmQgdGhlIGxhYmVsIHNvIGl0IGRvZXNuJ3Qgb3ZlcmxheSB0ZXh0XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIC8vIHRoZSBtaXhpbiBpcyBub3QgdXNlZCBoZXJlIHRvIG1ha2Ugc3VyZSB0aGVyZSBpcyBmZWVkYmFja1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gICY6Zm9jdXM6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDdXN0b20gY29udHJvbCBpbmRpY2F0b3JzXG4vL1xuLy8gQnVpbGQgdGhlIGN1c3RvbSBjb250cm9scyBvdXQgb2YgcHNldWRvLWVsZW1lbnRzLlxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMjtcbiAgICBsZWZ0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgIGJvcmRlcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3Igc29saWQgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLy8gRm9yZWdyb3VuZCAoaWNvbilcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyO1xuICAgIGxlZnQ6IC0oJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCA1MCUgLyAjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZX07XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIGNoZWNrYm94ZXMuXG5cbi5jdXN0b20tY2hlY2tib3gge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yO1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdyk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gICAgJjppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSYWRpb3Ncbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgcmFkaW9zLlxuXG4uY3VzdG9tLXJhZGlvIHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBzd2l0Y2hlc1xuLy9cbi8vIFR3ZWFrIGEgZmV3IHRoaW5ncyBmb3Igc3dpdGNoZXNcblxuLmN1c3RvbS1zd2l0Y2gge1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcblxuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtKCRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcik7XG4gICAgICB3aWR0aDogJGN1c3RvbS1zd2l0Y2gtd2lkdGg7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiBjYWxjKCN7KCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyKX0gKyAjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMn0pO1xuICAgICAgbGVmdDogY2FsYygjey0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKX0gKyAjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMn0pO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgaGVpZ2h0OiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuMTVzIGVhc2UtaW4tb3V0LCAkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRjdXN0b20tc3dpdGNoLXdpZHRoIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwczovL3ByaW1lci5naXRodWIuaW8vLlxuLy9cblxuLmN1c3RvbS1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1jb2xvcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1zZWxlY3QtYmc7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93KTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdywgJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXBwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY3VzdG9tLXNlbGVjdC1zbSB7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtO1xuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWJvdHRvbTogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbSk7XG59XG5cbi5jdXN0b20tc2VsZWN0LWxnIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc7XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnKTtcbn1cblxuXG4vLyBGaWxlXG4vL1xuLy8gQ3VzdG9tIGZpbGUgaW5wdXQuXG5cbi5jdXN0b20tZmlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY3VzdG9tLWZpbGUtaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMDtcblxuICAmOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgYm94LXNoYWRvdzogJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAmOmRpc2FibGVkIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc7XG4gIH1cblxuICBAZWFjaCAkbGFuZywgJHZhbHVlIGluICRjdXN0b20tZmlsZS10ZXh0IHtcbiAgICAmOmxhbmcoI3skbGFuZ30pIH4gLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBjb250ZW50OiAkdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgfiAuY3VzdG9tLWZpbGUtbGFiZWxbZGF0YS1icm93c2VdOjphZnRlciB7XG4gICAgY29udGVudDogYXR0cihkYXRhLWJyb3dzZSk7XG4gIH1cbn1cblxuLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRjdXN0b20tZmlsZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjdXN0b20tZmlsZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tZmlsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWJnO1xuICBib3JkZXI6ICRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1maWxlLWJveC1zaGFkb3cpO1xuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjtcbiAgICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gICAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjtcbiAgICBjb250ZW50OiBcIkJyb3dzZVwiO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tZmlsZS1idXR0b24tYmcpO1xuICAgIGJvcmRlci1sZWZ0OiBpbmhlcml0O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAwKTtcbiAgfVxufVxuXG4vLyBSYW5nZVxuLy9cbi8vIFN0eWxlIHJhbmdlIGlucHV0cyB0aGUgc2FtZSBhY3Jvc3MgYnJvd3NlcnMuIFZlbmRvci1zcGVjaWZpYyBydWxlcyBmb3IgcHNldWRvXG4vLyBlbGVtZW50cyBjYW5ub3QgYmUgbWl4ZWQuIEFzIHN1Y2gsIHRoZXJlIGFyZSBubyBzaGFyZWQgc3R5bGVzIGZvciBmb2N1cyBvclxuLy8gYWN0aXZlIHN0YXRlcyBvbiBwcmVmaXhlZCBzZWxlY3RvcnMuXG5cbi5jdXN0b20tcmFuZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKCN7JGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHR9ICsgI3skY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyfSk7XG4gIHBhZGRpbmc6IDA7IC8vIE5lZWQgdG8gcmVzZXQgcGFkZGluZ1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgLy8gUHNldWRvLWVsZW1lbnRzIG11c3QgYmUgc3BsaXQgYWNyb3NzIG11bHRpcGxlIHJ1bGVzZXRzIHRvIGhhdmUgYW4gZWZmZWN0LlxuICAgIC8vIE5vIGJveC1zaGFkb3coKSBtaXhpbiBmb3IgZm9jdXMgYWNjZXNzaWJpbGl0eS5cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIgICAgIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1zLXRodW1iICAgICAgICAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgfVxuXG4gICY6Oi1tb3otZm9jdXMtb3V0ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6ICgkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodCAtICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0KSAvIDI7IC8vIFdlYmtpdCBzcGVjaWZpY1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFdoeT9cbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZpcmVmb3ggc3BlY2lmaWM/XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwOyAvLyBFZGdlIHNwZWNpZmljXG4gICAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7IC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIG1hcmdpbi1sZWZ0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7ICAvLyBXb3JrYXJvdW5kIHRoYXQgb3ZlcmZsb3dlZCBib3gtc2hhZG93IGlzIGhpZGRlbi5cbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1zLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCAvIDI7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgLy8gYXJiaXRyYXJ5P1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbi5jdXN0b20tZmlsZS1sYWJlbCxcbi5jdXN0b20tc2VsZWN0IHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEtpY2tzdGFydCBhbnkgbmF2aWdhdGlvbiBjb21wb25lbnQgd2l0aCBhIHNldCBvZiBzdHlsZSByZXNldHMuIFdvcmtzIHdpdGhcbi8vIGA8bmF2PmBzIG9yIGA8dWw+YHMuXG5cbi5uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRuYXYtbGluay1wYWRkaW5nLXkgJG5hdi1saW5rLXBhZGRpbmcteDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuXG4gIC5uYXYtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAubmF2LWxpbmsge1xuICAgIGJvcmRlcjogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICAubmF2LWl0ZW0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy9cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvLyBDb250ZW50c1xuLy9cbi8vIE5hdmJhclxuLy8gTmF2YmFyIGJyYW5kXG4vLyBOYXZiYXIgbmF2XG4vLyBOYXZiYXIgdGV4dFxuLy8gTmF2YmFyIGRpdmlkZXJcbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vLyBOYXZiYXIgcG9zaXRpb25cbi8vIE5hdmJhciB0aGVtZXNcblxuXG4vLyBOYXZiYXJcbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gYWxsb3cgdXMgdG8gZG8gdGhlIGxpbmUgYnJlYWsgZm9yIGNvbGxhcHNpbmcgY29udGVudFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIHNwYWNlIG91dCBicmFuZCBmcm9tIGxvZ29cbiAgcGFkZGluZzogJG5hdmJhci1wYWRkaW5nLXkgJG5hdmJhci1wYWRkaW5nLXg7XG5cbiAgLy8gQmVjYXVzZSBmbGV4IHByb3BlcnRpZXMgYXJlbid0IGluaGVyaXRlZCwgd2UgbmVlZCB0byByZWRlY2xhcmUgdGhlc2UgZmlyc3RcbiAgLy8gZmV3IHByb3BlcnRpZXMgc28gdGhhdCBjb250ZW50IG5lc3RlZCB3aXRoaW4gYmVoYXZlIHByb3Blcmx5LlxuICA+IC5jb250YWluZXIsXG4gID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgYnJhbmRcbi8vXG4vLyBVc2VkIGZvciBicmFuZCwgcHJvamVjdCwgb3Igc2l0ZSBuYW1lcy5cblxuLm5hdmJhci1icmFuZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdmJhci1icmFuZC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1yaWdodDogJG5hdmJhci1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2XG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIChkb2Vzbid0IHJlcXVpcmUgYC5uYXZgLCBidXQgZG9lcyBtYWtlIHVzZSBvZiBgLm5hdi1saW5rYCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gY2Fubm90IHVzZSBgaW5oZXJpdGAgdG8gZ2V0IHRoZSBgLm5hdmJhcmBzIHZhbHVlXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGV4dFxuLy9cbi8vXG5cbi5uYXZiYXItdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xufVxuXG5cbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXG4vLyBQb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZSBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi8vIFdoZW4gY29sbGFwc2VkLCBwcmV2ZW50IHRoZSB0b2dnbGVhYmxlIG5hdmJhciBjb250ZW50cyBmcm9tIGFwcGVhcmluZyBpblxuLy8gdGhlIGRlZmF1bHQgZmxleGJveCByb3cgb3JpZW50YXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcbiAgLy8gcHJvcGVybHkgdmVydGljYWxseS4gQ2FuIGJlIGVhc2lseSBvdmVycmlkZGVuIHdpdGggZmxleCB1dGlsaXRpZXMuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkgJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZiYXItdG9nZ2xlci1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi8vIEtlZXAgYXMgYSBzZXBhcmF0ZSBlbGVtZW50IHNvIGZvbGtzIGNhbiBlYXNpbHkgb3ZlcnJpZGUgaXQgd2l0aCBhbm90aGVyIGljb25cbi8vIG9yIGltYWdlIGZpbGUgYXMgbmVlZGVkLlxuLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xufVxuXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC5uYXZiYXItZXhwYW5kLSpgIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgY29uZmlndXJpbmdcbi8vIHdoZXJlIHlvdXIgbmF2YmFyIGNvbGxhcHNlcy5cbi5uYXZiYXItZXhwYW5kIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvciBuZXN0aW5nIGNvbnRhaW5lcnMsIGhhdmUgdG8gcmVkZWNsYXJlIGZvciBhbGlnbm1lbnQgcHVycG9zZXNcbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgICAgLy8gQ2hhbmdlcyBmbGV4LWJhc2VzIHRvIGF1dG8gYmVjYXVzZSBvZiBhbiBJRTEwIGJ1Z1xuICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGhlbWVzXG4vL1xuLy8gU3R5bGVzIGZvciBzd2l0Y2hpbmcgYmV0d2VlbiBuYXZiYXJzIHdpdGggbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kLlxuXG4vLyBEYXJrIGxpbmtzIGFnYWluc3QgYSBsaWdodCBiYWNrZ3JvdW5kXG4ubmF2YmFyLWxpZ2h0IHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZztcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBXaGl0ZSBsaW5rcyBhZ2FpbnN0IGEgZGFyayBiYWNrZ3JvdW5kXG4ubmF2YmFyLWRhcmsge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yMjc0MCNpc3N1ZWNvbW1lbnQtMzA1ODY4MTA2XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgPiAubGlzdC1ncm91cDpsYXN0LWNoaWxkIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci14O1xuICBjb2xvcjogJGNhcmQtY29sb3I7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtc3BhY2VyLXk7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLSRjYXJkLXNwYWNlci15IC8gMjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbiAgfVxufVxuXG4vL1xuLy8gT3B0aW9uYWwgdGV4dHVhbCBjYXBzXG4vL1xuXG4uY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlcyB0aGUgZGVmYXVsdCBtYXJnaW4tYm90dG9tIG9mIDxoTj5cbiAgY29sb3I6ICRjYXJkLWNhcC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItYm90dG9tOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzIDAgMCk7XG4gIH1cblxuICArIC5saXN0LWdyb3VwIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci10b3A6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICB9XG59XG5cblxuLy9cbi8vIEhlYWRlciBuYXZzXG4vL1xuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogLSRjYXJkLXNwYWNlci14IC8gMjtcbiAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLXNwYWNlci15O1xuICBtYXJnaW4tbGVmdDogLSRjYXJkLXNwYWNlci14IC8gMjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xuICBtYXJnaW4tbGVmdDogLSRjYXJkLXNwYWNlci14IC8gMjtcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZztcbn1cblxuLmNhcmQtaW1nIHtcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ2FyZCBpbWFnZSBjYXBzXG4uY2FyZC1pbWctdG9wIHtcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZy1ib3R0b20ge1xuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBDYXJkIGRlY2tcblxuLmNhcmQtZGVjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWRlY2stbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtZGVjay1tYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGRlZmF1bHRcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ2FyZCBncm91cHNcbi8vXG5cbi5jYXJkLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWdyb3VwLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICAgID4gLmNhcmQge1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICArIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXG4gICAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENvbHVtbnNcbi8vXG5cbi5jYXJkLWNvbHVtbnMge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtY29sdW1ucy1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgY29sdW1uLWNvdW50OiAkY2FyZC1jb2x1bW5zLWNvdW50O1xuICAgIGNvbHVtbi1nYXA6ICRjYXJkLWNvbHVtbnMtZ2FwO1xuICAgIG9ycGhhbnM6IDE7XG4gICAgd2lkb3dzOiAxO1xuXG4gICAgLmNhcmQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyBEb24ndCBsZXQgdGhlbSB2ZXJ0aWNhbGx5IHNwYW4gbXVsdGlwbGUgY29sdW1uc1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIERvbid0IGxldCB0aGVpciB3aWR0aCBjaGFuZ2VcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQWNjb3JkaW9uXG4vL1xuXG4uYWNjb3JkaW9uIHtcbiAgPiAuY2FyZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAuY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuXG4gICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cbiIsIi5icmVhZGNydW1iIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAkYnJlYWRjcnVtYi1wYWRkaW5nLXkgJGJyZWFkY3J1bWItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJlYWRjcnVtYi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIC8vIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBicmVhZGNydW1icyAoYnkgZGVmYXVsdCwgYSBmb3J3YXJkLXNsYXNoOiBcIi9cIilcbiAgKyAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIFN1cHByZXNzIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3IgaW4gbW9kZXJuIGJyb3dzZXJzXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjtcbiAgICAgIGNvbnRlbnQ6ICRicmVhZGNydW1iLWRpdmlkZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gSUU5LTExIGhhY2sgdG8gcHJvcGVybHkgaGFuZGxlIGh5cGVybGluayB1bmRlcmxpbmVzIGZvciBicmVhZGNydW1icyBidWlsdFxuICAvLyB3aXRob3V0IGA8dWw+YHMuIFRoZSBgOjpiZWZvcmVgIHBzZXVkby1lbGVtZW50IGdlbmVyYXRlcyBhbiBlbGVtZW50XG4gIC8vICp3aXRoaW4qIHRoZSAuYnJlYWRjcnVtYi1pdGVtIGFuZCB0aGVyZWJ5IGluaGVyaXRzIHRoZSBgdGV4dC1kZWNvcmF0aW9uYC5cbiAgLy9cbiAgLy8gVG8gdHJpY2sgSUUgaW50byBzdXBwcmVzc2luZyB0aGUgdW5kZXJsaW5lLCB3ZSBnaXZlIHRoZSBwc2V1ZG8tZWxlbWVudCBhblxuICAvLyB1bmRlcmxpbmUgYW5kIHRoZW4gaW1tZWRpYXRlbHkgcmVtb3ZlIGl0LlxuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yO1xuICB9XG59XG4iLCIucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xufVxuXG4ucGFnZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZ2luYXRpb24tcGFkZGluZy15ICRwYWdpbmF0aW9uLXBhZGRpbmcteDtcbiAgbWFyZ2luLWxlZnQ6IC0kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg7XG4gIGxpbmUtaGVpZ2h0OiAkcGFnaW5hdGlvbi1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDI7XG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcbiAgICBib3gtc2hhZG93OiAkcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLy8gT3BpbmlvbmF0ZWQ6IHJlbW92ZSB0aGUgXCJoYW5kXCIgY3Vyc29yIHNldCBwcmV2aW91c2x5IGZvciAucGFnZS1saW5rXG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRsaW5lLWhlaWdodC1sZywgJGJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAucGFnZS1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIH1cblxuICAucGFnZS1pdGVtIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIFJlcXVpcmVzIG9uZSBvZiB0aGUgY29udGV4dHVhbCwgY29sb3IgbW9kaWZpZXIgY2xhc3NlcyBmb3IgYGNvbG9yYCBhbmRcbi8vIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZy15ICRiYWRnZS1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmFkZ2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRiYWRnZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYmFkZ2UtdHJhbnNpdGlvbik7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi8vIFBpbGwgYmFkZ2VzXG4vL1xuLy8gTWFrZSB0aGVtIGV4dHJhIHJvdW5kZWQgd2l0aCBhIG1vZGlmaWVyIHRvIHJlcGxhY2UgdjMncyBiYWRnZXMuXG5cbi5iYWRnZS1waWxsIHtcbiAgcGFkZGluZy1yaWdodDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBwYWRkaW5nLWxlZnQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ29sb3JzXG4vL1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgYmFkZ2VzIGdldCBkYXJrZXIgb24gOmhvdmVyKS5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5iYWRnZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuIiwiQG1peGluIGJhZGdlLXZhcmlhbnQoJGJnKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLCAxMCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJhZGdlLWZvY3VzLXdpZHRoIHJnYmEoJGJnLCAuNSk7XG4gICAgfVxuICB9XG59XG4iLCIuanVtYm90cm9uIHtcbiAgcGFkZGluZzogJGp1bWJvdHJvbi1wYWRkaW5nICgkanVtYm90cm9uLXBhZGRpbmcgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogJGp1bWJvdHJvbi1wYWRkaW5nO1xuICBjb2xvcjogJGp1bWJvdHJvbi1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGp1bWJvdHJvbi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIHBhZGRpbmc6ICgkanVtYm90cm9uLXBhZGRpbmcgKiAyKSAkanVtYm90cm9uLXBhZGRpbmc7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFsZXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRhbGVydC1tYXJnaW4tYm90dG9tO1xuICBib3JkZXI6ICRhbGVydC1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGFsZXJ0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuLmFsZXJ0LWhlYWRpbmcge1xuICAvLyBTcGVjaWZpZWQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgJGhlYWRpbmdzLWNvbG9yXG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xuLmFsZXJ0LWxpbmsge1xuICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG59XG5cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRjbG9zZS1mb250LXNpemUgKyAkYWxlcnQtcGFkZGluZy14ICogMjtcblxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxuICAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYWxlcnQtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYm9yZGVyLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtY29sb3ItbGV2ZWwpKTtcbiAgfVxufVxuIiwiQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuXG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gRGlzYWJsZSBhbmltYXRpb24gaWYgdHJhbnNpdGlvbnMgYXJlIGRpc2FibGVkXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAgIGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcHJvZ3Jlc3MtaGVpZ2h0IDA7IH1cbiAgICB0byB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICB9XG59XG5cbi5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZm9yY2Ugcm91bmRlZCBjb3JuZXJzIGJ5IGNyb3BwaW5nIGl0XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkcHJvZ3Jlc3MtZm9udC1zaXplKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwcm9ncmVzcy1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkcHJvZ3Jlc3MtYm94LXNoYWRvdyk7XG59XG5cbi5wcm9ncmVzcy1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6ICRwcm9ncmVzcy1iYXItY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iZztcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb24pO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCk7XG4gIGJhY2tncm91bmQtc2l6ZTogJHByb2dyZXNzLWhlaWdodCAkcHJvZ3Jlc3MtaGVpZ2h0O1xufVxuXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIC5wcm9ncmVzcy1iYXItYW5pbWF0ZWQge1xuICAgIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nO1xuXG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5tZWRpYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubWVkaWEtYm9keSB7XG4gIGZsZXg6IDE7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGJlY29tZSAxMDAlIGJ5IGRlZmF1bHQgdGhvdWdoKVxuICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgaW5oZXJpdClcblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgei1pbmRleDogMTsgLy8gUGxhY2UgaG92ZXIvZm9jdXMgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWhvdmVyLWJnO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vLyBJbmRpdmlkdWFsIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2Ugb24gYGxpYHMgb3IgYGRpdmBzIHdpdGhpbiB0aGUgYC5saXN0LWdyb3VwYCBwYXJlbnQuXG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteSAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDtcbiAgLy8gUGxhY2UgdGhlIGJvcmRlciBvbiB0aGUgbGlzdCBpdGVtcyBhbmQgbmVnYXRpdmUgbWFyZ2luIHVwIGZvciBiZXR0ZXIgc3R5bGluZ1xuICBtYXJnaW4tYm90dG9tOiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICBjb2xvcjogJGxpc3QtZ3JvdXAtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWJnO1xuICBib3JkZXI6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1ncm91cC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XG4gIH1cblxuICAvLyBJbmNsdWRlIGJvdGggaGVyZSBmb3IgYDxhPmBzIGFuZCBgPGJ1dHRvbj5gc1xuICAmLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vLyBIb3Jpem9udGFsXG4vL1xuLy8gQ2hhbmdlIHRoZSBsYXlvdXQgb2YgbGlzdCBncm91cCBpdGVtcyBmcm9tIHZlcnRpY2FsIChkZWZhdWx0KSB0byBob3Jpem9udGFsLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsI3skaW5maXh9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gRmx1c2ggbGlzdCBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgbGlzdCBncm91cCBpdGVtcyBlZGdlLXRvLWVkZ2UuIE1vc3Rcbi8vIHVzZWZ1bCB3aXRoaW4gb3RoZXIgY29tcG9uZW50cyAoZS5nLiwgY2FyZHMpLlxuXG4ubGlzdC1ncm91cC1mbHVzaCB7XG4gIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAtOSksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgNikpO1xufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgICYubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY2xvc2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIG9wYWNpdHk6IC41O1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIG9wYWNpdHk6IC43NTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkaXRpb25hbCBwcm9wZXJ0aWVzIGZvciBidXR0b24gdmVyc2lvblxuLy8gaU9TIHJlcXVpcmVzIHRoZSBidXR0b24gZWxlbWVudCBpbnN0ZWFkIG9mIGFuIGFuY2hvciB0YWcuXG4vLyBJZiB5b3Ugd2FudCB0aGUgYW5jaG9yIHZlcnNpb24sIGl0IHJlcXVpcmVzIGBocmVmPVwiI1wiYC5cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG4vLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5hLmNsb3NlLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCIudG9hc3Qge1xuICBtYXgtd2lkdGg6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGNoZWFwIHJvdW5kZWQgY29ybmVycyBvbiBuZXN0ZWQgaXRlbXNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b2FzdC1mb250LXNpemUpO1xuICBjb2xvcjogJHRvYXN0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkdG9hc3QtYm9yZGVyLXdpZHRoIHNvbGlkICR0b2FzdC1ib3JkZXItY29sb3I7XG4gIGJveC1zaGFkb3c6ICR0b2FzdC1ib3gtc2hhZG93O1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gIG9wYWNpdHk6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvYXN0LWJvcmRlci1yYWRpdXMpO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHRvYXN0LXBhZGRpbmcteDtcbiAgfVxuXG4gICYuc2hvd2luZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYuc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udG9hc3QtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHRvYXN0LXBhZGRpbmcteSAkdG9hc3QtcGFkZGluZy14O1xuICBjb2xvcjogJHRvYXN0LWhlYWRlci1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXItYm90dG9tOiAkdG9hc3QtYm9yZGVyLXdpZHRoIHNvbGlkICR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yO1xufVxuXG4udG9hc3QtYm9keSB7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXg7IC8vIGFwcGx5IHRvIGJvdGggdmVydGljYWwgYW5kIGhvcml6b250YWxcbn1cbiIsIi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzdHVmZlxuXG5cbi5tb2RhbC1vcGVuIHtcbiAgLy8gS2lsbCB0aGUgc2Nyb2xsIG9uIHRoZSBib2R5XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLm1vZGFsIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvbid0IHVzZSBgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO2AgZHVlIHRvIGFcbiAgLy8gZ25hcmx5IGlPUyBTYWZhcmkgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzQyXG4gIC8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTc2OTVcbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbjtcbiAgLy8gYWxsb3cgY2xpY2tzIHRvIHBhc3MgdGhyb3VnaCBmb3IgY3VzdG9tIGNsaWNrIGhhbmRsaW5nIHRvIGNsb3NlIG1vZGFsXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gIC5tb2RhbC5mYWRlICYge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJG1vZGFsLXRyYW5zaXRpb24pO1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLWZhZGUtdHJhbnNmb3JtO1xuICB9XG4gIC5tb2RhbC5zaG93ICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNob3ctdHJhbnNmb3JtO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gIGRpc3BsYXk6IGZsZXg7IC8vIElFMTAvMTFcbiAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gI3skbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDJ9KTtcblxuICAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtICN7JG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyfSk7IC8vIElFMTAvMTFcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLm1vZGFsLWhlYWRlcixcbiAgLm1vZGFsLWZvb3RlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gI3skbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDJ9KTtcblxuICAvLyBFbnN1cmUgYG1vZGFsLWRpYWxvZy1jZW50ZXJlZGAgZXh0ZW5kcyB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIHZpZXcgKElFMTAvMTEpXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IC8vIElFMTBcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRtb2RhbC1kaWFsb2ctbWFyZ2luICogMn0pO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAvLyBFbnN1cmUgYC5tb2RhbC1ib2R5YCBzaG93cyBzY3JvbGxiYXIgKElFMTAvMTEpXG4gICYubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7IC8vIEVuc3VyZSBgLm1vZGFsLWNvbnRlbnRgIGV4dGVuZHMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHBhcmVudCBgLm1vZGFsLWRpYWxvZ2BcbiAgLy8gY291bnRlcmFjdCB0aGUgcG9pbnRlci1ldmVudHM6IG5vbmU7IGluIHRoZSAubW9kYWwtZGlhbG9nXG4gIGNvbG9yOiAkbW9kYWwtY29udGVudC1jb2xvcjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tkcm9wO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OyB9XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC8vIHNvIHRoZSBjbG9zZSBidG4gYWx3YXlzIHN0YXlzIG9uIHRoZSB1cHBlciByaWdodCBjb3JuZXJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBQdXQgbW9kYWwgaGVhZGVyIGVsZW1lbnRzICh0aXRsZSBhbmQgZGlzbWlzcykgb24gb3Bwb3NpdGUgZW5kc1xuICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206ICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzKTtcblxuICAuY2xvc2Uge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgICAvLyBhdXRvIG9uIHRoZSBsZWZ0IGZvcmNlIGljb24gdG8gdGhlIHJpZ2h0IGV2ZW4gd2hlbiB0aGVyZSBpcyBubyAubW9kYWwtdGl0bGVcbiAgICBtYXJnaW46ICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpIGF1dG87XG4gIH1cbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIHNvIHRoYXQgdGhlIGJvZHkgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlXG4gIC8vIHdoZW4gc2hvdWxkIHRoZXJlIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbiAgYm9yZGVyLXRvcDogJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIEVhc2lseSBwbGFjZSBtYXJnaW4gYmV0d2VlbiBmb290ZXIgZWxlbWVudHNcbiAgPiA6bm90KDpmaXJzdC1jaGlsZCkgeyBtYXJnaW4tbGVmdDogLjI1cmVtOyB9XG4gID4gOm5vdCg6bGFzdC1jaGlsZCkgeyBtYXJnaW4tcmlnaHQ6IC4yNXJlbTsgfVxufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1tZDtcbiAgICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gI3skbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMn0pO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtICN7JG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDJ9KTtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyfSk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMn0pO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXApO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbGc7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAubW9kYWwteGwgeyBtYXgtd2lkdGg6ICRtb2RhbC14bDsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogJHRvb2x0aXAtbWFyZ2luO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b29sdGlwLWZvbnQtc2l6ZSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLnNob3cgeyBvcGFjaXR5OiAkdG9vbHRpcC1vcGFjaXR5OyB9XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtdG9wIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICBib3R0b206IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1yaWdodCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYm90dG9tIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICB0b3A6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1sZWZ0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWxlZnQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b29sdGlwLWJvcmRlci1yYWRpdXMpO1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi5wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtcG9wb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogJHBvcG92ZXItbWF4LXdpZHRoO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRwb3BvdmVyLWZvbnQtc2l6ZSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSBwb3BvdmVyJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcG9wb3Zlci1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkcG9wb3Zlci1ib3gtc2hhZG93KTtcblxuICAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgbWFyZ2luOiAwICRib3JkZXItcmFkaXVzLWxnO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci10b3Age1xuICBtYXJnaW4tYm90dG9tOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIGJvdHRvbTogY2FsYygoI3skcG9wb3Zlci1hcnJvdy1oZWlnaHR9ICsgI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAqIC0xKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgbGVmdDogY2FsYygoI3skcG9wb3Zlci1hcnJvdy1oZWlnaHR9ICsgI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAqIC0xKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkYm9yZGVyLXJhZGl1cy1sZyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHRvcDogY2FsYygoI3skcG9wb3Zlci1hcnJvdy1oZWlnaHR9ICsgI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAqIC0xKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyB3aWxsIHJlbW92ZSB0aGUgcG9wb3Zlci1oZWFkZXIncyBib3JkZXIganVzdCBiZWxvdyB0aGUgYXJyb3dcbiAgLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoIC8gMjtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1oZWFkZXItYmc7XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICByaWdodDogY2FsYygoI3skcG9wb3Zlci1hcnJvdy1oZWlnaHR9ICsgI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAqIC0xKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkYm9yZGVyLXJhZGl1cy1sZyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1hdXRvIHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItdG9wO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItcmlnaHQ7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItYm90dG9tO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1sZWZ0O1xuICB9XG59XG5cblxuLy8gT2Zmc2V0IHRoZSBwb3BvdmVyIHRvIGFjY291bnQgZm9yIHRoZSBwb3BvdmVyIGFycm93XG4ucG9wb3Zlci1oZWFkZXIge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gUmVib290XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBjb2xvcjogJHBvcG92ZXItaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1oZWFkZXItYmc7XG4gIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCBkYXJrZW4oJHBvcG92ZXItaGVhZGVyLWJnLCA1JSk7XG4gICRvZmZzZXQtYm9yZGVyLXdpZHRoOiBjYWxjKCN7JGJvcmRlci1yYWRpdXMtbGd9IC0gI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG9mZnNldC1ib3JkZXItd2lkdGgpO1xuXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnBvcG92ZXItYm9keSB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWJvZHktcGFkZGluZy15ICRwb3BvdmVyLWJvZHktcGFkZGluZy14O1xuICBjb2xvcjogJHBvcG92ZXItYm9keS1jb2xvcjtcbn1cbiIsIi8vIE5vdGVzIG9uIHRoZSBjbGFzc2VzOlxuLy9cbi8vIDEuIC5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHNob3VsZCBpZGVhbGx5IGJlIHBhbi15ICh0byBhbGxvdyBmb3IgdXNlcnMgdG8gc2Nyb2xsIHZlcnRpY2FsbHkpXG4vLyAgICBldmVuIHdoZW4gdGhlaXIgc2Nyb2xsIGFjdGlvbiBzdGFydGVkIG9uIGEgY2Fyb3VzZWwsIGJ1dCBmb3IgY29tcGF0aWJpbGl0eSAod2l0aCBGaXJlZm94KVxuLy8gICAgd2UncmUgcHJldmVudGluZyBhbGwgYWN0aW9ucyBpbnN0ZWFkXG4vLyAyLiBUaGUgLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmNhcm91c2VsLWl0ZW0tcmlnaHQgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGVyZVxuLy8gICAgdGhlIGFjdGl2ZSBzbGlkZSBpcyBoZWFkaW5nLlxuLy8gMy4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtIGlzIHRoZSBjdXJyZW50IHNsaWRlLlxuLy8gNC4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB0aGUgY3VycmVudFxuLy8gICAgc2xpZGUgaW4gaXRzIGluLXRyYW5zaXRpb24gc3RhdGUuIE9ubHkgb25lIG9mIHRoZXNlIG9jY3VycyBhdCBhIHRpbWUuXG4vLyA1LiAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0XG4vLyAgICBpcyB0aGUgdXBjb21pbmcgc2xpZGUgaW4gdHJhbnNpdGlvbi5cblxuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2Fyb3VzZWwucG9pbnRlci1ldmVudCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi5jYXJvdXNlbC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtdHJhbnNpdGlvbik7XG59XG5cbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLWxlZnQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1wcmV2Om5vdCguY2Fyb3VzZWwtaXRlbS1yaWdodCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSB0cmFuc2l0aW9uc1xuLy9cblxuLmNhcm91c2VsLWZhZGUge1xuICAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbiAgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsXG4gIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgei1pbmRleDogMTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgei1pbmRleDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMHMgJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gb3BhY2l0eSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vL1xuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG4gIC8vIFVzZSBmbGV4IGZvciBhbGlnbm1lbnQgKDEtMylcbiAgZGlzcGxheTogZmxleDsgLy8gMS4gYWxsb3cgZmxleCBzdHlsZXNcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gMi4gdmVydGljYWxseSBjZW50ZXIgY29udGVudHNcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIDMuIGhvcml6b250YWxseSBjZW50ZXIgY29udGVudHNcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uKTtcblxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCA1MCUgLyAxMDAlIDEwMCU7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAkY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAkY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc7XG59XG5cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gb3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIG92ZXJyaWRlIDxvbD4gZGVmYXVsdFxuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgLy8gVXNlIHRyYW5zcGFyZW50IGJvcmRlcnMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgYm9yZGVyLXRvcDogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDI7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgLyAyO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbiIsIi8vXG4vLyBSb3RhdGluZyBib3JkZXJcbi8vXG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ib3JkZXIge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuLnNwaW5uZXItYm9yZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGg7XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0O1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIGJvcmRlcjogJHNwaW5uZXItYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3Bpbm5lci1ib3JkZXIgLjc1cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi5zcGlubmVyLWJvcmRlci1zbSB7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aC1zbTtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQtc207XG4gIGJvcmRlci13aWR0aDogJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtO1xufVxuXG4vL1xuLy8gR3Jvd2luZyBjaXJjbGVcbi8vXG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5zcGlubmVyLWdyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiBzcGlubmVyLWdyb3cgLjc1cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi5zcGlubmVyLWdyb3ctc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi5hbGlnbi1iYXNlbGluZSAgICB7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9IC8vIEJyb3dzZXIgZGVmYXVsdFxuLmFsaWduLXRvcCAgICAgICAgIHsgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50OyB9XG4uYWxpZ24tbWlkZGxlICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1ib3R0b20gICAgICB7IHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtYm90dG9tIHsgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LXRvcCAgICB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcCAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0sXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJnLWdyYWRpZW50LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGJnLXZhcmlhbnQoXCIuYmctI3skY29sb3J9XCIsICR2YWx1ZSk7XG59XG5cbkBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIEBpbmNsdWRlIGJnLWdyYWRpZW50LXZhcmlhbnQoXCIuYmctZ3JhZGllbnQtI3skY29sb3J9XCIsICR2YWx1ZSk7XG4gIH1cbn1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5iZy10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gQm9yZGVyXG4vL1xuXG4uYm9yZGVyICAgICAgICAgeyBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcCAgICAgeyBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodCAgIHsgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20gIHsgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdCAgICB7IGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLTAgICAgICAgIHsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQtMCAgeyBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20tMCB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0LTAgICB7IGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5ib3JkZXItI3skY29sb3J9IHtcbiAgICBib3JkZXItY29sb3I6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5ib3JkZXItd2hpdGUge1xuICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vL1xuLy8gQm9yZGVyLXJhZGl1c1xuLy9cblxuLnJvdW5kZWQtc20ge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXRvcCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxlZnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZyB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1waWxsIHtcbiAgYm9yZGVyLXJhZGl1czogJHJvdW5kZWQtcGlsbCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0wIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIGNvbW1vbiBgZGlzcGxheWAgdmFsdWVzXG4vL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAgIC5kI3skaW5maXh9LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgdG9nZ2xpbmcgYGRpc3BsYXlgIGluIHByaW50XG4vL1xuXG5AbWVkaWEgcHJpbnQge1xuICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAuZC1wcmludC0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLmVtYmVkLXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuQGVhY2ggJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvIGluICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Mge1xuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teDogbnRoKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbywgMSk7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAyKTtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS0jeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14fWJ5I3skZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teX0ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teSAvICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxvYXQjeyRpbmZpeH0tbGVmdCAgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tbm9uZSAgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJG92ZXJmbG93cyB7XG4gIC5vdmVyZmxvdy0jeyR2YWx1ZX0geyBvdmVyZmxvdzogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb21tb24gdmFsdWVzXG5AZWFjaCAkcG9zaXRpb24gaW4gJHBvc2l0aW9ucyB7XG4gIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0geyBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5zdGlja3ktdG9wIHtcbiAgQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gIH1cbn1cbiIsIi8vXG4vLyBTY3JlZW5yZWFkZXJzXG4vL1xuXG4uc3Itb25seSB7XG4gIEBpbmNsdWRlIHNyLW9ubHkoKTtcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGUoKTtcbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwczovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uc2hhZG93LXNtIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctc20gIWltcG9ydGFudDsgfVxuLnNoYWRvdyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93ICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbGcgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sZyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LW5vbmUgeyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBXaWR0aCBhbmQgaGVpZ2h0XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluICh3aWR0aDogdywgaGVpZ2h0OiBoKSB7XG4gIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzaXplcyB7XG4gICAgLiN7JGFiYnJldn0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLm13LTEwMCB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4ubWgtMTAwIHsgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8vIFZpZXdwb3J0IGFkZGl0aW9uYWwgaGVscGVyc1xuXG4ubWluLXZ3LTEwMCB7IG1pbi13aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLm1pbi12aC0xMDAgeyBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG5cbi52dy0xMDAgeyB3aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLnZoLTEwMCB7IGhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuIiwiLy9cbi8vIFN0cmV0Y2hlZCBsaW5rXG4vL1xuXG4uc3RyZXRjaGVkLWxpbmsge1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIC8vIEp1c3QgaW4gY2FzZSBgcG9pbnRlci1ldmVudHM6IG5vbmVgIGlzIHNldCBvbiBhIHBhcmVudFxuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy8gSUUxMCBidWdmaXgsIHNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xNjk0Nzk2Ny9pZTEwLWhvdmVyLXBzZXVkby1jbGFzcy1kb2VzbnQtd29yay13aXRob3V0LWJhY2tncm91bmQtY29sb3JcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gTWFyZ2luIGFuZCBQYWRkaW5nXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgICAgLiN7JGFiYnJldn0jeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9dCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS10b3A6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1sI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbnMgKGUuZy4sIHdoZXJlIGAubWItbjFgIGlzIG5lZ2F0aXZlIHZlcnNpb24gb2YgYC5tYi0xYClcbiAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICBAaWYgJHNpemUgIT0gMCB7XG4gICAgICAgIC5tI3skaW5maXh9LW4jeyRzaXplfSB7IG1hcmdpbjogLSRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAubXQjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tciN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tbCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29tZSBzcGVjaWFsIG1hcmdpbiB1dGlsc1xuICAgIC5tI3skaW5maXh9LWF1dG8geyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5tdCN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1yI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYiN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1sI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVGV4dFxuLy9cblxuLnRleHQtbW9ub3NwYWNlIHsgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWltcG9ydGFudDsgfVxuXG4vLyBBbGlnbm1lbnRcblxuLnRleHQtanVzdGlmeSAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXdyYXAgICAgIHsgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG4udGV4dC1ub3dyYXAgICB7IHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxuLnRleHQtdHJ1bmNhdGUgeyBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlOyB9XG5cbi8vIFJlc3BvbnNpdmUgYWxpZ25tZW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC50ZXh0I3skaW5maXh9LWxlZnQgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG5cbi50ZXh0LWxvd2VyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXVwcGVyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi8vIFdlaWdodCBhbmQgaXRhbGljc1xuXG4uZm9udC13ZWlnaHQtbGlnaHQgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWxpZ2h0ZXIgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ZXIgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LW5vcm1hbCAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZCAgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZGVyICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LWl0YWxpYyAgICAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcblxuLnRleHQtd2hpdGUgeyBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudChcIi50ZXh0LSN7JGNvbG9yfVwiLCAkdmFsdWUpO1xufVxuXG4udGV4dC1ib2R5IHsgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW11dGVkIHsgY29sb3I6ICR0ZXh0LW11dGVkICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtYmxhY2stNTAgeyBjb2xvcjogcmdiYSgkYmxhY2ssIC41KSAhaW1wb3J0YW50OyB9XG4udGV4dC13aGl0ZS01MCB7IGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjUpICFpbXBvcnRhbnQ7IH1cblxuLy8gTWlzY1xuXG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbm9uZSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJyZWFrIHtcbiAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50OyAvLyBJRSAmIDwgRWRnZSAxOFxuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG59XG5cbi8vIFJlc2V0XG5cbi50ZXh0LXJlc2V0IHsgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgYSN7JHBhcmVudH0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuQG1peGluIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG5cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtaGlkZSgpYFwiLCBcInY0LjEuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vL1xuXG4udmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbi8vIGh0dHBzOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZiAkZW5hYmxlLXByaW50LXN0eWxlcyB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIge1xuICAgICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IG91dCBgY29sb3JgIGFuZCBgYmFja2dyb3VuZGBcbiAgICAgIC8vY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgLy9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgJjpub3QoLmJ0bikge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL2FbaHJlZl06OmFmdGVyIHtcbiAgICAvLyAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgLy99XG5cbiAgICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgLy9cblxuICAgIC8vYVtocmVmXj1cIiNcIl06OmFmdGVyLFxuICAgIC8vYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOjphZnRlciB7XG4gICAgLy8gY29udGVudDogXCJcIjtcbiAgICAvL31cblxuICAgIHByZSB7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRncmF5LTUwMDsgLy8gQm9vdHN0cmFwIGN1c3RvbSBjb2RlOyB1c2luZyBgJGJvcmRlci13aWR0aGAgaW5zdGVhZCBvZiAxcHhcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFByaW50aW5nIFRhYmxlczpcbiAgICAvLyBodHRwOi8vY3NzLWRpc2N1c3MuaW5jdXRpby5jb20vd2lraS9QcmludGluZ19UYWJsZXNcbiAgICAvL1xuXG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIHN0YXJ0XG5cbiAgICAvLyBTcGVjaWZ5IGEgc2l6ZSBhbmQgbWluLXdpZHRoIHRvIG1ha2UgcHJpbnRpbmcgY2xvc2VyIGFjcm9zcyBicm93c2Vycy5cbiAgICAvLyBXZSBkb24ndCBzZXQgbWFyZ2luIGhlcmUgYmVjYXVzZSBpdCBicmVha3MgYHNpemVgIGluIENocm9tZS4gV2UgYWxzb1xuICAgIC8vIGRvbid0IHVzZSBgIWltcG9ydGFudGAgb24gYHNpemVgIGFzIGl0IGJyZWFrcyBpbiBDaHJvbWUuXG4gICAgQHBhZ2Uge1xuICAgICAgc2l6ZTogJHByaW50LXBhZ2Utc2l6ZTtcbiAgICB9XG4gICAgYm9keSB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogJHByaW50LWJvZHktbWluLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIGNvbXBvbmVudHNcbiAgICAubmF2YmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5iYWRnZSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJsYWNrO1xuICAgIH1cblxuICAgIC50YWJsZSB7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG5cbiAgICAgIHRkLFxuICAgICAgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtYm9yZGVyZWQge1xuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTMwMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1kYXJrIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICB0aCxcbiAgICAgIHRkLFxuICAgICAgdGhlYWQgdGgsXG4gICAgICB0Ym9keSArIHRib2R5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZSAudGhlYWQtZGFyayB0aCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBlbmRcbiAgfVxufVxuIiwiLyoqXG4gKiBTd2lwZXIgNS4yLjBcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXG4gKiBodHRwOi8vc3dpcGVyanMuY29tXG4gKlxuICogQ29weXJpZ2h0IDIwMTQtMjAxOSBWbGFkaW1pciBLaGFybGFtcGlkaVxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxuICpcbiAqIFJlbGVhc2VkIG9uOiBPY3RvYmVyIDI2LCAyMDE5XG4gKi9cblxuQGZvbnQtZmFjZXtmb250LWZhbWlseTpzd2lwZXItaWNvbnM7c3JjOnVybChcImRhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LCBkMDlHUmdBQkFBQUFBQVpnQUJBQUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdSbFJOQUFBR1JBQUFBQm9BQUFBY2k2cUhrVWRFUlVZQUFBV2dBQUFBSXdBQUFDUUFZQUJYUjFCUFV3QUFCaFFBQUFBdUFBQUFOdUFZNyt4SFUxVkNBQUFGeEFBQUFGQUFBQUJtMmZQY3pVOVRMeklBQUFIY0FBQUFTZ0FBQUdCUDlWNVJZMjFoY0FBQUFrUUFBQUNJQUFBQll0NkYwY0JqZG5RZ0FBQUN6QUFBQUFRQUFBQUVBQkVCUkdkaGMzQUFBQVdZQUFBQUNBQUFBQWovL3dBRFoyeDVaZ0FBQXl3QUFBRE1BQUFEMk1IdHJ5Vm9aV0ZrQUFBQmJBQUFBREFBQUFBMkUyK2VvV2hvWldFQUFBR2NBQUFBSHdBQUFDUUM5Z0R6YUcxMGVBQUFBaWdBQUFBWkFBQUFyZ0prQUJGc2IyTmhBQUFDMEFBQUFGb0FBQUJhRlFBVUdHMWhlSEFBQUFHOEFBQUFId0FBQUNBQWNBQkFibUZ0WlFBQUEvZ0FBQUU1QUFBQ1h2RmRCd2x3YjNOMEFBQUZOQUFBQUdJQUFBQ0U1czc0aFhqYVkyQmtZR0FBWXBmNUh1L2orVzIrTW5Bek1ZREF6YVg2UWpENi80Ly9CeGo1R0E4QXVSd01ZR2tBUHl3TDEzamFZMkJrWUdBODhQOEFneDRqKy84ZlFEWWZBMUFFQldnREFJQjJCT29BZU5wallHUmdZTkJoNEdkZ1lnQUJFTW5JQUJKellOQURDUUFBQ1dnQXNRQjQybU5nWWZ6Q09JR0JsWUdCMFljeGpZR0J3UjFLZjJXUVpHaGhZR0JpWUdWbWdBRkdCaVFRa09hYXd0REFvTUJReFhqZy93RUdQY1lEREE0d05VQTJDQ2d3c0FBQU80RUw2Z0FBZU5wajJNMGd5QUFDcXhnR05XQmtaMkQ0L3dNQSt4a0RkZ0FBQUhqYVkyQmdZR2FBWUJrR1JnWVFpQUh5R01GOEZnWUhJTTNEd01IQUJHUXJNT2d5V0RMRU0xVDkvdzhVQmZFTWdMekUvLy8vUC81Ly9mL1YveHYrcjRlYUFBZU1iQXh3SVVZbUlNSEVnS1lBWWpVY3NEQXdzTEt4YzNCeWNmUHc4akVRQS9nWkJBU0ZoRVZFeGNRbEpLV2taV1RsNUJVVWxaUlZWTlhVTlRRWkJnTUFBTVIrRStnQUVRRkVBQUFBS2dBcUFDb0FOQUErQUVnQVVnQmNBR1lBY0FCNkFJUUFqZ0NZQUtJQXJBQzJBTUFBeWdEVUFONEE2QUR5QVB3QkJnRVFBUm9CSkFFdUFUZ0JRZ0ZNQVZZQllBRnFBWFFCZmdHSUFaSUJuQUdtQWJJQnpnSHNBQUI0MnUyTk1RNkNVQXlHVzU2OHg5QW5lWVlnbTRNSmJoS0ZhRXhJT0FWWDhBcGV3U3Q0QmljNEFmZUFpZDNWT0JpeER4ZlBZRXphNU8rWGZpMDRZQURnZ2lVSVVMQ3VFSks4VmhPNGJTdnBkbmt0SEk1UUNZdGRpMnNsOFpuWGFIbHFVck5LemRLY1Q4Y2pscStyd1pTdklWY3pOaWV6c2ZuUC91em5tZlBGQk5PRE0ySzdNVFE0NVlFQVpxR1A4MUFtR0djRjNpUHFPb3AwcjFTUFRhVGJWa2ZVZTRIWGo5N3dZRSt5TndXWXh3V3U0djF1Z1dIZ28zUzFYZFpFVnFXTTdFVDBjZm5MR3hXZmtnUjQybzJQdldyRE1CU0ZqL0lITGFGMHpLalJnZGlWTXdTY05SQW9XVW9INzhZMmljQi95SVkwOUFuNkFIMkJkdS9VQit5eG9wWXNoUWlFdm52dTBkVVJnRHQ4UWVDOFBEdzdGcGppM2ZFQTR6L1BFSjZZT0I1aEtoNGRqM0V2WGh4UHFIL1NLVVkzcko3c3JaNEZabmgxUE1BdFBod1A2ZmwyUE1KTVBEZ2VRNHJZOFlUNkd6YW8wZUFFQTQwOUR1Z2dtVG5Gbk9jU0NpRWlMTWd4Q2lUSTZDcTVEWlVkM1FtcDEwdk8wTGFMVGQyY2pONGZPdW1sYzdsVVliU1FjWkZrdXRSRzdnNkpLWkt5MFJtZExZNjgwQ0RuRUorVU1rcEZGZTFSTjdueGRWcFhyQzRhVHRuYXVyT25ZZXJjWmcyWVZtTE4vZC9nY3pmRWltckUvZnMvYk91cTI5Wm1uOHRsb09SYVhnWmdHYTc4eU85L2NuWG0yQnBhR3ZxMjVEdjlTNEU5KzVTSWM5UHF1cEpLaFlGU1NsNDcrUWNyMW1ZTkFBQUFlTnB0dzBjS3drQUFBTURaSkE4UTdPVUp2a0xzUGZaNnpGVkVSUHk4cUhoMllFUiszaS9CUDgzdklCTEx5U3NvS2ltcnFLcXBhMmhwNitqcTZSc1lHaG1ibUpxWlN5MHNyYXh0Yk8zc0hSeWRuRU1VNHVSNnl4N0pKWHZlUDdXckR5Y0FBQUFBQUFILy93QUNlTnBqWUdSZ1lPQUJZaGtnWmdKQ1pnWk5Ca1lHTFFadElKc0ZMTVlBQUF3M0FMZ0FlTm9saXpFS2dEQVFCQ2NoUmJDMnNGRVIwWUQ2cVZRaUJDdi9IOWV6R0k2WjVYQkF3OENCSy9tNWlRUVZhdVZiWExuT3JNWnYyb0xkS0ZhOFBqdXJ1MmhKekdhYm1PU0x6Tk16dnV0cEIzTjQybU5nWkdCZzRHS1FZekJoWU14SkxNbGo0R0JnQVlvdy9QL1BBSkpoTE02c1NvV0tmV0NBQXdEQWpnYlJBQUI0Mm1OZ1lHQmtBSUliQ1pvNUlQcm1VbjBoR0EwQU84RUZUUUFBXCIpIGZvcm1hdChcIndvZmZcIik7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsfTpyb290ey0tc3dpcGVyLXRoZW1lLWNvbG9yOiMwMDdhZmZ9LnN3aXBlci1jb250YWluZXJ7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47bGlzdC1zdHlsZTpub25lO3BhZGRpbmc6MDt6LWluZGV4OjF9LnN3aXBlci1jb250YWluZXItdmVydGljYWw+LnN3aXBlci13cmFwcGVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uc3dpcGVyLXdyYXBwZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjE7ZGlzcGxheTpmbGV4O3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO2JveC1zaXppbmc6Y29udGVudC1ib3h9LnN3aXBlci1jb250YWluZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLC5zd2lwZXItd3JhcHBlcnt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMHB4LDAsMCl9LnN3aXBlci1jb250YWluZXItbXVsdGlyb3c+LnN3aXBlci13cmFwcGVye2ZsZXgtd3JhcDp3cmFwfS5zd2lwZXItY29udGFpbmVyLW11bHRpcm93LWNvbHVtbj4uc3dpcGVyLXdyYXBwZXJ7ZmxleC13cmFwOndyYXA7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZT4uc3dpcGVyLXdyYXBwZXJ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7bWFyZ2luOjAgYXV0b30uc3dpcGVyLXNsaWRle2ZsZXgtc2hyaW5rOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybX0uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFua3t2aXNpYmlsaXR5OmhpZGRlbn0uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LC5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZXtoZWlnaHQ6YXV0b30uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlcnthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLGhlaWdodH0uc3dpcGVyLWNvbnRhaW5lci0zZHtwZXJzcGVjdGl2ZToxMjAwcHh9LnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1jdWJlLXNoYWRvdywuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCwuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXdyYXBwZXJ7dHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkfS5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6MTB9LnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdHtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LHJnYmEoMCwwLDAsLjUpLHJnYmEoMCwwLDAsMCkpfS5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0e2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHJnYmEoMCwwLDAsLjUpLHJnYmEoMCwwLDAsMCkpfS5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcHtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byB0b3AscmdiYSgwLDAsMCwuNSkscmdiYSgwLDAsMCwwKSl9LnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9te2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSxyZ2JhKDAsMCwwLC41KSxyZ2JhKDAsMCwwLDApKX0uc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXJ7b3ZlcmZsb3c6YXV0bztzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZX0uc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0uc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXI+LnN3aXBlci1zbGlkZXtzY3JvbGwtc25hcC1hbGlnbjpzdGFydCBzdGFydH0uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsLnN3aXBlci1jb250YWluZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVye3Njcm9sbC1zbmFwLXR5cGU6eCBtYW5kYXRvcnl9LnN3aXBlci1jb250YWluZXItdmVydGljYWwuc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXJ7c2Nyb2xsLXNuYXAtdHlwZTp5IG1hbmRhdG9yeX06cm9vdHstLXN3aXBlci1uYXZpZ2F0aW9uLXNpemU6NDRweH0uc3dpcGVyLWJ1dHRvbi1uZXh0LC5zd2lwZXItYnV0dG9uLXByZXZ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt3aWR0aDpjYWxjKHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpLyA0NCAqIDI3KTtoZWlnaHQ6dmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7bWFyZ2luLXRvcDpjYWxjKC0xICogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkvIDIpO3otaW5kZXg6MTA7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yLHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpfS5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCwuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tZGlzYWJsZWR7b3BhY2l0eTouMzU7Y3Vyc29yOmF1dG87cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyLC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXJ7Zm9udC1mYW1pbHk6c3dpcGVyLWljb25zO2ZvbnQtc2l6ZTp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTt0ZXh0LXRyYW5zZm9ybTpub25lIWltcG9ydGFudDtsZXR0ZXItc3BhY2luZzowO3RleHQtdHJhbnNmb3JtOm5vbmU7Zm9udC12YXJpYW50OmluaXRpYWx9LnN3aXBlci1idXR0b24tcHJldiwuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dHtsZWZ0OjEwcHg7cmlnaHQ6YXV0b30uc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyLC5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVye2NvbnRlbnQ6J3ByZXYnfS5zd2lwZXItYnV0dG9uLW5leHQsLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXZ7cmlnaHQ6MTBweDtsZWZ0OmF1dG99LnN3aXBlci1idXR0b24tbmV4dDphZnRlciwuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldjphZnRlcntjb250ZW50OiduZXh0J30uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUsLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRley0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3I6I2ZmZmZmZn0uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2ssLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrey0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3I6IzAwMDAwMH0uc3dpcGVyLWJ1dHRvbi1sb2Nre2Rpc3BsYXk6bm9uZX0uc3dpcGVyLXBhZ2luYXRpb257cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dHJhbnNpdGlvbjouM3Mgb3BhY2l0eTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApO3otaW5kZXg6MTB9LnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWhpZGRlbntvcGFjaXR5OjB9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cywuc3dpcGVyLXBhZ2luYXRpb24tY3VzdG9tLC5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbntib3R0b206MTBweDtsZWZ0OjA7d2lkdGg6MTAwJX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWlje292ZXJmbG93OmhpZGRlbjtmb250LXNpemU6MH0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7dHJhbnNmb3JtOnNjYWxlKC4zMyk7cG9zaXRpb246cmVsYXRpdmV9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoMSl9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1tYWlue3RyYW5zZm9ybTpzY2FsZSgxKX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXZ7dHJhbnNmb3JtOnNjYWxlKC42Nil9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2LXByZXZ7dHJhbnNmb3JtOnNjYWxlKC4zMyl9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0e3RyYW5zZm9ybTpzY2FsZSguNjYpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dC1uZXh0e3RyYW5zZm9ybTpzY2FsZSguMzMpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7d2lkdGg6OHB4O2hlaWdodDo4cHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czoxMDAlO2JhY2tncm91bmQ6IzAwMDtvcGFjaXR5Oi4yfWJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7Ym9yZGVyOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowO2JveC1zaGFkb3c6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9LnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2N1cnNvcjpwb2ludGVyfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZle29wYWNpdHk6MTtiYWNrZ3JvdW5kOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpfS5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRze3JpZ2h0OjEwcHg7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMHB4LC01MCUsMCl9LnN3aXBlci1jb250YWluZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHttYXJnaW46NnB4IDA7ZGlzcGxheTpibG9ja30uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWN7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDo4cHh9LnN3aXBlci1jb250YWluZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dHJhbnNpdGlvbjouMnMgdHJhbnNmb3JtLC4ycyB0b3B9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e21hcmdpbjowIDRweH0uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY3tsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt3aGl0ZS1zcGFjZTpub3dyYXB9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHt0cmFuc2l0aW9uOi4ycyB0cmFuc2Zvcm0sLjJzIGxlZnR9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbC5zd2lwZXItY29udGFpbmVyLXJ0bD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7dHJhbnNpdGlvbjouMnMgdHJhbnNmb3JtLC4ycyByaWdodH0uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXJ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4yNSk7cG9zaXRpb246YWJzb2x1dGV9LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxse2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dHJhbnNmb3JtOnNjYWxlKDApO3RyYW5zZm9ybS1vcmlnaW46bGVmdCB0b3B9LnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbHt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IHRvcH0uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhciwuc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGV7d2lkdGg6MTAwJTtoZWlnaHQ6NHB4O2xlZnQ6MDt0b3A6MH0uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSwuc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXJ7d2lkdGg6NHB4O2hlaWdodDoxMDAlO2xlZnQ6MDt0b3A6MH0uc3dpcGVyLXBhZ2luYXRpb24td2hpdGV7LS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcjojZmZmZmZmfS5zd2lwZXItcGFnaW5hdGlvbi1ibGFja3stLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yOiMwMDAwMDB9LnN3aXBlci1wYWdpbmF0aW9uLWxvY2t7ZGlzcGxheTpub25lfS5zd2lwZXItc2Nyb2xsYmFye2JvcmRlci1yYWRpdXM6MTBweDtwb3NpdGlvbjpyZWxhdGl2ZTstbXMtdG91Y2gtYWN0aW9uOm5vbmU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xKX0uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsPi5zd2lwZXItc2Nyb2xsYmFye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MSU7Ym90dG9tOjNweDt6LWluZGV4OjUwO2hlaWdodDo1cHg7d2lkdGg6OTglfS5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsPi5zd2lwZXItc2Nyb2xsYmFye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjNweDt0b3A6MSU7ei1pbmRleDo1MDt3aWR0aDo1cHg7aGVpZ2h0Ojk4JX0uc3dpcGVyLXNjcm9sbGJhci1kcmFne2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC41KTtib3JkZXItcmFkaXVzOjEwcHg7bGVmdDowO3RvcDowfS5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFne2N1cnNvcjptb3ZlfS5zd2lwZXItc2Nyb2xsYmFyLWxvY2t7ZGlzcGxheTpub25lfS5zd2lwZXItem9vbS1jb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXJ9LnN3aXBlci16b29tLWNvbnRhaW5lcj5jYW52YXMsLnN3aXBlci16b29tLWNvbnRhaW5lcj5pbWcsLnN3aXBlci16b29tLWNvbnRhaW5lcj5zdmd7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlO29iamVjdC1maXQ6Y29udGFpbn0uc3dpcGVyLXNsaWRlLXpvb21lZHtjdXJzb3I6bW92ZX0uc3dpcGVyLWxhenktcHJlbG9hZGVye3dpZHRoOjQycHg7aGVpZ2h0OjQycHg7cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7dG9wOjUwJTttYXJnaW4tbGVmdDotMjFweDttYXJnaW4tdG9wOi0yMXB4O3otaW5kZXg6MTA7dHJhbnNmb3JtLW9yaWdpbjo1MCU7YW5pbWF0aW9uOnN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBpbmZpbml0ZSBsaW5lYXI7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjo0cHggc29saWQgdmFyKC0tc3dpcGVyLXByZWxvYWRlci1jb2xvcix2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtib3JkZXItcmFkaXVzOjUwJTtib3JkZXItdG9wLWNvbG9yOnRyYW5zcGFyZW50fS5zd2lwZXItbGF6eS1wcmVsb2FkZXItd2hpdGV7LS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiNmZmZ9LnN3aXBlci1sYXp5LXByZWxvYWRlci1ibGFja3stLXN3aXBlci1wcmVsb2FkZXItY29sb3I6IzAwMH1Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbnsxMDAle3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19LnN3aXBlci1jb250YWluZXIgLnN3aXBlci1ub3RpZmljYXRpb257cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowO3otaW5kZXg6LTEwMDB9LnN3aXBlci1jb250YWluZXItZmFkZS5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSAuc3dpcGVyLXNsaWRle3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eX0uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUsLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZXtwb2ludGVyLWV2ZW50czphdXRvfS5zd2lwZXItY29udGFpbmVyLWN1YmV7b3ZlcmZsb3c6dmlzaWJsZX0uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO3otaW5kZXg6MTt2aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2Zvcm0tb3JpZ2luOjAgMDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1jb250YWluZXItY3ViZS5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXNsaWRle3RyYW5zZm9ybS1vcmlnaW46MTAwJSAwfS5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZXtwb2ludGVyLWV2ZW50czphdXRvfS5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQrLnN3aXBlci1zbGlkZSwuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtcHJldntwb2ludGVyLWV2ZW50czphdXRvO3Zpc2liaWxpdHk6dmlzaWJsZX0uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcHt6LWluZGV4OjA7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3d7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowcHg7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOiMwMDA7b3BhY2l0eTouNjstd2Via2l0LWZpbHRlcjpibHVyKDUwcHgpO2ZpbHRlcjpibHVyKDUwcHgpO3otaW5kZXg6MH0uc3dpcGVyLWNvbnRhaW5lci1mbGlwe292ZXJmbG93OnZpc2libGV9LnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmU7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4OjF9LnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlLC5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0b30uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcHt6LWluZGV4OjA7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0iLCIuZmFuY3lib3gtZW5hYmxlZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LWVuYWJsZWQgYm9keSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLmZhbmN5Ym94LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiA5OTk5MztcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKiBNYWtlIHN1cmUgdGhhdCB0aGUgZmlyc3Qgb25lIGlzIG9uIHRoZSB0b3AgKi9cbi5mYW5jeWJveC1jb250YWluZXIgfiAuZmFuY3lib3gtY29udGFpbmVyIHtcbiAgei1pbmRleDogOTk5OTI7IH1cblxuLmZhbmN5Ym94LWJnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICMwZjBmMTE7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNiwgMC42OCwgMC4xOSk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LWNvbnRhaW5lci0tcmVhZHkgLmZhbmN5Ym94LWJnIHtcbiAgb3BhY2l0eTogMC44NztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTsgfVxuXG4uZmFuY3lib3gtY29udHJvbHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogOTk5OTQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlyZWN0aW9uOiBsdHI7IH1cblxuLmZhbmN5Ym94LXNob3ctY29udHJvbHMgLmZhbmN5Ym94LWNvbnRyb2xzIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFuY3lib3gtaW5mb2JhciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZhbmN5Ym94LXNob3ctaW5mb2JhciAuZmFuY3lib3gtaW5mb2JhciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuXG4uZmFuY3lib3gtaW5mb2Jhcl9fYm9keSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDcwcHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNkZGQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzAsIDMwLCAzMCwgMC43KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cblxuLmZhbmN5Ym94LXNob3ctYnV0dG9ucyAuZmFuY3lib3gtYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mYW5jeWJveC1zbGlkZXItd3JhcCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpcmVjdGlvbjogbHRyOyB9XG5cbi5mYW5jeWJveC1zbGlkZXItd3JhcCxcbi5mYW5jeWJveC1zbGlkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB6LWluZGV4OiA5OTk5MztcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uZmFuY3lib3gtc2xpZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogYXV0bztcbiAgb3V0bGluZTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiA5OTk5NDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5mYW5jeWJveC1zbGlkZTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMDsgfVxuXG4uZmFuY3lib3gtc2xpZGUgPiAqIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1hcmdpbjogNDRweCAwIDQ0cHg7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFuY3lib3gtY29udGVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDQ0cHggYXV0bztcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICB3aWR0aDogODAlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDg4cHgpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBvdXRsaW5lOiBub25lO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5mYW5jeWJveC1pZnJhbWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtY29udGVudCxcbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWlmcmFtZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi5mYW5jeWJveC1wbGFjZWhvbGRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgei1pbmRleDogOTk5OTU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtaW1hZ2UsXG4uZmFuY3lib3gtc3BhY2ViYWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsgfVxuXG4uZmFuY3lib3gtY29udHJvbHMtLWNhbnpvb21PdXQgLmZhbmN5Ym94LXBsYWNlaG9sZGVyIHtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICBjdXJzb3I6IHpvb20tb3V0OyB9XG5cbi5mYW5jeWJveC1jb250cm9scy0tY2Fuem9vbUluIC5mYW5jeWJveC1wbGFjZWhvbGRlciB7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47IH1cblxuLmZhbmN5Ym94LWNvbnRyb2xzLS1jYW5HcmFiIC5mYW5jeWJveC1wbGFjZWhvbGRlciB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICBjdXJzb3I6IGdyYWI7IH1cblxuLmZhbmN5Ym94LWNvbnRyb2xzLS1pc0dyYWJiaW5nIC5mYW5jeWJveC1wbGFjZWhvbGRlciB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgY3Vyc29yOiBncmFiYmluZzsgfVxuXG4uZmFuY3lib3gtc3BhY2ViYWxsIHtcbiAgei1pbmRleDogMTsgfVxuXG4uZmFuY3lib3gtdG1wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIGxlZnQ6IC05OTk5cHg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtZXJyb3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNDBweDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDM4MHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uZmFuY3lib3gtZXJyb3IgcCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICM0NDQ7XG4gIGZvbnQ6IDE2cHgvMjBweCBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDRweDtcbiAgcmlnaHQ6IDRweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBmb250OiAyMXB4LzEgQXJpYWwsXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxzYW5zLXNlcmlmO1xuICBjb2xvcjogIzg4ODtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgei1pbmRleDogMjsgfVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGw6Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggZG90dGVkICM4ODg7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtY2xvc2Utc21hbGwge1xuICB0b3A6IC0zNnB4O1xuICByaWdodDogLTM2cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi5mYW5jeWJveC1jbG9zZS1zbWFsbDpob3ZlciB7XG4gIGNvbG9yOiAjNTU1O1xuICBiYWNrZ3JvdW5kOiAjZWVlOyB9XG5cbi8qIENhcHRpb24gKi9cbi5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDYwcHggMzBweCAwIDMwcHg7XG4gIHotaW5kZXg6IDk5OTk4O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCAwJSwgcmdiYSgwLCAwLCAwLCAwLjEpIDIwJSwgcmdiYSgwLCAwLCAwLCAwLjIpIDQwJSwgcmdiYSgwLCAwLCAwLCAwLjYpIDgwJSwgcmdiYSgwLCAwLCAwLCAwLjgpIDEwMCUpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmZhbmN5Ym94LXNob3ctY2FwdGlvbiAuZmFuY3lib3gtY2FwdGlvbi13cmFwIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbiB7XG4gIHBhZGRpbmc6IDMwcHggMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbiBhLFxuLmZhbmN5Ym94LWNhcHRpb24gYnV0dG9uIHtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbiBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qIEJ1dHRvbnMgKi9cbi5mYW5jeWJveC1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmZjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1kaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmZhbmN5Ym94LWluZm9iYXJfX2JvZHksIC5mYW5jeWJveC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDMwLCAzMCwgMzAsIDAuNik7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uOjpiZWZvcmUsXG4uZmFuY3lib3gtYnV0dG9uOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3BhY2l0eTogMC45O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tZGlzYWJsZWQ6OmJlZm9yZSxcbi5mYW5jeWJveC1idXR0b24tLWRpc2FibGVkOjphZnRlciB7XG4gIG9wYWNpdHk6IDAuNTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1sZWZ0OjphZnRlciB7XG4gIGxlZnQ6IDIwcHg7XG4gIHRvcDogMThweDtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiBzb2xpZCAycHggY3VycmVudENvbG9yO1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcmlnaHQ6OmFmdGVyIHtcbiAgcmlnaHQ6IDIwcHg7XG4gIHRvcDogMThweDtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiBzb2xpZCAycHggY3VycmVudENvbG9yO1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tbGVmdCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1yaWdodCB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6OmJlZm9yZSwgLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDJweDtcbiAgd2lkdGg6IDE2cHg7XG4gIHRvcDogY2FsYyg1MCUgLSAxcHgpO1xuICBsZWZ0OiBjYWxjKDUwJSAtIDhweCk7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6OmJlZm9yZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6OmFmdGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4vKiBMb2FkaW5nIHNwaW5uZXIgKi9cbi5mYW5jeWJveC1sb2FkaW5nIHtcbiAgYm9yZGVyOiA2cHggc29saWQgcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjQpO1xuICBib3JkZXItdG9wOiA2cHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHdpZHRoOiA1MHB4O1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmFuY3lib3gtcm90YXRlIC44cyBpbmZpbml0ZSBsaW5lYXI7XG4gIGFuaW1hdGlvbjogZmFuY3lib3gtcm90YXRlIC44cyBpbmZpbml0ZSBsaW5lYXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6IC0yNXB4O1xuICBtYXJnaW4tbGVmdDogLTI1cHg7XG4gIHotaW5kZXg6IDk5OTk5OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYW5jeWJveC1yb3RhdGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFuY3lib3gtcm90YXRlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxuXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmZhbmN5Ym94LWNvbnRyb2xzIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5mYW5jeWJveC1idXR0b24tLWxlZnQsXG4gIC5mYW5jeWJveC1idXR0b24tLXJpZ2h0LFxuICAuZmFuY3lib3gtYnV0dG9ucyBidXR0b246bm90KC5mYW5jeWJveC1idXR0b24tLWNsb3NlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5mYW5jeWJveC1jYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgbWFyZ2luOiAwOyB9IH1cblxuLyogRnVsbHNjcmVlbiAgKi9cbi5mYW5jeWJveC1idXR0b24tLWZ1bGxzY3JlZW46OmJlZm9yZSB7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDExcHg7XG4gIGxlZnQ6IDE1cHg7XG4gIHRvcDogMTZweDtcbiAgYm9yZGVyOiAycHggc29saWQ7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLyogU2xpZGVzaG93IGJ1dHRvbiAqL1xuLmZhbmN5Ym94LWJ1dHRvbi0tcGxheTo6YmVmb3JlIHtcbiAgdG9wOiAxNnB4O1xuICBsZWZ0OiAxOHB4O1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiA2cHggaW5zZXQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDZweCBpbnNldCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcGF1c2U6OmJlZm9yZSB7XG4gIHRvcDogMTZweDtcbiAgbGVmdDogMThweDtcbiAgd2lkdGg6IDdweDtcbiAgaGVpZ2h0OiAxMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAgMnB4IDAgMnB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4vKiBUaHVtYnMgKi9cbi5mYW5jeWJveC1idXR0b24tLXRodW1icyBzcGFuIHtcbiAgZm9udC1zaXplOiAyM3B4OyB9XG5cbi5mYW5jeWJveC1idXR0b24tLXRodW1iczo6YmVmb3JlIHtcbiAgdG9wOiAyMHB4O1xuICBsZWZ0OiAyMXB4O1xuICB3aWR0aDogM3B4O1xuICBoZWlnaHQ6IDNweDtcbiAgYm94LXNoYWRvdzogMCAtNHB4IDAsIC00cHggLTRweCAwLCA0cHggLTRweCAwLCAwIDAgMCAzMnB4IGluc2V0LCAtNHB4IDAgMCwgNHB4IDAgMCwgMCA0cHggMCwgLTRweCA0cHggMCwgNHB4IDRweCAwOyB9XG5cbi5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtY29udHJvbHMsXG4uZmFuY3lib3gtY29udGFpbmVyLS10aHVtYnMgLmZhbmN5Ym94LXNsaWRlci13cmFwLFxuLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xuICByaWdodDogMjIwcHg7IH1cblxuLmZhbmN5Ym94LXRodW1icyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiBhdXRvO1xuICB3aWR0aDogMjIwcHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNXB4IDVweCAwIDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHotaW5kZXg6IDk5OTkzO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uZmFuY3lib3gtdGh1bWJzID4gdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGZvbnQtc2l6ZTogMDsgfVxuXG4uZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtd2lkdGg6IDUwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTA1cHg7XG4gIGhlaWdodDogNzVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogNXB4IHNvbGlkICNmZmY7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5saS5mYW5jeWJveC10aHVtYnMtbG9hZGluZyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaSA+IGltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXI6IDRweCBzb2xpZCAjNGVhN2Y5O1xuICB6LWluZGV4OiA5OTk5MTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpLmZhbmN5Ym94LXRodW1icy1hY3RpdmU6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmZhbmN5Ym94LXRodW1icyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtY29udHJvbHMsXG4gIC5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtc2xpZGVyLXdyYXAsXG4gIC5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtY2FwdGlvbi13cmFwIHtcbiAgICByaWdodDogMDsgfSB9XG4iLCIvKmFuaW1hdGlvbnMqL1xuXG4vKioqKioqKioqKioqKioqKioqXG4qIEJvdW5jZSBpbiByaWdodCAqXG4qKioqKioqKioqKioqKioqKioqL1xuXG5cbi5hbmltYXRlZCB7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsgXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyBcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyBcbn1cblxuLnNsb3d7XG4gICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzOyBcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgXG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgXG59XG4uc2xvd2Vye1xuICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMnM7IFxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgXG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgXG59XG4uc2xvd2VzdHtcbiAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDNzOyBcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDNzOyBcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IFxuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IFxufVxuXG4vKiBBZGRlZCBieSBBbmR5IE1lZXRhbiAqL1xuLmRlbGF5LTI1MCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6MC4yNXM7XG4gICAgLW1vei1hbmltYXRpb24tZGVsYXk6MC4yNXM7XG4gICAgLW8tYW5pbWF0aW9uLWRlbGF5OjAuMjVzO1xuICAgIGFuaW1hdGlvbi1kZWxheTowLjI1cztcbn1cbi5kZWxheS01MDAge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjAuNXM7XG4gICAgLW1vei1hbmltYXRpb24tZGVsYXk6MC41cztcbiAgICAtby1hbmltYXRpb24tZGVsYXk6MC41cztcbiAgICBhbmltYXRpb24tZGVsYXk6MC41cztcbn1cbi5kZWxheS03NTAge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjAuNzVzO1xuICAgIC1tb3otYW5pbWF0aW9uLWRlbGF5OjAuNzVzO1xuICAgIC1vLWFuaW1hdGlvbi1kZWxheTowLjc1cztcbiAgICBhbmltYXRpb24tZGVsYXk6MC43NXM7XG59XG4uZGVsYXktMTAwMCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6MS4wcztcbiAgICAtbW96LWFuaW1hdGlvbi1kZWxheToxLjBzO1xuICAgIC1vLWFuaW1hdGlvbi1kZWxheToxLjBzO1xuICAgIGFuaW1hdGlvbi1kZWxheToxLjBzO1xufVxuLmRlbGF5LTEyNTAge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjEuMjVzO1xuICAgIC1tb3otYW5pbWF0aW9uLWRlbGF5OjEuMjVzO1xuICAgIC1vLWFuaW1hdGlvbi1kZWxheToxLjI1cztcbiAgICBhbmltYXRpb24tZGVsYXk6MS4yNXM7XG59XG4uZGVsYXktMTUwMCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6MS41cztcbiAgICAtbW96LWFuaW1hdGlvbi1kZWxheToxLjVzO1xuICAgIC1vLWFuaW1hdGlvbi1kZWxheToxLjVzO1xuICAgIGFuaW1hdGlvbi1kZWxheToxLjVzO1xufVxuLmRlbGF5LTE3NTAge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjEuNzVzO1xuICAgIC1tb3otYW5pbWF0aW9uLWRlbGF5OjEuNzVzO1xuICAgIC1vLWFuaW1hdGlvbi1kZWxheToxLjc1cztcbiAgICBhbmltYXRpb24tZGVsYXk6MS43NXM7XG59XG4uZGVsYXktMjAwMCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6Mi4wcztcbiAgICAtbW96LWFuaW1hdGlvbi1kZWxheToyLjBzO1xuICAgIC1vLWFuaW1hdGlvbi1kZWxheToyLjBzO1xuICAgIGFuaW1hdGlvbi1kZWxheToyLjBzO1xufVxuLmRlbGF5LTI1MDAge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjIuNXM7XG4gICAgLW1vei1hbmltYXRpb24tZGVsYXk6Mi41cztcbiAgICAtby1hbmltYXRpb24tZGVsYXk6Mi41cztcbiAgICBhbmltYXRpb24tZGVsYXk6Mi41cztcbn1cbi5kZWxheS0yMDAwIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheToyLjBzO1xuICAgIC1tb3otYW5pbWF0aW9uLWRlbGF5OjIuMHM7XG4gICAgLW8tYW5pbWF0aW9uLWRlbGF5OjIuMHM7XG4gICAgYW5pbWF0aW9uLWRlbGF5OjIuMHM7XG59XG4uZGVsYXktMjUwMCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6Mi41cztcbiAgICAtbW96LWFuaW1hdGlvbi1kZWxheToyLjVzO1xuICAgIC1vLWFuaW1hdGlvbi1kZWxheToyLjVzO1xuICAgIGFuaW1hdGlvbi1kZWxheToyLjVzO1xufVxuLmRlbGF5LTMwMDAge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjMuMHM7XG4gICAgLW1vei1hbmltYXRpb24tZGVsYXk6My4wcztcbiAgICAtby1hbmltYXRpb24tZGVsYXk6My4wcztcbiAgICBhbmltYXRpb24tZGVsYXk6My4wcztcbn1cbi5kZWxheS0zNTAwIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTozLjVzO1xuICAgIC1tb3otYW5pbWF0aW9uLWRlbGF5OjMuNXM7XG4gICAgLW8tYW5pbWF0aW9uLWRlbGF5OjMuNXM7XG4gICAgYW5pbWF0aW9uLWRlbGF5OjMuNXM7XG59XG5cbi5ib3VuY2VJblJpZ2h0LCAuYm91bmNlSW5MZWZ0LCAuYm91bmNlSW5VcCwgLmJvdW5jZUluRG93bntcbiAgICBvcGFjaXR5OjA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpOyBcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpOyBcbn1cbi5mYWRlSW5SaWdodCwgLmZhZGVJbkxlZnQsIC5mYWRlSW5VcCwgLmZhZGVJbkRvd257XG4gICAgb3BhY2l0eTowO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgXG59XG5cbi5mbGlwSW5YLCAuZmxpcEluWSwgLnJvdGF0ZUluLCAucm90YXRlSW5VcExlZnQsIC5yb3RhdGVJblVwUmlnaHQsIC5yb3RhdGVJbkRvd25MZWZ0LCAucm90YXRlRG93blVwUmlnaHQsIC5yb2xsSW57XG4gICAgb3BhY2l0eTowO1xufVxuXG4ubGlnaHRTcGVlZEluUmlnaHQsIC5saWdodFNwZWVkSW5MZWZ0e1xuICAgIG9wYWNpdHk6MDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IFxufVxuXG4vKioqKioqKioqKipcbiogYm91bmNlSW4gKlxuKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluIHsgXG4gICAgMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMyk7IFxuICAgIH0gXG5cbiAgICA1MCUgeyBcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgXG4gICAgfSBcblxuICAgIDcwJSB7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjkpOyBcbiAgICB9IFxuXG4gICAgMTAwJSB7IFxuICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyBcbiAgICB9IFxufSBcblxuQGtleWZyYW1lcyBib3VuY2VJbiB7IFxuICAgIDAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC4zKTsgXG4gICAgfSBcblxuICAgIDUwJSB7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgXG4gICAgfSBcblxuICAgIDcwJSB7IFxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC45KTsgXG4gICAgfSBcblxuICAgIDEwMCUgeyBcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgXG4gICAgfSBcbn0gXG5cbi5ib3VuY2VJbi5nbyB7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluOyBcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47IFxufVxuXG4vKioqKioqKioqKioqKioqKlxuKiBib3VuY2VJblJpZ2h0ICpcbioqKioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHsgXG4gICAgMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgICAgIFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IFxuICAgIH0gXG4gICAgNjAlIHsgXG4gICAgICAgIFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7IFxuICAgIH0gXG4gICAgODAlIHsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyBcbiAgICB9IFxuICAgIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgIFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgXG4gICAgfSBcbn0gXG5cbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7IFxuICAgIDAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgICAgICBcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgXG4gICAgfSBcbiAgICA2MCUgeyBcbiAgICAgICAgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7IFxuICAgIH0gXG4gICAgODAlIHsgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgXG4gICAgfSBcbiAgICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgICBcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyBcbiAgICB9IFxufSBcblxuXG4uYm91bmNlSW5SaWdodC5nbyB7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7IFxuICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0OyBcbn1cblxuLyoqKioqKioqKioqKioqKioqKlxuKiBCb3VuY2UgaW4gbGVmdCAqXG4qKioqKioqKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHsgXG4gICAgMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgICAgIFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpOyBcbiAgICB9IFxuICAgIDYwJSB7IFxuICAgICAgIFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KTsgXG4gICAgfSBcbiAgICA4MCUgeyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyBcbiAgICB9IFxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyBcbiAgICB9IFxufSBcblxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQgeyBcbiAgICAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAwOyBcbiAgICAgICAgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpOyBcbiAgICB9IFxuICAgIDYwJSB7IFxuICAgICAgIFxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7IFxuICAgIH0gXG4gICAgODAlIHsgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IFxuICAgIH0gXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICBcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyBcbiAgICB9IFxufSBcblxuLmJvdW5jZUluTGVmdC5nbyB7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDsgXG4gICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDsgXG59XG5cbi8qKioqKioqKioqKioqKioqKipcbiogQm91bmNlIGluIHVwICpcbioqKioqKioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHsgXG4gICAgMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgICAgIFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MDBweCk7IFxuICAgIH0gXG4gICAgNjAlIHsgXG4gICAgICAgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTsgXG4gICAgfSBcbiAgICA4MCUgeyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IFxuICAgIH0gXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IFxuICAgIH0gXG59IFxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluVXAgeyBcbiAgICAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAwOyBcbiAgICAgICAgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MDBweCk7IFxuICAgIH0gXG4gICAgNjAlIHsgXG4gICAgICAgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7IFxuICAgIH0gXG4gICAgODAlIHsgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgXG4gICAgfSBcbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgIFxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IFxuICAgIH0gXG59IFxuXG4uYm91bmNlSW5VcC5nbyB7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7IFxuICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwOyBcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqXG4qIEJvdW5jZSBpbiBkb3duICpcbioqKioqKioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24geyBcbiAgICAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAwOyBcbiAgICAgICAgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7IFxuICAgIH0gXG4gICAgNjAlIHsgXG4gICAgICAgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOyBcbiAgICB9IFxuICAgIDgwJSB7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IFxuICAgIH0gXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IFxuICAgIH0gXG59IFxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7IFxuICAgIDAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgICAgICBcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7IFxuICAgIH0gXG4gICAgNjAlIHsgXG4gICAgICAgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTsgXG4gICAgfSBcbiAgICA4MCUgeyBcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgXG4gICAgfSBcbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgIFxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IFxuICAgIH0gXG59IFxuXG4uYm91bmNlSW5Eb3duLmdvIHsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duOyBcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duOyBcbn1cblxuXG4vKioqKioqKioqKlxuKiBGYWRlIEluICpcbioqKioqKioqKiovIFxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7IFxuICAgIDAlIHtvcGFjaXR5OiAwO30gXG4gICAgMTAwJSB7b3BhY2l0eTogMTtcbiAgICAgICAgZGlzcGxheTpibG9jazt9IFxufSBcbkBrZXlmcmFtZXMgZmFkZUluIHsgXG4gICAgMCUge29wYWNpdHk6IDA7fSBcbiAgICAxMDAlIHtvcGFjaXR5OiAxO1xuICAgICAgICBkaXNwbGF5OmJsb2NrO30gXG59XG4uZmFkZUlue1xuICAgIG9wYWNpdHk6MDtcbn1cbi5mYWRlSW4uZ28geyBcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47IFxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47IFxufVxuXG4vKioqKioqKioqKlxuKiBHcm93IGluICpcbioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZ3Jvd0luIHsgXG4gICAgMCUgeyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMik7IFxuICAgICAgICBvcGFjaXR5OjA7XG4gICAgfSBcbiAgICA1MCUgeyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMik7IFxuICAgICAgICBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyBcbiAgICAgICAgb3BhY2l0eToxO1xuICAgIH0gXG59IFxuQGtleWZyYW1lcyBncm93SW4geyBcbiAgICAwJSB7IFxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMik7IFxuICAgICAgICBvcGFjaXR5OjA7XG4gICAgfSBcbiAgICA1MCUgeyBcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyBcbiAgICAgICAgXG4gICAgfSBcbiAgICAxMDAlIHsgXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IFxuICAgICAgICBvcGFjaXR5OjE7XG4gICAgfSBcbn0gXG4uZ3Jvd0luIHsgXG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gICAgb3BhY2l0eTowO1xufVxuLmdyb3dJbi5nb3tcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBncm93SW47IFxuICAgIGFuaW1hdGlvbi1uYW1lOiBncm93SW47IFxufVxuXG4vKioqKioqKipcbiogU2hha2UgKlxuKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2UgeyBcbiAgICAwJSwgMTAwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7fSBcbiAgICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO30gXG4gICAgMjAlLCA0MCUsIDYwJSwgODAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTt9IFxufSBcbkBrZXlmcmFtZXMgc2hha2UgeyBcbiAgICAwJSwgMTAwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO30gXG4gICAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7fSBcbiAgICAyMCUsIDQwJSwgNjAlLCA4MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTt9IFxufSBcbi5zaGFrZS5nbyB7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlOyBcbiAgICBhbmltYXRpb24tbmFtZTogc2hha2U7IFxufVxuXG4vKioqKioqKipcbiogU2hha2VVcCAqXG4qKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZVVwIHsgXG4gICAgMCUsIDEwMCUgey13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO30gXG4gICAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUgey13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTt9IFxuICAgIDIwJSwgNDAlLCA2MCUsIDgwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7fSBcbn0gXG5Aa2V5ZnJhbWVzIHNoYWtlVXAgeyBcbiAgICAwJSwgMTAwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO30gXG4gICAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7fSBcbiAgICAyMCUsIDQwJSwgNjAlLCA4MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTt9IFxufSBcbi5zaGFrZVVwLmdvIHsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2VVcDsgXG4gICAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlVXA7IFxufVxuXG4vKioqKioqKioqKioqKlxuKiBGYWRlSW5MZWZ0ICpcbioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHsgXG4gICAgMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7IFxuICAgIH0gXG4gICAgNTAle1xuICAgICAgIG9wYWNpdHk6IDAuMzsgXG4gICAgfVxuICAgIDEwMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyBcbiAgICB9IFxufSBcbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7IFxuICAgIDAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTsgXG4gICAgfSBcbiAgICA1MCV7XG4gICAgICAgb3BhY2l0eTogMC4zOyBcbiAgICB9XG4gICAgMTAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyBcbiAgICB9IFxufSBcbi5mYWRlSW5MZWZ0eyBcbiAgICBvcGFjaXR5OiAwOyBcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpOyBcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTtcbn1cbi5mYWRlSW5MZWZ0LmdvIHsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDsgXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7IFxufVxuXG5cbi8qKioqKioqKioqKioqXG4qIEZhZGVJblJpZ2h0ICpcbioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7IFxuICAgIDAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IFxuICAgIH0gXG4gICAgNTAle1xuICAgICAgIG9wYWNpdHk6IDAuMzsgXG4gICAgfVxuICAgIDEwMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyBcbiAgICB9IFxufSBcbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQgeyBcbiAgICAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAwOyBcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgXG4gICAgfSBcbiAgICA1MCV7XG4gICAgICAgb3BhY2l0eTogMC4zOyBcbiAgICB9XG4gICAgMTAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyBcbiAgICB9IFxufSBcbi5mYWRlSW5SaWdodHsgXG4gICAgb3BhY2l0eTogMDsgXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpOyBcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xufVxuLmZhZGVJblJpZ2h0LmdvIHsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7IFxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDsgXG59XG5cbi8qKioqKioqKioqKioqXG4qIEZhZGVJblVwICpcbioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7IFxuICAgIDAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MDBweCk7IFxuICAgIH0gXG4gICAgNTAle1xuICAgICAgIG9wYWNpdHk6IDAuMzsgXG4gICAgfVxuICAgIDEwMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyBcbiAgICB9IFxufSBcbkBrZXlmcmFtZXMgZmFkZUluVXAgeyBcbiAgICAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAwOyBcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTsgXG4gICAgfSBcbiAgICA1MCV7XG4gICAgICAgb3BhY2l0eTogMC4zOyBcbiAgICB9XG4gICAgMTAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyBcbiAgICB9IFxufSBcbi5mYWRlSW5VcHsgXG4gICAgb3BhY2l0eTogMDsgXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpOyBcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpO1xufVxuLmZhZGVJblVwLmdvIHsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7IFxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDsgXG59XG5cbi8qKioqKioqKioqKioqXG4qIEZhZGVJbkRvd24gKlxuKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24geyBcbiAgICAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAwOyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTsgXG4gICAgfSBcbiAgICA1MCV7XG4gICAgICAgb3BhY2l0eTogMC4zOyBcbiAgICB9XG4gICAgMTAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IFxuICAgIH0gXG59IFxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHsgXG4gICAgMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpOyBcbiAgICB9IFxuICAgIDUwJXtcbiAgICAgICBvcGFjaXR5OiAwLjM7IFxuICAgIH1cbiAgICAxMDAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDE7IFxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IFxuICAgIH0gXG59IFxuLmZhZGVJbkRvd257IFxuICAgIG9wYWNpdHk6IDA7IFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7IFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpO1xufVxuLmZhZGVJbkRvd24uZ28geyBcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duOyBcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjsgXG59XG5cbi8qKioqKioqKioqKioqKioqKlxuKiByb3RhdGVJbiAqXG4qKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbiB7IFxuICAgIDAlIHsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7IFxuICAgICAgICBvcGFjaXR5OiAwOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsgXG4gICAgICAgIG9wYWNpdHk6IDE7IFxuICAgIH0gXG59IFxuQGtleWZyYW1lcyByb3RhdGVJbiB7IFxuICAgIDAlIHsgXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7IFxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgIH0gXG4gICAgMTAwJSB7IFxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOyBcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICB9IFxufSBcbi5yb3RhdGVJbi5nbyB7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluOyBcbiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlSW47IFxufVxuXG4vKioqKioqKioqKioqKioqKipcbiogcm90YXRlSW5VcExlZnQgKlxuKioqKioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7IFxuICAgIDAlIHsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgIH0gXG4gICAgMTAwJSB7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsgXG4gICAgICAgIG9wYWNpdHk6IDE7IFxuICAgIH0gXG59IFxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7IFxuICAgIDAlIHsgXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyBcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgfSBcbiAgICAxMDAlIHsgXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyBcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICB9IFxufSBcbi5yb3RhdGVJblVwTGVmdC5nbyB7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0OyBcbiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7IFxufVxuXG4vKioqKioqKioqKioqKioqKioqKlxuKiByb3RhdGVJbkRvd25MZWZ0ICpcbioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7IFxuICAgIDAlIHsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IFxuICAgICAgICBvcGFjaXR5OiAwOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICB9IFxufSBcbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7IFxuICAgIDAlIHsgXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyBcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgIH0gXG4gICAgMTAwJSB7IFxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsgXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyBcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgfSBcbn0gXG4ucm90YXRlSW5Eb3duTGVmdC5nbyB7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7IFxuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0OyBcbn1cblxuLyoqKioqKioqKioqKioqKioqKlxuKiByb3RhdGVJblVwUmlnaHQgKlxuKioqKioqKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7IFxuICAgIDAlIHsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgfSBcbiAgICAxMDAlIHsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsgXG4gICAgICAgIG9wYWNpdHk6IDE7IFxuICAgIH0gXG59IFxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQgeyBcbiAgICAwJSB7IFxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207IFxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgfSBcbiAgICAxMDAlIHsgXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsgXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyBcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgfSBcbn0gXG4ucm90YXRlSW5VcFJpZ2h0LmdvIHsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0OyBcbiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0OyBcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluRG93blJpZ2h0ICpcbioqKioqKioqKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQgeyBcbiAgICAwJSB7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgfSBcbiAgICAxMDAlIHsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsgXG4gICAgICAgIG9wYWNpdHk6IDE7IFxuICAgIH0gXG59IFxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7IFxuICAgIDAlIHsgXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsgXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgIH0gXG4gICAgMTAwJSB7IFxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207IFxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgXG4gICAgICAgIG9wYWNpdHk6IDE7IFxuICAgIH0gXG59IFxuLnJvdGF0ZUluRG93blJpZ2h0LmdvIHsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7IFxuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDsgXG59XG5cbi8qKioqKioqKipcbiogcm9sbEluICpcbioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4geyBcbiAgICAwJSB7IG9wYWNpdHk6IDA7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZyk7IH0gXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOyB9IFxufSBcbkBrZXlmcmFtZXMgcm9sbEluIHsgXG4gICAgMCUgeyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKTsgfSBcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOyB9IFxufSBcbi5yb2xsSW4uZ28geyBcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47IFxuICAgIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47IFxufVxuXG4vKioqKioqKioqXG4qIHdpZ2dsZSAqXG4qKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgd2lnZ2xlIHsgXG4gICAgMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goOWRlZyk7IH0gXG4gICAgMTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC04ZGVnKTsgfSBcbiAgICAyMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goN2RlZyk7IH0gXG4gICAgMzAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC02ZGVnKTsgfSBcbiAgICA0MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNWRlZyk7IH0gXG4gICAgNTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC00ZGVnKTsgfSBcbiAgICA2MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goM2RlZyk7IH0gXG4gICAgNzAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0yZGVnKTsgfSBcbiAgICA4MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMWRlZyk7IH0gXG4gICAgOTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDBkZWcpOyB9IFxuICAgIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMGRlZyk7IH0gXG59IFxuQGtleWZyYW1lcyB3aWdnbGUgeyBcbiAgICAwJSB7IHRyYW5zZm9ybTogc2tld1goOWRlZyk7IH0gXG4gICAgMTAlIHsgdHJhbnNmb3JtOiBza2V3WCgtOGRlZyk7IH0gXG4gICAgMjAlIHsgdHJhbnNmb3JtOiBza2V3WCg3ZGVnKTsgfSBcbiAgICAzMCUgeyB0cmFuc2Zvcm06IHNrZXdYKC02ZGVnKTsgfSBcbiAgICA0MCUgeyB0cmFuc2Zvcm06IHNrZXdYKDVkZWcpOyB9IFxuICAgIDUwJSB7IHRyYW5zZm9ybTogc2tld1goLTRkZWcpOyB9IFxuICAgIDYwJSB7IHRyYW5zZm9ybTogc2tld1goM2RlZyk7IH0gXG4gICAgNzAlIHsgdHJhbnNmb3JtOiBza2V3WCgtMmRlZyk7IH0gXG4gICAgODAlIHsgdHJhbnNmb3JtOiBza2V3WCgxZGVnKTsgfSBcbiAgICA5MCUgeyB0cmFuc2Zvcm06IHNrZXdYKDBkZWcpOyB9IFxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNrZXdYKDBkZWcpOyB9IFxufSBcbi53aWdnbGUuZ28geyBcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3aWdnbGU7IFxuICAgIGFuaW1hdGlvbi1uYW1lOiB3aWdnbGU7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgXG59IFxuXG4vKioqKioqKipcbiogc3dpbmcgKlxuKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcgeyBcbiAgICAyMCUsIDQwJSwgNjAlLCA4MCUsIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7IH0gXG4gICAgMjAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7IH0gXG4gICAgNDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOyB9IFxuICAgIDYwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH0gXG4gICAgODAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH0gXG4gICAgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0gXG59IFxuQGtleWZyYW1lcyBzd2luZyB7IFxuICAgIDIwJSB7IHRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTsgfSBcbiAgICA0MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOyB9IFxuICAgIDYwJSB7IHRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9IFxuICAgIDgwJSB7IHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfSBcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0gXG59IFxuLnN3aW5nLmdvIHsgXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyOyBcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyOyBcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZzsgXG4gICAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nOyBcbn1cblxuLyoqKioqKipcbiogdGFkYSAqXG4qKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEgeyBcbiAgICAwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO30gXG4gICAgMTAlLCAyMCUgey13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7fSBcbiAgICAzMCUsIDUwJSwgNzAlLCA5MCUgey13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTt9IFxuICAgIDQwJSwgNjAlLCA4MCUgey13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7fSBcbiAgICAxMDAlIHstd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApO30gXG59IFxuQGtleWZyYW1lcyB0YWRhIHsgXG4gICAgMCUge3RyYW5zZm9ybTogc2NhbGUoMSk7fSBcbiAgICAxMCUsIDIwJSB7dHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7fSBcbiAgICAzMCUsIDUwJSwgNzAlLCA5MCUge3RyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7fSBcbiAgICA0MCUsIDYwJSwgODAlIHt0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKTt9IFxuICAgIDEwMCUge3RyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApO30gXG59IFxuLnRhZGEuZ28geyBcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0YWRhOyBcbiAgICBhbmltYXRpb24tbmFtZTogdGFkYTsgXG59XG5cbi8qKioqKioqKipcbiogd29iYmxlICpcbioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB3b2JibGUgeyBcbiAgMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH0gXG4gIDE1JSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7IH0gXG4gIDMwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpOyB9IFxuICA0NSUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpOyB9IFxuICA2MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTsgfSBcbiAgNzUlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpOyB9IFxuICAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9IFxufSBcbkBrZXlmcmFtZXMgd29iYmxlIHsgXG4gIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfSBcbiAgMTUlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7IH0gXG4gIDMwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTsgfSBcbiAgNDUlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7IH0gXG4gIDYwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTsgfSBcbiAgNzUlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTsgfSBcbiAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH0gXG59IFxuLndvYmJsZS5nbyB7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTsgXG4gICAgYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTsgXG59XG5cbi8qKioqKioqKlxuKiBwdWxzZSAqXG4qKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7IFxuICAgIDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9IFxuICAgIDUwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9IFxuICAgIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH0gXG59IFxuQGtleWZyYW1lcyBwdWxzZSB7IFxuICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSBcbiAgICA1MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH0gXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gXG59IFxuLnB1bHNlLmdvIHsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHVsc2U7IFxuICAgIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTsgXG59XG5cbi8qKioqKioqKioqKioqKipcbiogbGlnaHRTcGVlZEluUmlnaHQgKlxuKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5SaWdodCB7IFxuICAgMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpOyBvcGFjaXR5OiAwOyB9IFxuICAgIDYwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTsgb3BhY2l0eTogMTsgfSBcbiAgICA4MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTsgb3BhY2l0eTogMTsgfSBcbiAgICAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpOyBvcGFjaXR5OiAxOyB9IFxufSBcbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluUmlnaHQgeyBcbiAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpOyBvcGFjaXR5OiAwOyB9IFxuICAgIDYwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7IG9wYWNpdHk6IDE7IH0gXG4gICAgODAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpOyBvcGFjaXR5OiAxOyB9IFxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpOyBvcGFjaXR5OiAxOyB9IFxufSBcbi5saWdodFNwZWVkSW5SaWdodC5nbyB7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJblJpZ2h0OyBcbiAgICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluUmlnaHQ7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IFxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyBcbn0gXG5cbi8qKioqKioqKioqKioqKipcbiogbGlnaHRTcGVlZEluTGVmdCAqXG4qKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbkxlZnQgeyBcbiAgIDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHNrZXdYKDMwZGVnKTsgb3BhY2l0eTogMDsgfSBcbiAgICA2MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHNrZXdYKC0zMGRlZyk7IG9wYWNpdHk6IDE7IH0gXG4gICAgODAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDE1ZGVnKTsgb3BhY2l0eTogMTsgfSBcbiAgICAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpOyBvcGFjaXR5OiAxOyB9IFxufSBcbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluTGVmdCB7IFxuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSBza2V3WCgzMGRlZyk7IG9wYWNpdHk6IDA7IH0gXG4gICAgNjAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgc2tld1goLTMwZGVnKTsgb3BhY2l0eTogMTsgfSBcbiAgICA4MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDE1ZGVnKTsgb3BhY2l0eTogMTsgfSBcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTsgb3BhY2l0eTogMTsgfSBcbn0gXG4ubGlnaHRTcGVlZEluTGVmdC5nbyB7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbkxlZnQ7IFxuICAgIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5MZWZ0OyBcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyBcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgXG59IFxuXG5cbi8qKioqKioqXG4qIEZsaXAgKlxuKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHsgXG4gICAgMCUgeyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApOyBcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgXG4gICAgfSBcbiAgICA0MCUgeyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZyk7IFxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyBcbiAgICB9IFxuICAgIDUwJSB7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTsgXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgXG4gICAgfSBcbiAgICA4MCUgeyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDM2MGRlZykgc2NhbGUoLjk1KTsgXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgXG4gICAgfSBcbiAgICAxMDAlIHsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUoMSk7IFxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IFxuICAgIH0gXG59XG5Aa2V5ZnJhbWVzIGZsaXAgeyBcbiAgICAwJSB7IFxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApOyBcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IFxuICAgIH0gXG4gICAgNDAlIHsgXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKTsgXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyBcbiAgICB9IFxuICAgIDUwJSB7IFxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7IFxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyBcbiAgICB9IFxuICAgIDgwJSB7IFxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDM2MGRlZykgc2NhbGUoLjk1KTsgXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IFxuICAgIH0gXG4gICAgMTAwJSB7IFxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZSgxKTsgXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IFxuICAgIH0gXG59IFxuLmZsaXAuZ28geyBcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcDsgXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OyBcbiAgICBhbmltYXRpb24tbmFtZTogZmxpcDsgXG59XG5cbi8qKioqKioqKioqXG4qIGZsaXBJblggKlxuKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHsgXG4gICAgMCUgeyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgIH0gXG4gICAgNDAlIHsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpOyBcbiAgICB9IFxuICAgIDcwJSB7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpOyBcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgfSBcbn0gXG5Aa2V5ZnJhbWVzIGZsaXBJblggeyBcbiAgICAwJSB7IFxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgIH0gXG4gICAgNDAlIHsgXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTsgXG4gICAgfSBcbiAgICA3MCUgeyBcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7IFxuICAgIH0gXG4gICAgMTAwJSB7IFxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpOyBcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgfSBcbn0gXG4uZmxpcEluWC5nbyB7IFxuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OyBcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YOyBcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7IFxuICAgIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YOyBcbn1cblxuLyoqKioqKioqKipcbiogZmxpcEluWSAqXG4qKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWSB7IFxuICAgIDAlIHsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7IFxuICAgICAgICBvcGFjaXR5OiAwOyBcbiAgICB9IFxuICAgIDQwJSB7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTsgXG4gICAgfSBcbiAgICA3MCUgeyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTsgXG4gICAgfSBcbiAgICAxMDAlIHsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTsgXG4gICAgICAgIG9wYWNpdHk6IDE7IFxuICAgIH0gXG59IFxuQGtleWZyYW1lcyBmbGlwSW5ZIHsgXG4gICAgMCUgeyBcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7IFxuICAgICAgICBvcGFjaXR5OiAwOyBcbiAgICB9IFxuICAgIDQwJSB7IFxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7IFxuICAgIH0gXG4gICAgNzAlIHsgXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTsgXG4gICAgICAgIG9wYWNpdHk6IDE7IFxuICAgIH0gXG59IFxuLmZsaXBJblkuZ28geyBcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWTsgXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OyBcbiAgICBhbmltYXRpb24tbmFtZTogZmxpcEluWTsgXG59XG5cbi8qKioqKioqKioqKioqKioqKlxuKiBPdXQgYW5pbWF0aW9ucyAqXG4qKioqKioqKioqKioqKioqKi9cblxuXG4vKioqKioqKioqKioqXG4qIGJvdW5jZU91dCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7IFxuICAgIDAlIHsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgXG4gICAgfSBcbiAgICAyNSUgeyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC45NSk7IFxuICAgIH0gXG4gICAgNTAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDE7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTsgXG4gICAgfSBcbiAgICAxMDAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjMpOyBcbiAgICB9IFxufSBcbkBrZXlmcmFtZXMgYm91bmNlT3V0IHsgXG4gICAgMCUgeyBcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgXG4gICAgfSBcbiAgICAyNSUgeyBcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguOTUpOyBcbiAgICB9IFxuICAgIDUwJSB7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjMpOyBcbiAgICB9IFxufSBcbi5ib3VuY2VPdXQuZ29Bd2F5IHsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0OyBcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0OyBcbn1cblxuLyoqKioqKioqKioqKlxuKiBib3VuY2VPdXRVcCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFVwIHsgXG4gICAgMCUgeyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IFxuICAgIH0gXG4gICAgMjAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDE7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgXG4gICAgfSBcbiAgICAxMDAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsgXG4gICAgfSBcbn0gXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHsgXG4gICAgMCUgeyBcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyBcbiAgICB9IFxuICAgIDIwJSB7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsgXG4gICAgfSBcbn0gXG4uYm91bmNlT3V0VXAuZ29Bd2F5IHsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7IFxuICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDsgXG59XG5cbi8qKioqKioqKioqKipcbiogYm91bmNlT3V0RG93biAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dERvd24geyBcbiAgICAwJSB7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgXG4gICAgfSBcbiAgICAyMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgXG4gICAgfSBcbiAgICAxMDAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOyBcbiAgICB9IFxufSBcbkBrZXlmcmFtZXMgYm91bmNlT3V0RG93biB7IFxuICAgIDAlIHsgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgXG4gICAgfSBcbiAgICAyMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IFxuICAgIH0gXG4gICAgMTAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAwOyBcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7IFxuICAgIH0gXG59IFxuLmJvdW5jZU91dERvd24uZ29Bd2F5IHsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjsgXG4gICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247IFxufVxuXG5cbi8qKioqKioqKioqKipcbiogYm91bmNlT3V0TGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnQgeyBcbiAgICAwJSB7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgXG4gICAgfSBcbiAgICAyMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOyBcbiAgICB9IFxufSBcbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7IFxuICAgIDAlIHsgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgXG4gICAgfSBcbiAgICAyMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsgXG4gICAgfSBcbiAgICAxMDAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7IFxuICAgIH0gXG59IFxuLmJvdW5jZU91dExlZnQuZ29Bd2F5IHsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDsgXG4gICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7IFxufVxuXG4vKioqKioqKioqKioqXG4qIGJvdW5jZU91dFJpZ2h0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQgeyBcbiAgICAwJSB7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgXG4gICAgfSBcbiAgICAyMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsgXG4gICAgfSBcbiAgICAxMDAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOyBcbiAgICB9IFxufSBcbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQgeyBcbiAgICAwJSB7IFxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IFxuICAgIH0gXG4gICAgMjAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDE7IFxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOyBcbiAgICB9IFxufSBcbi5ib3VuY2VPdXRSaWdodC5nb0F3YXkgeyBcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDsgXG4gICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0OyBcbn1cblxuLyoqKioqKioqKioqKlxuKiBmYWRlT3V0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7IFxuICAgIDAlIHtvcGFjaXR5OiAxO30gXG4gICAgMTAwJSB7b3BhY2l0eTogMDt9IFxufSBcbkBrZXlmcmFtZXMgZmFkZU91dCB7IFxuICAgIDAlIHtvcGFjaXR5OiAxO30gXG4gICAgMTAwJSB7b3BhY2l0eTogMDt9IFxufSBcbi5mYWRlT3V0LmdvQXdheSB7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7IFxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0OyBcbn1cblxuLyoqKioqKioqKioqKlxuKiBmYWRlT3V0VXAgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAgeyBcbiAgICAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IFxuICAgIH0gXG4gICAgMTAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAwOyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7IFxuICAgIH0gXG59IFxuQGtleWZyYW1lcyBmYWRlT3V0VXAgeyBcbiAgICAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsgXG4gICAgfSBcbn0gXG4uZmFkZU91dFVwLmdvQXdheSB7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDsgXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDsgXG59XG5cbi8qKioqKioqKioqKipcbiogZmFkZU91dERvd24gKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7IFxuICAgIDAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDE7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgXG4gICAgfSBcbiAgICAxMDAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOyBcbiAgICB9IFxufSBcbkBrZXlmcmFtZXMgZmFkZU91dERvd24geyBcbiAgICAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOyBcbiAgICB9IFxufSBcbi5mYWRlT3V0RG93bi5nb0F3YXkgeyBcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjsgXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duOyBcbn1cblxuLyoqKioqKioqKioqKlxuKiBmYWRlT3V0TGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHsgXG4gICAgMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOyBcbiAgICB9IFxufSBcbkBrZXlmcmFtZXMgZmFkZU91dExlZnQgeyBcbiAgICAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsgXG4gICAgfSBcbn0gXG4uZmFkZU91dExlZnQuZ29Bd2F5IHsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7IFxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDsgXG59XG5cbi8qKioqKioqKioqKipcbiogZmFkZU91dFJpZ2h0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHsgXG4gICAgMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7IFxuICAgIH0gXG59IFxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQgeyBcbiAgICAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOyBcbiAgICB9IFxufSBcbi5mYWRlT3V0UmlnaHQuZ29Bd2F5IHsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0OyBcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0OyBcbn1cbi8qKioqKioqKioqKipcbiogZmxpcE91dFggKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WCB7IFxuICAgIDAlIHsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsgXG4gICAgICAgIG9wYWNpdHk6IDE7IFxuICAgIH0gXG4gICAgMTAwJSB7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpOyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgfSBcbn0gXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHsgXG4gICAgMCUgeyBcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsgXG4gICAgICAgIG9wYWNpdHk6IDE7IFxuICAgIH0gXG4gICAgMTAwJSB7IFxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgIH0gXG59IFxuLmZsaXBPdXRYLmdvQXdheSB7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYOyBcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsgXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYOyBcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7IFxufVxuXG4vKioqKioqKioqKioqXG4qIGZsaXBPdXRZICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkgeyBcbiAgICAwJSB7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgIH0gXG59IFxuQGtleWZyYW1lcyBmbGlwT3V0WSB7IFxuICAgIDAlIHsgXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7IFxuICAgICAgICBvcGFjaXR5OiAwOyBcbiAgICB9IFxufSBcbi5mbGlwT3V0WSB7IFxuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OyBcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTsgXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OyBcbiAgICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7IFxufVxuXG4vKioqKioqKioqKioqXG4qIGxpZ2h0U3BlZWRPdXRSaWdodCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRSaWdodCB7IFxuICAgIDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpOyBvcGFjaXR5OiAxOyB9IFxuICAgIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpOyBvcGFjaXR5OiAwOyB9IFxufSBcbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0IHsgXG4gICAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpOyBvcGFjaXR5OiAxOyB9IFxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTsgb3BhY2l0eTogMDsgfSBcbn0gXG4ubGlnaHRTcGVlZE91dFJpZ2h0LmdvQXdheSB7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRSaWdodDsgXG4gICAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRSaWdodDsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyBcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyBcbn0gXG5cblxuLyoqKioqKioqKioqKlxuKiBsaWdodFNwZWVkT3V0TGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRMZWZ0IHsgXG4gICAgMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7IG9wYWNpdHk6IDE7IH0gXG4gICAgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSBza2V3WCgzMGRlZyk7IG9wYWNpdHk6IDA7IH0gXG59IFxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0TGVmdCB7IFxuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTsgb3BhY2l0eTogMTsgfSBcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSBza2V3WCgzMGRlZyk7IG9wYWNpdHk6IDA7IH0gXG59IFxuLmxpZ2h0U3BlZWRPdXRMZWZ0LmdvQXdheSB7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRMZWZ0OyBcbiAgICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dExlZnQ7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgXG5cbn0gXG5cbi8qKioqKioqKioqKipcbiogcm90YXRlT3V0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0IHsgXG4gICAgMCUgeyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsgXG4gICAgICAgIG9wYWNpdHk6IDE7IFxuICAgIH0gXG4gICAgMTAwJSB7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7IFxuICAgICAgICBvcGFjaXR5OiAwOyBcbiAgICB9IFxufSBcbkBrZXlmcmFtZXMgcm90YXRlT3V0IHsgXG4gICAgMCUgeyBcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsgXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyBcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgfSBcbiAgICAxMDAlIHsgXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7IFxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpOyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgfSBcbn0gXG4ucm90YXRlT3V0LmdvQXdheSB7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDsgXG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDsgXG59XG5cblxuLyoqKioqKioqKioqKlxuKiByb3RhdGVPdXRVcExlZnQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQgeyBcbiAgICAwJSB7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsgXG4gICAgICAgIG9wYWNpdHk6IDE7IFxuICAgIH0gXG4gICAgMTAwJSB7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgfSBcbn0gXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7IFxuICAgIDAlIHsgXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyBcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyBcbiAgICAgICAgLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IFxuICAgICAgICBvcGFjaXR5OiAwOyBcbiAgICB9IFxufSBcbi5yb3RhdGVPdXRVcExlZnQuZ29Bd2F5IHsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0OyBcbiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0OyBcbn1cblxuLyoqKioqKioqKioqKlxuKiByb3RhdGVPdXREb3duTGVmdCAqXG4qKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQgeyBcbiAgICAwJSB7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsgXG4gICAgICAgIG9wYWNpdHk6IDE7IFxuICAgIH0gXG4gICAgMTAwJSB7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IFxuICAgICAgICBvcGFjaXR5OiAwOyBcbiAgICB9IFxufSBcbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQgeyBcbiAgICAwJSB7IFxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsgXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyBcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgfSBcbiAgICAxMDAlIHsgXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyBcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgfSBcbn0gXG4ucm90YXRlT3V0RG93bkxlZnQuZ29Bd2F5IHsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7IFxuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDsgXG59XG4vKioqKioqKioqKioqXG4qIHJvdGF0ZU91dFVwUmlnaHQgKlxuKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQgeyBcbiAgICAwJSB7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgIH0gXG59IFxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHsgXG4gICAgMCUgeyBcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOyBcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOyBcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgfSBcbn0gXG4ucm90YXRlT3V0VXBSaWdodC5nb0F3YXkgeyBcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0OyBcbiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDsgXG59XG5cbi8qKioqKioqKioqKipcbiogcm9sbE91dCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQgeyBcbiAgICAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7IFxuICAgIH0gXG4gICAgMTAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAwOyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7IFxuICAgIH0gXG59IFxuQGtleWZyYW1lcyByb2xsT3V0IHsgXG4gICAgMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsgXG4gICAgfSBcbiAgICAxMDAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7IFxuICAgIH0gXG59IFxuLnJvbGxPdXQuZ29Bd2F5IHsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbE91dDsgXG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7IFxufVxuLyoqKioqKioqKioqKioqKioqXG4qIFNob3J0IEFuaW1hdGlvbnNcbioqKioqKioqKioqKioqKioqKiovXG5cbi8qKioqKioqKioqKioqKioqKioqKipcbiogZmFkZUluVXBTaG9ydFxuKioqKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwU2hvcnQgeyBcbiAgICAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAwOyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7IFxuICAgIH0gXG4gICAgMTAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IFxuICAgIH0gXG59IFxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwU2hvcnQgeyBcbiAgICAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAwOyBcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgXG4gICAgfSBcbn0gXG4uZmFkZUluVXBTaG9ydHtcbiAgICBvcGFjaXR5OiAwOyBcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyBcbn1cbi5mYWRlSW5VcFNob3J0LmdvIHsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXBTaG9ydDsgXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwU2hvcnQ7IFxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG4qIGZhZGVJbkRvd25TaG9ydFxuKioqKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd25TaG9ydCB7IFxuICAgIDAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IFxuICAgIH0gXG4gICAgMTAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IFxuICAgIH0gXG59IFxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25TaG9ydCB7IFxuICAgIDAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgXG4gICAgfSBcbn0gXG4uZmFkZUluRG93blNob3J0e1xuICAgIG9wYWNpdHk6IDA7IFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgXG59XG4uZmFkZUluRG93blNob3J0LmdvIHsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93blNob3J0OyBcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93blNob3J0OyBcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuKiBmYWRlSW5SaWdodFNob3J0IFxuKioqKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0U2hvcnQgeyBcbiAgICAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAwOyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7IFxuICAgIH0gXG4gICAgMTAwJSB7IFxuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IFxuICAgIH0gXG59IFxuQGtleWZyYW1lcyBmYWRlSW5SaWdodFNob3J0IHsgXG4gICAgMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsgXG4gICAgfSBcbiAgICAxMDAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDE7IFxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IFxuICAgIH0gXG59IFxuLmZhZGVJblJpZ2h0U2hvcnQgeyBcbiAgICBvcGFjaXR5OiAwOyBcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsgIFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsgXG59XG4uZmFkZUluUmlnaHRTaG9ydC5nbyB7IFxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0U2hvcnQ7IFxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodFNob3J0OyBcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuKiBmYWRlSW5MZWZ0U2hvcnQgXG4qKioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdFNob3J0IHsgXG4gICAgMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMDsgXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsgXG4gICAgfSBcbiAgICAxMDAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDE7IFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgXG4gICAgfSBcbn0gXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRTaG9ydCB7IFxuICAgIDAlIHsgXG4gICAgICAgIG9wYWNpdHk6IDA7IFxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOyBcbiAgICB9IFxuICAgIDEwMCUgeyBcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgXG4gICAgfSBcbn0gXG4uZmFkZUluTGVmdFNob3J0IHsgXG4gICAgb3BhY2l0eTogMDsgXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOyAgXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsgXG59XG4uZmFkZUluTGVmdFNob3J0LmdvIHsgXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdFNob3J0OyBcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdFNob3J0OyBcbn1cbiIsIi8vIERlZmF1bHQgdmFyaWFibGVzXG4kZm9udF9zaXplOiAxNHB4ICFkZWZhdWx0O1xuJGZvbnRfc2l6ZV9zbWFsbDogMTJweCAhZGVmYXVsdDtcblxuJGlucHV0X2JvcmRlcl9yYWRpdXM6IDVweCAhZGVmYXVsdDtcbiRpbnB1dF9oZWlnaHQ6IDM3cHggIWRlZmF1bHQ7XG4kaW5wdXRfaGVpZ2h0X3NtYWxsOiAzNnB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duX3BhZGRpbmc6IDE4cHggIWRlZmF1bHQ7XG5cbiRncmF5X2Rhcms6ICM0NDQgIWRlZmF1bHQ7XG4kZ3JheTogIzc1NzU3NSAhZGVmYXVsdDtcbiRncmF5X2xpZ2h0OiAjZDhkOGQ4ICFkZWZhdWx0O1xuJGdyYXlfbGlnaHRlcjogI2NjY2NjYyAhZGVmYXVsdDtcbiRwcmltYXJ5X2xpZ2h0OiAkZ3JheSAhZGVmYXVsdDtcbiRhcnJvd19jb2xvcjogJGdyYXkgIWRlZmF1bHQ7XG5cbi8vIFN0eWxlIHRoZSBkcm9wZG93blxuLm5pY2Utc2VsZWN0IHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXRfYm9yZGVyX3JhZGl1cztcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2Q4ZDhkODtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY2xlYXI6IGJvdGg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8vIGZsb2F0OiBsZWZ0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAkZm9udF9zaXplO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBoZWlnaHQ6ICRpbnB1dF9oZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXRfaGVpZ2h0O1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6ICRkcm9wZG93bl9wYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkZHJvcGRvd25fcGFkZGluZyArIDEyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgICBcbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGdyYXlfbGlnaHQsIDUlKTtcbiAgfVxuICAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeV9saWdodDtcbiAgfVxuICAvLyBBcnJvd1xuICAmOmFmdGVyIHtcbiAgICAvLyBib3JkZXItYm90dG9tOiAycHggc29saWQgJGFycm93X2NvbG9yO1xuICAgIC8vIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRhcnJvd19jb2xvcjtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDNweDtcbiAgICB0b3A6IDEwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA2NiUgNjYlO1xuICAgIC8vdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29uLWRvd24ucG5nKTtcbiAgfVxuXG4gICYub3BlbiB7XG4gICAgQGV4dGVuZCA6YWN0aXZlO1xuICAgICY6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgICB0b3A6IC0xMiU7XG4gICAgICByaWdodDogMTJweDtcbiAgICB9XG4gICAgLmxpc3Qge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKDApO1xuICAgIH1cbiAgfVxuICAmLmRpc2FibGVkIHtcbiAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGdyYXlfbGlnaHQsIDIlKTtcbiAgICBjb2xvcjogJGdyYXk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGFycm93X2NvbG9yLCAyMCUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1vZGlmaWVyc1xuICAmLndpZGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5saXN0IHtcbiAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gICYucmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICAubGlzdCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG4gICYuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJGZvbnRfc2l6ZV9zbWFsbDtcbiAgICBoZWlnaHQ6ICRpbnB1dF9oZWlnaHRfc21hbGw7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dF9oZWlnaHRfc21hbGwgLSAyO1xuICAgICY6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICB3aWR0aDogNHB4O1xuICAgIH1cbiAgICAub3B0aW9uIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXRfaGVpZ2h0X3NtYWxsIC0gMjtcbiAgICAgIG1pbi1oZWlnaHQ6ICRpbnB1dF9oZWlnaHRfc21hbGwgLSAyO1xuICAgIH1cbiAgfVxuXG4gIC8vIExpc3QgYW5kIG9wdGlvbnNcbiAgLmxpc3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vYm9yZGVyLXJhZGl1czogJGlucHV0X2JvcmRlcl9yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGdyYXlfZGFyaywgLjExKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguNzUpIHRyYW5zbGF0ZVkoLSAkaW5wdXRfaGVpZ2h0IC8gMik7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBjdWJpYy1iZXppZXIoMC41LCAwLCAwLCAxLjI1KSwgb3BhY2l0eSAuMTVzIGVhc2Utb3V0O1xuICAgIHotaW5kZXg6IDk7XG4gICAgJjpob3ZlciAub3B0aW9uOm5vdCg6aG92ZXIpIHtcblxuICAgIH1cbiAgfVxuICAub3B0aW9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0X2hlaWdodDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGhlaWdodDogJGlucHV0X2hlaWdodDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogJGRyb3Bkb3duX3BhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJGRyb3Bkb3duX3BhZGRpbmcgKyAxMTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgIGJhY2tncm91bmQ6ICMwNDA1MDg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyNTIyM2Q7XG4gICAgY29sb3I6ICM2ODc3OGI7XG4gICAgXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG4gICAgJjpob3ZlciwgJi5mb2N1cywgJi5zZWxlY3RlZC5mb2N1cyB7XG4gICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGdyYXlfbGlnaHRlcjtcbiAgICAgICAgY29sb3I6ICNmZmIwMzY7XG4gICAgfVxuICAgICYuc2VsZWN0ZWQge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICAgICYuZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztcbiAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG4gICAgXG4gIH1cbn1cblxuLy8gVXNlIGRpc3BsYXkgaW5zdGVhZCBvZiBvcGFjaXR5IGZvciBJRSA8PSAxMFxuLm5vLWNzc3BvaW50ZXJldmVudHMgLm5pY2Utc2VsZWN0IHtcbiAgLmxpc3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgJi5vcGVuIHtcbiAgICAubGlzdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8qYW5pbWF0aW9ucyovXG5cbi8qKioqKioqKioqKioqKioqKipcbiogQm91bmNlIGluIHJpZ2h0ICpcbioqKioqKioqKioqKioqKioqKiovXG5cblxuLmFuaW1hdGVkIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi5zbG93IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuXG4uc2xvd2VyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDJzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi5zbG93ZXN0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDNzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDNzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi8qIEFkZGVkIGJ5IEFuZHkgTWVldGFuICovXG4uZGVsYXktMjUwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuMjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMC4yNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMC4yNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMC4yNXM7XG59XG5cbi5kZWxheS01MDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDAuNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMC41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xufVxuXG4uZGVsYXktNzUwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuNzVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMC43NXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMC43NXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMC43NXM7XG59XG5cbi5kZWxheS0xMDAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDEuMHM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAxLjBzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDEuMHM7XG4gIGFuaW1hdGlvbi1kZWxheTogMS4wcztcbn1cblxuLmRlbGF5LTEyNTAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMS4yNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAxLjI1cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAxLjI1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjI1cztcbn1cblxuLmRlbGF5LTE1MDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMS41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDEuNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMS41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xufVxuXG4uZGVsYXktMTc1MCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjc1cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDEuNzVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDEuNzVzO1xuICBhbmltYXRpb24tZGVsYXk6IDEuNzVzO1xufVxuXG4uZGVsYXktMjAwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMi4wcztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICBhbmltYXRpb24tZGVsYXk6IDIuMHM7XG59XG5cbi5kZWxheS0yNTAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMi41cztcbn1cblxuLmRlbGF5LTIwMDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMi4wcztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDIuMHM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMi4wcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xufVxuXG4uZGVsYXktMjUwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDIuNXM7XG59XG5cbi5kZWxheS0zMDAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDMuMHM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAzLjBzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDMuMHM7XG4gIGFuaW1hdGlvbi1kZWxheTogMy4wcztcbn1cblxuLmRlbGF5LTM1MDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMy41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDMuNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMy41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAzLjVzO1xufVxuXG4uYm91bmNlSW5SaWdodCxcbi5ib3VuY2VJbkxlZnQsXG4uYm91bmNlSW5VcCxcbi5ib3VuY2VJbkRvd24ge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG59XG5cbi5mYWRlSW5SaWdodCxcbi5mYWRlSW5MZWZ0LFxuLmZhZGVJblVwLFxuLmZhZGVJbkRvd24ge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG59XG5cbi5mbGlwSW5YLFxuLmZsaXBJblksXG4ucm90YXRlSW4sXG4ucm90YXRlSW5VcExlZnQsXG4ucm90YXRlSW5VcFJpZ2h0LFxuLnJvdGF0ZUluRG93bkxlZnQsXG4ucm90YXRlRG93blVwUmlnaHQsXG4ucm9sbEluIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmxpZ2h0U3BlZWRJblJpZ2h0LFxuLmxpZ2h0U3BlZWRJbkxlZnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG59XG5cbi8qKioqKioqKioqKlxuKiBib3VuY2VJbiAqXG4qKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjMpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC45KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMyk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguOSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbi5ib3VuY2VJbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47XG59XG5cbi8qKioqKioqKioqKioqKioqXG4qIGJvdW5jZUluUmlnaHQgKlxuKioqKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgfVxuXG4gIDYwJSB7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgfVxuXG4gIDYwJSB7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cblxuLmJvdW5jZUluUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKlxuKiBCb3VuY2UgaW4gbGVmdCAqXG4qKioqKioqKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpO1xuICB9XG5cbiAgNjAlIHtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpO1xuICB9XG5cbiAgNjAlIHtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLmJvdW5jZUluTGVmdC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKlxuKiBCb3VuY2UgaW4gdXAgKlxuKioqKioqKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTtcbiAgfVxuXG4gIDYwJSB7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTtcbiAgfVxuXG4gIDYwJSB7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5ib3VuY2VJblVwLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKlxuKiBCb3VuY2UgaW4gZG93biAqXG4qKioqKioqKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpO1xuICB9XG5cbiAgNjAlIHtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpO1xuICB9XG5cbiAgNjAlIHtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLmJvdW5jZUluRG93bi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbn1cblxuXG4vKioqKioqKioqKlxuKiBGYWRlIEluICpcbioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5mYWRlSW4ge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uZmFkZUluLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuXG4vKioqKioqKioqKlxuKiBHcm93IGluICpcbioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZ3Jvd0luIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuXG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGdyb3dJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuXG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmdyb3dJbiB7XG5cbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmdyb3dJbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGdyb3dJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGdyb3dJbjtcbn1cblxuLyoqKioqKioqXG4qIFNoYWtlICpcbioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlIHtcblxuICAwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICB9XG5cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcblxuICAwJSxcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gIH1cblxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgfVxufVxuXG4uc2hha2UuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xufVxuXG4vKioqKioqKipcbiogU2hha2VVcCAqXG4qKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZVVwIHtcblxuICAwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG5cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNoYWtlVXAge1xuXG4gIDAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgfVxuXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICB9XG59XG5cbi5zaGFrZVVwLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2VVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlVXA7XG59XG5cbi8qKioqKioqKioqKioqXG4qIEZhZGVJbkxlZnQgKlxuKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4uZmFkZUluTGVmdCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpO1xufVxuXG4uZmFkZUluTGVmdC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuXG5cbi8qKioqKioqKioqKioqXG4qIEZhZGVJblJpZ2h0ICpcbioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLmZhZGVJblJpZ2h0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xufVxuXG4uZmFkZUluUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xufVxuXG4vKioqKioqKioqKioqKlxuKiBGYWRlSW5VcCAqXG4qKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MDBweCk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MDBweCk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5mYWRlSW5VcCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTtcbn1cblxuLmZhZGVJblVwLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn1cblxuLyoqKioqKioqKioqKipcbiogRmFkZUluRG93biAqXG4qKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5mYWRlSW5Eb3duIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7XG59XG5cbi5mYWRlSW5Eb3duLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG59XG5cbi8qKioqKioqKioqKioqKioqKlxuKiByb3RhdGVJbiAqXG4qKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW4uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xufVxuXG4vKioqKioqKioqKioqKioqKipcbiogcm90YXRlSW5VcExlZnQgKlxuKioqKioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5VcExlZnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKlxuKiByb3RhdGVJbkRvd25MZWZ0ICpcbioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluRG93bkxlZnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKlxuKiByb3RhdGVJblVwUmlnaHQgKlxuKioqKioqKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluVXBSaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluRG93blJpZ2h0ICpcbioqKioqKioqKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbkRvd25SaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG59XG5cbi8qKioqKioqKipcbiogcm9sbEluICpcbioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvbGxJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7XG4gIH1cbn1cblxuLnJvbGxJbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbn1cblxuLyoqKioqKioqKlxuKiB3aWdnbGUgKlxuKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHdpZ2dsZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goOWRlZyk7XG4gIH1cblxuICAxMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtOGRlZyk7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg3ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC02ZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDVkZWcpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTRkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goM2RlZyk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMmRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxZGVnKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgd2lnZ2xlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goOWRlZyk7XG4gIH1cblxuICAxMCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goLThkZWcpO1xuICB9XG5cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDdkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC02ZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goM2RlZyk7XG4gIH1cblxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goLTJkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDFkZWcpO1xuICB9XG5cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwZGVnKTtcbiAgfVxufVxuXG4ud2lnZ2xlLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd2lnZ2xlO1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5cbi8qKioqKioqKlxuKiBzd2luZyAqXG4qKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7XG5cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlLFxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7XG4gIH1cblxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxuXG4uc3dpbmcuZ28ge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xuICBhbmltYXRpb24tbmFtZTogc3dpbmc7XG59XG5cbi8qKioqKioqXG4qIHRhZGEgKlxuKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIDEwJSxcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpO1xuICB9XG5cbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XG4gIH1cblxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHRhZGEge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIDEwJSxcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTtcbiAgfVxuXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTtcbiAgfVxuXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7XG4gIH1cbn1cblxuLnRhZGEuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0YWRhO1xuICBhbmltYXRpb24tbmFtZTogdGFkYTtcbn1cblxuLyoqKioqKioqKlxuKiB3b2JibGUgKlxuKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cblxuICAxNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgd29iYmxlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cblxuICAxNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyk7XG4gIH1cblxuICA0NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7XG4gIH1cblxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG59XG5cbi53b2JibGUuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG4gIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG59XG5cbi8qKioqKioqKlxuKiBwdWxzZSAqXG4qKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7XG4gIC8vIDAlIHtcbiAgLy8gICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC8vIH1cblxuICAvLyA1MCUge1xuICAvLyAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAvLyB9XG5cbiAgLy8gMTAwJSB7XG4gIC8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAvLyB9XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjcpO1xuICB9XG5cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAvLyAwJSB7XG4gIC8vICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLy8gfVxuXG4gIC8vIDUwJSB7XG4gIC8vICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAvLyB9XG5cbiAgLy8gMTAwJSB7XG4gIC8vICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLy8gfVxuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxufVxuXG4ucHVsc2UuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xufVxuXG4vKioqKioqKioqKioqKioqXG4qIGxpZ2h0U3BlZWRJblJpZ2h0ICpcbioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ubGlnaHRTcGVlZEluUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJblJpZ2h0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cblxuLyoqKioqKioqKioqKioqKlxuKiBsaWdodFNwZWVkSW5MZWZ0ICpcbioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbkxlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5saWdodFNwZWVkSW5MZWZ0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbkxlZnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xufVxuXG5cbi8qKioqKioqXG4qIEZsaXAgKlxuKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKC45NSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZSgxKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSguOTUpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZSgxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG59XG5cbi5mbGlwLmdvIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG59XG5cbi8qKioqKioqKioqXG4qIGZsaXBJblggKlxuKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblgge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpO1xuICB9XG5cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uZmxpcEluWC5nbyB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xufVxuXG4vKioqKioqKioqKlxuKiBmbGlwSW5ZICpcbioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTBkZWcpO1xuICB9XG5cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uZmxpcEluWS5nbyB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xufVxuXG4vKioqKioqKioqKioqKioqKipcbiogT3V0IGFuaW1hdGlvbnMgKlxuKioqKioqKioqKioqKioqKiovXG5cblxuLyoqKioqKioqKioqKlxuKiBib3VuY2VPdXQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgMjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjk1KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4zKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgMjUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC45NSk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4zKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbn1cblxuLyoqKioqKioqKioqKlxuKiBib3VuY2VPdXRVcCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgfVxufVxuXG4uYm91bmNlT3V0VXAuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbn1cblxuLyoqKioqKioqKioqKlxuKiBib3VuY2VPdXREb3duICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgfVxufVxuXG4uYm91bmNlT3V0RG93bi5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbn1cblxuXG4vKioqKioqKioqKioqXG4qIGJvdW5jZU91dExlZnQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICB9XG59XG5cbi5ib3VuY2VPdXRMZWZ0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xufVxuXG4vKioqKioqKioqKioqXG4qIGJvdW5jZU91dFJpZ2h0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICB9XG59XG5cbi5ib3VuY2VPdXRSaWdodC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xufVxuXG4vKioqKioqKioqKioqXG4qIGZhZGVPdXQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmFkZU91dC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuLyoqKioqKioqKioqKlxuKiBmYWRlT3V0VXAgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgfVxufVxuXG4uZmFkZU91dFVwLmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cblxuLyoqKioqKioqKioqKlxuKiBmYWRlT3V0RG93biAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gIH1cbn1cblxuLmZhZGVPdXREb3duLmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG59XG5cbi8qKioqKioqKioqKipcbiogZmFkZU91dExlZnQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG59XG5cbi8qKioqKioqKioqKipcbiogZmFkZU91dFJpZ2h0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICB9XG59XG5cbi5mYWRlT3V0UmlnaHQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xufVxuXG4vKioqKioqKioqKioqXG4qIGZsaXBPdXRYICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFgge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGlwT3V0WC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqXG4qIGZsaXBPdXRZICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGlwT3V0WSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG59XG5cbi8qKioqKioqKioqKipcbiogbGlnaHRTcGVlZE91dFJpZ2h0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRPdXRSaWdodC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0UmlnaHQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbn1cblxuXG4vKioqKioqKioqKioqXG4qIGxpZ2h0U3BlZWRPdXRMZWZ0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0TGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5saWdodFNwZWVkT3V0TGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRMZWZ0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cbn1cblxuLyoqKioqKioqKioqKlxuKiByb3RhdGVPdXQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbn1cblxuXG4vKioqKioqKioqKioqXG4qIHJvdGF0ZU91dFVwTGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXRVcExlZnQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xufVxuXG4vKioqKioqKioqKioqXG4qIHJvdGF0ZU91dERvd25MZWZ0ICpcbioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0RG93bkxlZnQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbn1cblxuLyoqKioqKioqKioqKlxuKiByb3RhdGVPdXRVcFJpZ2h0ICpcbioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXRVcFJpZ2h0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xufVxuXG4vKioqKioqKioqKioqXG4qIHJvbGxPdXQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm9sbE91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpO1xuICB9XG59XG5cbi5yb2xsT3V0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xufVxuXG4vKioqKioqKioqKioqKioqKipcbiogU2hvcnQgQW5pbWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuKiBmYWRlSW5VcFNob3J0XG4qKioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwU2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4uZmFkZUluVXBTaG9ydCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG59XG5cbi5mYWRlSW5VcFNob3J0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXBTaG9ydDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwU2hvcnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKipcbiogZmFkZUluRG93blNob3J0XG4qKioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93blNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25TaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4uZmFkZUluRG93blNob3J0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xufVxuXG4uZmFkZUluRG93blNob3J0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93blNob3J0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93blNob3J0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG4qIGZhZGVJblJpZ2h0U2hvcnQgXG4qKioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0U2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4uZmFkZUluUmlnaHRTaG9ydCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG59XG5cbi5mYWRlSW5SaWdodFNob3J0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRTaG9ydDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0U2hvcnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKipcbiogZmFkZUluTGVmdFNob3J0IFxuKioqKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0U2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLmZhZGVJbkxlZnRTaG9ydCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbn1cblxuLmZhZGVJbkxlZnRTaG9ydC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRTaG9ydDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRTaG9ydDtcbn1cbiIsIi8qKioqKioqKioqXG4qIFpvb20gaW4gKlxuKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDUpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguOCk7XG4gICAgb3BhY2l0eTogLjg7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguOCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoNSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgICBvcGFjaXR5OiAuODtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uem9vbUluIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDUpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnpvb21Jbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNXM7XG59XG5cblxuLyoqKioqKioqXG4qIFNoYWtlVXAyICpcblNoYWtlIGFuZCBwYXVzZSBcbioqKioqKioqL1xuLy8gQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlVXAyIHtcblxuLy8gICAwJSxcbi8vICAgMTAlLFxuLy8gICAyMCUsXG4vLyAgIDMwJSxcbi8vICAgMTAwJSB7XG4vLyAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4vLyAgIH1cblxuXG4vLyAgIDUwJSxcbi8vICAgNzAlLFxuLy8gICA5MCUge1xuLy8gICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbi8vICAgfVxuXG4vLyAgIDQwJSxcbi8vICAgNjAlLFxuLy8gICA4MCUge1xuLy8gICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuLy8gICB9XG4vLyB9XG5cbkBrZXlmcmFtZXMgc2hha2VVcDIge1xuXG4gIDAlLFxuICA1MCUsXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG5cbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG5cbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgfVxufVxuXG4uc2hha2V1cDIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZVVwMjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlVXAyO1xufVxuXG4uc2hha2UyIHtcbiAgLyogU3RhcnQgdGhlIHNoYWtlIGFuaW1hdGlvbiBhbmQgbWFrZSB0aGUgYW5pbWF0aW9uIGxhc3QgZm9yIDAuNSBzZWNvbmRzICovXG4gIGFuaW1hdGlvbjogc2hha2UgMXM7XG5cbiAgLyogV2hlbiB0aGUgYW5pbWF0aW9uIGlzIGZpbmlzaGVkLCBzdGFydCBhZ2FpbiAqL1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDFweCkgcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgMTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMXB4LCAtMnB4KSByb3RhdGUoLTFkZWcpO1xuICB9XG5cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtM3B4LCAwcHgpIHJvdGF0ZSgxZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoM3B4LCAycHgpIHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAtMXB4KSByb3RhdGUoMWRlZyk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xcHgsIDJweCkgcm90YXRlKC0xZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTNweCwgMXB4KSByb3RhdGUoMGRlZyk7XG4gIH1cblxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDNweCwgMXB4KSByb3RhdGUoLTFkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMXB4LCAtMXB4KSByb3RhdGUoMWRlZyk7XG4gIH1cblxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMnB4KSByb3RhdGUoMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIC0ycHgpIHJvdGF0ZSgtMWRlZyk7XG4gIH1cbn1cblxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2hsaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIC00MHB4KSBzY2FsZSgxLjEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxhc2hsaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIC00MHB4KSBzY2FsZSgxLjEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIC00MHB4KSBzY2FsZSgxLjEpO1xuICB9XG59XG5cbi5yb3RhdGluZyB7XG4gIC8vIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGluZyAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgLy8gLW1vei1hbmltYXRpb246IHJvdGF0aW5nIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAvLyAtbXMtYW5pbWF0aW9uOiByb3RhdGluZyAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgLy8gLW8tYW5pbWF0aW9uOiByb3RhdGluZyAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiByb3RhdGluZyAzMHMgbGluZWFyIGluZmluaXRlO1xuICBcbn1cblxuQGtleWZyYW1lcyByb3RhdGlvbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn0iLCIvKi0tLSBBYm91dCBUZXh0IC0tLSovXG5AbWl4aW4gdGV4dC1hbGlnbigkYWxpZ25Ib3Jpem90YWw6IG5vcm1hbCwgJGFsaWduVmVydGljYWw6IG5vcm1hbCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICRhbGlnbkhvcml6b3RhbDtcbiAgYWxpZ24taXRlbXM6ICRhbGlnblZlcnRpY2FsO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcigkY29sb3I6IGluaGVyaXQsICRmb250U2l6ZTogaW5oZXJpdCwgJHRleHRUcmFuc2Zvcm06IGluaGVyaXQsICR0ZXh0QWxpZ246IGluaGVyaXQsICRmb250V2VpZ2h0OiBub3JtYWwpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdGV4dC10cmFuc2Zvcm06ICR0ZXh0VHJhbnNmb3JtO1xuICB0ZXh0LWFsaWduOiAkdGV4dEFsaWduO1xuICBmb250LXdlaWdodDogJGZvbnRXZWlnaHQ7XG5cbiAgQGlmICRmb250U2l6ZSAhPWluaGVyaXQge1xuICAgIGZvbnQtc2l6ZTogJGZvbnRTaXplO1xuICB9XG59XG5cbkBtaXhpbiB0ZXh0LXN0cm9rZSgkc3Ryb2tlVGhpY2ssICRzdHJva2VEaXJlY3QsICRzdHJva2VDb2xvcjEsICRzdHJva2VDb2xvcjIpIHtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHN0cm9rZURpcmVjdCwgJHN0cm9rZUNvbG9yMSwgJHN0cm9rZUNvbG9yMik7XG4gIC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG4gIC13ZWJraXQtdGV4dC1zdHJva2U6ICRzdHJva2VUaGljayByZ2JhKDI1NSwgMjU1LCAyNTUsIC4wMSk7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xufVxuXG5AbWl4aW4gdGV4dC1ncmFkaWVudCgkZGlyZWN0aW9uOiB0byBib3R0b20sICRjb2xvci1zdG9wcy4uLikge1xuICAvLyBUaGUgdmFsdWVzIHRvIHRvcCwgdG8gYm90dG9tLCB0byBsZWZ0LCBhbmQgdG8gcmlnaHQgYXJlIGVxdWl2YWxlbnQgdG8gdGhlIGFuZ2xlcyAwZGVnLCAxODBkZWcsIDI3MGRlZywgYW5kIDkwZGVnLCByZXNwZWN0aXZlbHkuIFRoZSBvdGhlciB2YWx1ZXMgYXJlIHRyYW5zbGF0ZWQgaW50byBhbiBhbmdsZS5cbiAgQGlmIGlzLWRpcmVjdGlvbigkZGlyZWN0aW9uKT09ZmFsc2Uge1xuICAgICRjb2xvci1zdG9wczogJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzO1xuICAgICRkaXJlY3Rpb246IDE4MGRlZztcbiAgfVxuICBiYWNrZ3JvdW5kOiBudGgobnRoKCRjb2xvci1zdG9wcywgMSksIDEpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWdhY3ktZGlyZWN0aW9uKCRkaXJlY3Rpb24pLCAkY29sb3Itc3RvcHMpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzKTtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyogdGV4dCB0cnVuY2F0ZSBtdWx0aWxpbmUgKi9cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCRsaW5lQ291bnQ6IDIpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogJGxpbmVDb3VudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcblxufVxuXG4vLyBBYm91dCBSZXNwb25zaXZlXG5AbWl4aW4gbXEtbWluLW1heCgkbWluLCAkbWF4KSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtcS1taW4oJHZhbHVlKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHZhbHVlKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1xLW1heCgkdmFsdWUpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdmFsdWUpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vKi0tLSBBYm91dCBJbWFnZXMgLS0tKi9cbkBtaXhpbiBpbWFnZS1maXQoJGhlaWdodCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4vLy0gR3JheXNjYWxlOiAxICwgTm9uZTogMFxuQG1peGluIGltYWdlLWdyYXlzY2FsZSgkdmFsdWU6MSkge1xuICBmaWx0ZXI6IGdyYXk7ICAgLyogSUU2LTkgKi9cbiAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgkdmFsdWUpOyAgLyogR29vZ2xlIENocm9tZSwgU2FmYXJpIDYrICYgT3BlcmEgMTUrICovXG4gIGZpbHRlcjogZ3JheXNjYWxlKCR2YWx1ZSk7ICAgLyogTWljcm9zb2Z0IEVkZ2UgYW5kIEZpcmVmb3ggMzUrICovXG59XG5cblxuXG4vKi0tLSBBYm91dCBQb3NpdGlvbiAtLS0qL1xuQG1peGluIHBvc2l0aW9uKCRwb3NpdGlvbjogcmVsYXRpdmUsICRjb29yZGluYXRlczogbnVsbCBudWxsIG51bGwgbnVsbCkge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pPT1saXN0IHtcbiAgICAkY29vcmRpbmF0ZXM6ICRwb3NpdGlvbjtcbiAgICAkcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJGNvb3JkaW5hdGVzOiB1bnBhY2soJGNvb3JkaW5hdGVzKTtcbiAgJG9mZnNldHM6ICh0b3A6IG50aCgkY29vcmRpbmF0ZXMsIDEpLFxuICAgIHJpZ2h0OiBudGgoJGNvb3JkaW5hdGVzLCAyKSxcbiAgICBib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpLFxuICAgIGxlZnQ6IG50aCgkY29vcmRpbmF0ZXMsIDQpKTtcbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICBAZWFjaCAkb2Zmc2V0LFxuICAkdmFsdWUgaW4gJG9mZnNldHMge1xuICAgIEBpZiBpcy1sZW5ndGgoJHZhbHVlKSB7XG4gICAgICAjeyRvZmZzZXR9OiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG5cbi8vLS0tIEFib3V0IEVmZmVjdCBIb3ZlciAtLS0qL1xuQG1peGluIGVmZmVjdC1ncmFkaWVudC1saW5lYXIoJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzLi4uKSB7XG4gIC8vIFRoZSB2YWx1ZXMgdG8gdG9wLCB0byBib3R0b20sIHRvIGxlZnQsIGFuZCB0byByaWdodCBhcmUgZXF1aXZhbGVudCB0byB0aGUgYW5nbGVzIDBkZWcsIDE4MGRlZywgMjcwZGVnLCBhbmQgOTBkZWcsIHJlc3BlY3RpdmVseS4gVGhlIG90aGVyIHZhbHVlcyBhcmUgdHJhbnNsYXRlZCBpbnRvIGFuIGFuZ2xlLlxuICBAaWYgaXMtZGlyZWN0aW9uKCRkaXJlY3Rpb24pPT1mYWxzZSB7XG4gICAgJGNvbG9yLXN0b3BzOiAkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHM7XG4gICAgJGRpcmVjdGlvbjogMTgwZGVnO1xuICB9XG4gIGJhY2tncm91bmQ6IG50aChudGgoJGNvbG9yLXN0b3BzLCAxKSwgMSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZ2FjeS1kaXJlY3Rpb24oJGRpcmVjdGlvbiksICRjb2xvci1zdG9wcyk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHMpO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tIEFib3V0IEJ1dHRvbiAtLS0qL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuLy8tLS0gQlROIEVmZmVjdFxuQG1peGluIGhvdmVyLWJvcmRlci13cmFwcGluZygkYm9yZGVyQ29sb3I6ICMyMDk4RDEsICRib3JkZXJTdHlsZTogc29saWQsICRib3JkZXJXaWR0aDogNXB4KSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiBub25lO1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJvcmRlcjogJGJvcmRlckNvbG9yICRib3JkZXJTdHlsZTtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIDAuMXMgZWFzZS1vdXQ7XG4gIH1cblxuICAmOmhvdmVyOmJlZm9yZSB7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgYm9yZGVyLXdpZHRoOiAkYm9yZGVyV2lkdGg7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLXRyYW5zbGF0ZVgoJHZhbHVlKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZS1pbi1vdXQ7XG5cbiAgJjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR2YWx1ZSk7XG4gIH1cbn1cbkBtaXhpbiBob3Zlci10cmFuc2xhdGVZKCR2YWx1ZSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2UtaW4tb3V0O1xuXG4gICY6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkdmFsdWUpO1xuICB9XG59XG4iLCIvKi0tLSBBYm91dCBUZXh0IC0tLSovXG4vLyAldGV4dC1jZW50ZXIge1xuLy8gICBkaXNwbGF5OiBmbGV4O1xuLy8gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbi8vIH1cblxuLy8gJXRleHQtbWlkZGxlIHtcbi8vICAgZGlzcGxheTogZmxleDtcbi8vICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbi8vIH1cblxuLy8gJXRleHQtY2VudGVyLW1pZGRsZSB7XG4vLyAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuLy8gICBhbGlnbi1pdGVtczogY2VudGVyO1xuLy8gfVxuXG5cbiIsIiRjb2xvci0xOiAjMDA0Q0EyO1xuJGNvbG9yLTI6ICNjMGMwYzA7XG5cbi8qLS0tIFNtb290aCBTY3JvbGwgLS0tKi9cbmh0bWwge1xuICAvLyBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cbjo6c2VsZWN0aW9uIHtcbiAgY29sb3I6ICRjb2xvci0xO1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItMjtcbn1cblxuLyotLS0gQW5pbWF0ZSBhIC0tLSovXG5hIHtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgaW1nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgfVxufVxuXG4vKi0tLSBDdXN0b21pemUgU2Nyb2xsYmFyIC0tLSovXG4qIHsgLyogV29yayBvbiBGaXJlZm94ICovXG4gIHNjcm9sbGJhci13aWR0aDogNXB4O1xuICBzY3JvbGxiYXItY29sb3I6ICRjb2xvci0xICRjb2xvci0yO1xufVxuXG4qOjotd2Via2l0LXNjcm9sbGJhciB7IC8qIFdvcmtzIG9uIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaSAqL1xuICB3aWR0aDogNXB4O1xufVxuXG4qOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci0yO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbio6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLTE7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLTE7XG59XG5cblxuXG4vKi0tLSBDb21tb24gQ2xhc3NOYW1lIC0tLSovXG4ubG9vcC1pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuXG4ubG9vcC01IHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogNTtcbn1cblxuLy8gLmZsYXNoLWxpZ2h0IHtcbi8vICAgYW5pbWF0aW9uOiBmbGFzaGxpZ2h0IDNzIGVhc2UtaW4tb3V0IDVzIGluZmluaXRlIGFsdGVybmF0ZTtcbi8vICAgLy8gLXdlYmtpdC1hbmltYXRpb246IGZsYXNobGlnaHQgM3MgZWFzZS1pbi1vdXQgMHMgaW5maW5pdGUgYWx0ZXJuYXRlO1xuLy8gfVxuXG5cblxuLyotLS0gQWJvdXQgQnV0dG9uIC0tLSovXG4uYnRuLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBpbWc6bGFzdC1jaGlsZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGltZzpsYXN0LWNoaWxkIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLmJ0bi1ob3Zlci16b29tIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgJjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICB9XG59XG5cbi5idG4taG92ZXItdHJhbnNsYXRlWCB7XG4gIEBpbmNsdWRlIGhvdmVyLXRyYW5zbGF0ZVgoLTEwcHgpO1xufVxuXG4uYnRuLWhvdmVyLXRyYW5zbGF0ZVkge1xuICBAaW5jbHVkZSBob3Zlci10cmFuc2xhdGVZKC01cHgpO1xufVxuXG4uYnRuLWhvdmVyLXVuZGVybGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpiZWZvcmUge1xuICAgIHdpZHRoOiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgJjpob3ZlcjpiZWZvcmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5idG4taG92ZXItYm9yZGVyLXdyYXBwaW5nIHtcbiAgcGFkZGluZzogMjBweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBAaW5jbHVkZSBob3Zlci1ib3JkZXItd3JhcHBpbmcoI2ZmZjAwMCwgZGFzaGVkLCA1cHgpO1xufVxuXG4uYnRuLWhvdmVyLXNoaW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0b3A6IC0xMTAlO1xuICAgIGxlZnQ6IC0yMTAlO1xuICAgIHdpZHRoOiAyMDAlO1xuICAgIGhlaWdodDogMjAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEzKSAwJSxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEzKSA3NyUsXG4gICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSA5MiUsXG4gICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wKSAxMDAlKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzMGRlZyk7XG4gIH1cblxuICAmOmhvdmVyOmFmdGVyIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc2hpbmUgLjc1cztcbiAgICBhbmltYXRpb246IHNoaW5lIC43NXM7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0b3A6IC0zMCU7XG4gICAgbGVmdDogLTMwJTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBsZWZ0LFxuICAgICAgdG9wLFxuICAgICAgb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxcyxcbiAgICAgIDFzLFxuICAgICAgLjE1cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgfVxufVxuXG4vKi0tLSBBYm91dCBUZXh0IC0tLSovXG4udGV4dC10cnVuY2F0ZSB7XG4gIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoMik7XG59XG5cbi50ZXh0LXN0cm9rZSB7XG4gIGZvbnQtc2l6ZTogMTAwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBAaW5jbHVkZSB0ZXh0LXN0cm9rZSg1cHgsIDkwZGVnLCAjMDAwIDIwJSwgI2YwMCA1MCUpO1xufVxuXG4udGV4dC1ncmFkaWVudCB7XG4gIEBpbmNsdWRlIHRleHQtZGVjb3IobnVsbCwgMTAwcHgsIHVwcGVyY2FzZSwgbnVsbCk7XG4gIEBpbmNsdWRlIHRleHQtZ3JhZGllbnQoMTgwZGVnLCAjMDAwLCAjZjAwLCAjZmZmMDAwKTtcbn1cblxuXG4vKi0tLSBBYm91dCBJbWFnZSAtLS0qL1xuLmltYWdlLWZpdCB7XG4gIHdpZHRoOiAyNTBweDtcbiAgQGluY2x1ZGUgaW1hZ2UtZml0KDM1MHB4KTtcbn1cblxuLyotLS0gQWJvdXQgRWZmZWN0IC0tLSovXG4uZWZmZWN0LWdyYWRpZW50LWxpbmVhciB7XG4gIEBpbmNsdWRlIGVmZmVjdC1ncmFkaWVudC1saW5lYXIodG8gYm90dG9tLCAjNzdEN0U3IDUwJSwgI2ZmMDAwMCA1MCUsICNmZmYwMDAgMTAwJSk7XG59XG5cbi8qLS0tIEFib3V0IE90aGVyIC0tLSovXG4uaG92ZXItc3RvcC1hbmltYXRlZCB7XG4gICY6aG92ZXIge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgICAtbW96LWFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gICAgLW8tYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzdGVwLWVuZDtcbiAgICAtbW96LWFuaW1hdGlvbmFuaW1hdGlvbjogc3RlcC1lbmQ7XG4gICAgYW5pbWF0aW9uOiBzdGVwLWVuZDtcbiAgfVxufSIsIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTRlwiO1xuICBzcmM6IHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1SZWd1bGFyLmVvdCk7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVJlZ3VsYXIuZW90I2llZml4KSBmb3JtYXQoXCJlb3RcIiksXG4gICAgdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVJlZ3VsYXIud29mZjIpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci53b2ZmKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci5zdmcpIGZvcm1hdCgnc3ZnJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTRi1Cb2xkXCI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVNlbWlCb2xkLmVvdCk7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVNlbWlCb2xkLmVvdCNpZWZpeCkgZm9ybWF0KFwiZW90XCIpLFxuICAgIHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1TZW1pQm9sZC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1TZW1pQm9sZC53b2ZmKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktU2VtaUJvbGQudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVNlbWlCb2xkLnN2ZykgZm9ybWF0KCdzdmcnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcInV2bnRoYW5ocGhvXCI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL3V2bnRoYW5ocGhvX3IuZW90KTtcbiAgc3JjOiB1cmwoLi4vZm9udHMvdXZudGhhbmhwaG9fci5lb3QjaWVmaXgpIGZvcm1hdChcImVvdFwiKSxcbiAgICB1cmwoLi4vZm9udHMvdXZudGhhbmhwaG9fci53b2ZmMikgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCguLi9mb250cy91dm50aGFuaHBob19yLndvZmYpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCguLi9mb250cy91dm50aGFuaHBob19yLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgIHVybCguLi9mb250cy91dm50aGFuaHBob19yLnN2ZykgZm9ybWF0KCdzdmcnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcInV2bnRoYW5ocGhvLWJvbGRcIjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvdXZudGhhbmhwaG9fYi5lb3QpO1xuICBzcmM6IHVybCguLi9mb250cy91dm50aGFuaHBob19iLmVvdCNpZWZpeCkgZm9ybWF0KFwiZW90XCIpLFxuICAgIHVybCguLi9mb250cy91dm50aGFuaHBob19iLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKC4uL2ZvbnRzL3V2bnRoYW5ocGhvX2Iud29mZikgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKC4uL2ZvbnRzL3V2bnRoYW5ocGhvX2IudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKC4uL2ZvbnRzL3V2bnRoYW5ocGhvX2Iuc3ZnKSBmb3JtYXQoJ3N2ZycpO1xufVxuIiwiLmhlYWRlciB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCAwIG51bGwgbnVsbCAwKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNjc1cHg7XG4gIGZvbnQtZmFtaWx5OiB1dm50aGFuaHBoby1ib2xkO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBAaW5jbHVkZSBwYWRkaW5nKDAgMCk7XG4gIC5uYXYtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6ICMyNzIzMzg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGhlaWdodDogNzBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG4gIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIFtjbGFzcyo9J2NvbC0nXSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuICAmLWNvbnRhaW5lciB7XG4gICAgQGV4dGVuZCAuY29udGFpbmVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMTY1cHggbnVsbCBudWxsIDApO1xuICAgIHotaW5kZXg6IDI7XG4gICAgd2lkdGg6IDE2OHB4O1xuICAgIGhlaWdodDogNDY1cHg7XG4gICAgcGFkZGluZzogNjBweCAwIDAgMDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21lbnUtZnJhbWUtYmcucG5nKSBuby1yZXBlYXQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpIHtcbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiA1MnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTJweDtcbiAgICAgICAgYW5pbWF0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCNiODhiOGIsIDIxcHgsIGNhcGl0YWxpemUsIGNlbnRlciwgYm9sZCk7XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21lbnUtaG92ZXItYmcucG5nKSBuby1yZXBlYXQgMCAwLzEwMCU7XG4gICAgICAgICAgY29sb3I6ICNlMWQ0ZDQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjJweDtcbiAgICBsZWZ0OiA4MHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB6LWluZGV4OiAzO1xuICAgIFxuICB9XG5cbiAgLnRleHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNjhweCBudWxsIG51bGwgMjAwcHgpO1xuICAgIHotaW5kZXg6IDM7XG4gICAgXG4gIH1cbiAgLnBsYXktdmlkZW8ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB6LWluZGV4OiA1O1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxMjdweCBudWxsIG51bGwgNDUwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXI7XG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjk7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1xLW1heCg3NjhweCkge1xuICAgICAgYm90dG9tOiAxMCU7XG4gICAgfVxuICB9XG5cbiAgLmF2YXRhciB7XG4gICAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICAgIEBpbmNsdWRlIG1xLW1heCg3NjhweCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAucXJjb2RlIHtcbiAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgQGluY2x1ZGUgbXEtbWF4KDc2OHB4KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC50YWlnYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1cHg7XG4gICAgcmlnaHQ6IDUwcHg7XG4gICAgei1pbmRleDogMjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIG1xLW1heCg3NjhweCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJi1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDYwNXB4O1xuICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgfVxuICB9XG59XG4uYnV0dG9ucy1ibG9jayB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAtNTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICAuYmxvY2stMSB7XG4gICAgd2lkdGg6IDMxOHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC5pbWFnZS1idG4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5zdXBwb3J0LWJ0biB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICAuY2hvaW5nYXkge1xuICAgICAgaW1nOmxhc3QtY2hpbGQge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAvLyBAZXh0ZW5kICVob3Zlci1zdG9wLWFuaW1hdGVkO1xuICAgICAgfVxuICAgICAgXG4gICAgfVxuXG4gIH1cbiAgLmJsb2NrLTIge1xuICAgIHdpZHRoOiA2NTRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAuaW1hZ2UtYnRuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9IFxuICAubG9naW4tZm9ybSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDMyN3B4O1xuICAgIGhlaWdodDogMTY3cHg7XG4gICAgcGFkZGluZzogMjBweCAyMHB4IDAgMjBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2xvZ2luLWJnLmpwZykgbm8tcmVwZWF0O1xuICB9XG4gIC5uYXB0aWVuIHtcbiAgICB3aWR0aDogMzI3cHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxuICAuQmdJbnB1dCB7XG4gICAgYmFja2dyb3VuZDogIzBlMTQxYztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzEyZTJmO1xuICAgIHdpZHRoOiAxNzhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmc6IDZweCA1cHg7XG4gICAgY29sb3I6ICM2ZjZmNmY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG4gIC5mb3JtaW5wdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5lcnJvciB7XG4gICAgY29sb3I6ICNiYTQ0NDI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICBib3R0b206IDJweDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogOHB4O1xuICAgICAgd2lkdGg6IDNweDtcbiAgICAgIGhlaWdodDogM3B4O1xuICAgICAgYmFja2dyb3VuZDogI2JhNDQ0MjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICB9XG5cbiAgLkJveElucHV0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDAgNXB4IDAgMHB4O1xuICAgIHdpZHRoOiAxODJweDtcbiAgfVxuXG4gIC5Cb3hMb2dpbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG5cbiAgLkRhbmdOaGFwIHtcbiAgICB3aWR0aDogOTRweDtcbiAgICBoZWlnaHQ6IDk0cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9kYW5nbmhhcC5qcGcpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZGFuZ25oYXAtaG92ZXIuanBnKTtcbiAgICB9XG4gIH1cblxuICAuaW5nYW1lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICB9XG5cbiAgLlRleHROb3RlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICNhZWMzZGY7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY29sb3I6ICM5ZWE1YWU7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb24tYXJyb3cucG5nKSBuby1yZXBlYXQgMCA0cHg7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjYWVjM2RmO1xuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgLkJnUXVpdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuVGV4dEluZ2FtZSB7XG4gICAgY29sb3I6ICM3YTdmOWM7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgY29sb3I6ICM3YTdmOWM7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5UZXh0dXNlciB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjZmZiMDM2O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICB9XG5cbiAgLmljb25zLWJ0LWJhdGRhdSB7XG4gICAgbWFyZ2luOiA3cHggYXV0bztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDE4MnB4O1xuICAgIGhlaWdodDogNTFweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2J0LWJhdGRhdS5wbmcpIG5vLXJlcGVhdDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgICY6aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICAgIH1cbiAgfVxuXG4gIC5iZ3NlbGVjdCB7XG4gICAgYmFja2dyb3VuZDogIzA1MDYwYTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMjUyMjNkO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICB3aWR0aDogMTgycHg7XG4gICAgaGVpZ2h0OiAzNHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7XG4gICAgc3BhbiB7XG4gICAgICBjb2xvcjogIzY4Nzc4YjtcbiAgICB9XG4gIH1cbiAgLm5pY2Utc2VsZWN0IC5saXN0IHtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgaGVpZ2h0OiAxNzBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi5zZXJ2ZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxNjBweDtcbiAgY2xlYXI6IGJvdGg7XG4gIHBhZGRpbmc6IDcwcHggMCAwIDIzcHg7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc2VydmVybGlzdC1iZy5qcGcpIG5vLXJlcGVhdCAwIDAvY292ZXI7XG4gIFxuICAmLWxpc3Qge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA0NDVweDtcbiAgICBsaSB7XG4gICAgICBcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA2NXB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMTgyMTMwO1xuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAjNGE1MzcxO1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCM3YTdkYTQsIDE0cHgsIHVwcGVyY2FzZSwgY2VudGVyKTtcbiAgICAgICAgbWFyZ2luOiAwIDhweCA3cHggMDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNhN2JmZTA7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjYTdiZmUwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5uZXcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA5MHB4O1xuICAgIGhlaWdodDogNjdweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBiYWNrZ3JvdW5kOiAjMTgyMTMwO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICM0YTUzNzE7XG4gICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjN2E3ZGE0LCAzOHB4LCB1cHBlcmNhc2UsIGNlbnRlcik7XG4gICAgZm9udC1mYW1pbHk6ICd1dm50aGFuaHBoby1ib2xkJztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiA1cHggMCAwIDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICNhN2JmZTA7XG4gICAgICBib3JkZXItY29sb3I6ICNhN2JmZTA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSB2YWx1ZXMgZm9yIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBtYXJnaW5zIGFuZCBtdWNoIG1vcmVcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9ibG9iL21hc3Rlci9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgdmFsdWVcbiRyZnMtYmFzZS12YWx1ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy11bml0ICE9IHJlbSBhbmQgJHJmcy11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSB2YWx1ZXMgc3RhcnQgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgdmFsdWVzIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gbnVtYmVyIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gTW9kZS4gUG9zc2liaWxpdGllczogXCJtaW4tbWVkaWEtcXVlcnlcIiwgXCJtYXgtbWVkaWEtcXVlcnlcIlxuJHJmcy1tb2RlOiBtaW4tbWVkaWEtcXVlcnkgIWRlZmF1bHQ7XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZnMgdG8gZmFsc2VcbiRlbmFibGUtcmZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtdmFsdWUgdW5pdFxuJHJmcy1iYXNlLXZhbHVlLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLXZhbHVlKTtcblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHB4IHtcbiAgJHJmcy1iYXNlLXZhbHVlOiAkcmZzLWJhc2UtdmFsdWUgLyAoJHJmcy1iYXNlLXZhbHVlICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcmVtIHtcbiAgJHJmcy1iYXNlLXZhbHVlOiAkcmZzLWJhc2UtdmFsdWUgLyAoJHJmcy1iYXNlLXZhbHVlICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBweCB7XG4gICRyZnMtYnJlYWtwb2ludDogJHJmcy1icmVha3BvaW50IC8gKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHJlbSBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6ICRyZnMtYnJlYWtwb2ludCAvICgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gQ2FsY3VsYXRlIHRoZSBtZWRpYSBxdWVyeSB2YWx1ZVxuJHJmcy1tcS12YWx1ZTogaWYoJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgsICN7JHJmcy1icmVha3BvaW50fXB4LCAjeyRyZnMtYnJlYWtwb2ludCAvICRyZnMtcmVtLXZhbHVlfSN7JHJmcy1icmVha3BvaW50LXVuaXR9KTtcbiRyZnMtbXEtcHJvcGVydHktd2lkdGg6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC13aWR0aCwgbWluLXdpZHRoKTtcbiRyZnMtbXEtcHJvcGVydHktaGVpZ2h0OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtaGVpZ2h0LCBtaW4taGVpZ2h0KTtcblxuLy8gSW50ZXJuYWwgbWl4aW4gdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggbWVkaWEgcXVlcnkgbmVlZHMgdG8gYmUgdXNlZFxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSksICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZGlzYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1ydWxlIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSwgd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBwcm9wZXJ0eVxuICAgICYsXG4gICAgLmRpc2FibGUtcmZzICYsXG4gICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgIC5lbmFibGUtcmZzICYsXG4gICAgJi5lbmFibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGVuYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeS1ydWxlIHtcblxuICBAaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkge1xuICAgICAgLmVuYWJsZS1yZnMgJixcbiAgICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgZm9ybWF0dGVkIG5vbi1yZXNwb25zaXZlIHZhbHVlXG5AZnVuY3Rpb24gcmZzLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogJyc7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyAnIDAnO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgQGlmICR1bml0ID09IHB4IHtcbiAgICAgICAgLy8gQ29udmVydCB0byByZW0gaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyAnICcgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAjeyR2YWx1ZSAvICgkdmFsdWUgKiAwICsgJHJmcy1yZW0tdmFsdWUpfXJlbSwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICR1bml0ID09IHJlbSB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcHggaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyAnICcgKyBpZigkcmZzLXVuaXQgPT0gcHgsICN7JHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyAxKSAqICRyZnMtcmVtLXZhbHVlfXB4LCAkdmFsdWUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgICAgJHZhbDogJHZhbCArICcgJyArICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIHJlc3BvbnNpdmUgdmFsdWUgY2FsY3VsYXRlZCBieSBSRlNcbkBmdW5jdGlvbiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcykge1xuICAvLyBDb252ZXJ0IHRvIGxpc3RcbiAgJHZhbHVlczogaWYodHlwZS1vZigkdmFsdWVzKSAhPSBsaXN0LCAoJHZhbHVlcywpLCAkdmFsdWVzKTtcblxuICAkdmFsOiAnJztcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArICcgMCc7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgQGlmIG5vdCAkdW5pdCBvciAkdW5pdCAhPSBweCBhbmQgJHVuaXQgIT0gcmVtIHtcbiAgICAgICAgJHZhbDogJHZhbCArICcgJyArICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBSZW1vdmUgdW5pdCBmcm9tICR2YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG4gICAgICAgICR2YWx1ZTogJHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyBpZigkdW5pdCA9PSBweCwgMSwgMSAvICRyZnMtcmVtLXZhbHVlKSk7XG5cbiAgICAgICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgQGlmIGFicygkdmFsdWUpIDw9ICRyZnMtYmFzZS12YWx1ZSBvciBub3QgJGVuYWJsZS1yZnMge1xuICAgICAgICAgICR2YWw6ICR2YWwgKyAnICcgKyAgaWYoJHJmcy11bml0ID09IHJlbSwgI3skdmFsdWUgLyAkcmZzLXJlbS12YWx1ZX1yZW0sICN7JHZhbHVlfXB4KTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLW1pbjogJHJmcy1iYXNlLXZhbHVlICsgKGFicygkdmFsdWUpIC0gJHJmcy1iYXNlLXZhbHVlKSAvICRyZnMtZmFjdG9yO1xuXG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiAkdmFsdWUgYW5kIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLWRpZmY6IGFicygkdmFsdWUpIC0gJHZhbHVlLW1pbjtcblxuICAgICAgICAgIC8vIEJhc2UgdmFsdWUgZm9ybWF0dGluZ1xuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtdW5pdCA9PSByZW0sICN7JHZhbHVlLW1pbiAvICRyZnMtcmVtLXZhbHVlfXJlbSwgI3skdmFsdWUtbWlufXB4KTtcblxuICAgICAgICAgIC8vIFVzZSBuZWdhdGl2ZSB2YWx1ZSBpZiBuZWVkZWRcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkdmFsdWUgPCAwLCAtJG1pbi13aWR0aCwgJG1pbi13aWR0aCk7XG5cbiAgICAgICAgICAvLyBVc2UgYHZtaW5gIGlmIHR3by1kaW1lbnNpb25hbCBpcyBlbmFibGVkXG4gICAgICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAgICAgJHZhcmlhYmxlLXdpZHRoOiAjeyR2YWx1ZS1kaWZmICogMTAwIC8gJHJmcy1icmVha3BvaW50fSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAgICAgLy8gUmV0dXJuIHRoZSBjYWxjdWxhdGVkIHZhbHVlXG4gICAgICAgICAgJHZhbDogJHZhbCArICcgY2FsYygnICsgJG1pbi13aWR0aCArIGlmKCR2YWx1ZSA8IDAsICcgLSAnLCAnICsgJykgKyAkdmFyaWFibGUtd2lkdGggKyAnKSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIFJGUyBtaXhpblxuQG1peGluIHJmcygkdmFsdWVzLCAkcHJvcGVydHk6IGZvbnQtc2l6ZSkge1xuICBAaWYgJHZhbHVlcyAhPSBudWxsIHtcbiAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlcyk7XG4gICAgJGZsdWlkVmFsOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcyk7XG5cbiAgICAvLyBEbyBub3QgcHJpbnQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHJlc3BvbnNpdmUgJiBub24tcmVzcG9uc2l2ZSB2YWx1ZXMgYXJlIHRoZSBzYW1lXG4gICAgQGlmICR2YWwgPT0gJGZsdWlkVmFsIHtcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgX3Jmcy1ydWxlIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkdmFsLCAkZmx1aWRWYWwpO1xuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuICAgICAgICBtaW4td2lkdGg6IGlmKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCwgKDAgKiAxdncpLCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeS1ydWxlIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkZmx1aWRWYWwsICR2YWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTaG9ydGhhbmQgaGVscGVyIG1peGluc1xuQG1peGluIGZvbnQtc2l6ZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nKTtcbn1cblxuQG1peGluIHBhZGRpbmctdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXRvcCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXJpZ2h0KTtcbn1cblxuQG1peGluIHBhZGRpbmctYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctbGVmdCk7XG59XG5cbkBtaXhpbiBtYXJnaW4oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbik7XG59XG5cbkBtaXhpbiBtYXJnaW4tdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tdG9wKTtcbn1cblxuQG1peGluIG1hcmdpbi1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXJpZ2h0KTtcbn1cblxuQG1peGluIG1hcmdpbi1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1ib3R0b20pO1xufVxuXG5AbWl4aW4gbWFyZ2luLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1sZWZ0KTtcbn1cbiIsIjpyb290IHtcbiAgICAvKiBOb3QgbXkgZmF2b3JpdGUgdGhhdCBsaW5lLWhlaWdodCBoYXMgdG8gYmUgdW5pdGVkLCBidXQgbmVlZGVkICovXG4gICAgLS1saDogMS40cmVtO1xufVxuXG5odG1sIHtcbiAgICBmb250LXNpemU6ICRmb250U2l6ZUh0bWxUYWc7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxoKTtcbn1cblxuYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmRDb2xvciAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkbWFpbkNvbG9yICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250Tm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lSGVpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6ICRmb250RmFtaWx5ICFpbXBvcnRhbnQ7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xufVxuXG5cbmEge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2Utb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1vdXQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2Utb3V0O1xuICAgIC1tcy10cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2Utb3V0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogJG1haW5MaW5rQ29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkbWFpbkxpbmtDb2xvci1ob3ZlcjtcbiAgICB9XG59XG5cbi5zaG93LW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4uc2hvdy1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5pbmZpbml0ZSB7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTtcbn1cbi5sb29wLTUge1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDU7XG59IiwiLyotLS0tIENvbnRlbnQgQ1NTIFZhcmlibGVzIC0tLS0qL1xyXG4kdGV4dC1jb2xvcjogIzM3NDA0YjtcclxuJGNvbG9yLWxpbmstY29udGVudDogIzE1M2E2YjtcclxuJGNvbG9yLWxpbmstY29udGVudC1ob3ZlcjogIzkxMjkyOTtcclxuXHJcbiRjb2xvci1maXJzdC1sZXR0ZXI6ICMzNzQwNGI7XHJcbiRjb2xvci1zdHJvbmctMTogIzkxMjkyOTtcclxuJGNvbG9yLXN0cm9uZy0yOiAjMTUzYTZiO1xyXG4kY29sb3Itc3Ryb25nLTM6ICMwMDZjYzg7XHJcblxyXG4kaDMtY29sb3I6ICM0YjYxOGM7XHJcbiRoMy1mb250LWZhbWlseTogU0YtQm9sZDtcclxuXHJcbiRoNC1jb2xvcjogIzkxMjkyOTtcclxuJGg0LXBhZGRpbmc6IDUwcHg7XHJcblxyXG4kaDUtY29sb3I6ICM5MTI5Mjk7XHJcbiRoNS1wYWRkaW5nOiA0MHB4O1xyXG5cclxuJGJhY2tncm91bmQtdGFibGUtaGVhZDogIzMxNDI1ZDtcclxuJGNvbG9yLXRhYmxlLWhlYWQ6ICNlZWY5Zjk7XHJcbiRjb2xvci1ib3JkZXItdGFibGU6ICMxZjAwMmI7XHJcbiRiYWNrZ3JvdW5kLXJvdy0xOiAjYzJjZmU0O1xyXG4kYmFja2dyb3VuZC1yb3ctMjogI2UzZTdlZjtcclxuJGNvbG9yLXRhYmxlLXRleHQ6ICMxYTIyMmE7XHJcbiRjb2xvci10YWJsZS10ZXh0LWhvdmVyOiAkbWFpbkxpbmtDb2xvci1ob3ZlcjtcclxuXHJcbi8qLS0tIEltYWdlIC0tLS0tKi9cclxuJGNvbG9yLWJvcmRlci1pbWFnZTogIzAwMDtcclxuJGNvbG9yLWJhY2tncm91bmQtaW1hZ2U6ICMwMDA7XHJcblxyXG5cclxuLyotLS0gTm90aWNlIEJveCAtLS0qL1xyXG4kbGVnZW5kLWJhY2tncm91bmQ6ICM5MTI5Mjk7XHJcbiRsZWdlbmQtYm9yZGVyOiAjOTEyOTI5O1xyXG4kbGVnZW5kLWNvbG9yOiAjZmZmO1xyXG4kbm90aWNlLWJhY2tncm91bmQ6ICNlM2U3ZWY7XHJcbiRub3RpY2UtYm9yZGVyOiAjOGQ4ZDhkO1xyXG4kbm90aWNlLWNvbG9yOiAjMWUyYzE5O1xyXG4kbm90aWNlLWxpbmstY29sb3I6ICMxYzc2ZmQ7XHJcbiRub3RpY2UtbGluay1jb2xvci1ob3ZlcjogI2ZkNGIzNjtcclxuXHJcbi8qLS0tLSBFbmQgQ29udGVudCBDU1MgVmFyaWJsZXMgLS0tLSovXHJcblxyXG4vKiBHZW5lcmFsICovXHJcbi5TdGF0aWNNYWluIHtcclxuICBAaW5jbHVkZSBtYXJnaW4gKDI1cHggMCk7XHJcbiAgLy8gQGluY2x1ZGUgcGFkZGluZygyMHB4IDApO1xyXG4gIGNsZWFyOiBib3RoO1xyXG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcbiAgbWluLWhlaWdodDogOTMwcHg7XHJcbiAgY29sb3I6ICR0ZXh0LWNvbG9yOyAgXHJcblxyXG4gIGgzIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkaDMtZm9udC1mYW1pbHk7XHJcbiAgICBjb2xvcjogJGgzLWNvbG9yO1xyXG4gICAgZm9udC1zaXplOiAzZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMHB4IDAgMzBweCAwO1xyXG5cclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgY29sb3I6ICRjb2xvci1saW5rLWNvbnRlbnQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICRjb2xvci1saW5rLWNvbnRlbnQtaG92ZXI7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICB9XHJcblxyXG4gIHVsIHtcclxuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XHJcbiAgICBwYWRkaW5nOiAwIDAgMCAwO1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgbGlzdC1zdHlsZTogZGlzYztcclxuICAgICAgcGFkZGluZzogMCAwIDAgMHB4O1xyXG4gICAgICBtYXJnaW46IDAgMCA1cHggMjBweDtcclxuXHJcbiAgICAgIHVsIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBjaXJjbGU7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHggMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb2wge1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICBsaXN0LXN0eWxlOiBkZWNpbWFsICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuQW5jaG9yTGluayB7XHJcbiAgICBtYXJnaW46IDBweCAzMHB4IDIwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZSBvdXRzaWRlIG5vbmU7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgd2lkdGg6IDQ5JTtcclxuICAgICAgcGFkZGluZzogMCAwIDVweCAxcHg7XHJcbiAgICAgIG1hcmdpbjogMCAxJSAwIDA7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcclxuICAgICAgICB3aWR0aDogMzElO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMiU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xyXG4gICAgICAgIHdpZHRoOiA0OCU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgbXEtbWF4KDMyMHB4KSB7XHJcbiAgICAgICAgd2lkdGg6IDk4JTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWxpbmstY29udGVudDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIHdpZHRoOiA4cHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4ICRjb2xvci1saW5rLWNvbnRlbnQ7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDZweDtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgYS5BY3RpdmUsXHJcbiAgICAgIGEuQWN0aXZlOmhvdmVyLFxyXG4gICAgICBhOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWxpbmstY29udGVudC1ob3ZlcjtcclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDZweDtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbGluay1jb250ZW50LWhvdmVyO1xyXG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJGNvbG9yLWxpbmstY29udGVudC1ob3ZlcjtcclxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgIGNvbG9yOiAkbWFpbkxpbmtDb2xvci1ob3ZlcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5GaXJzdENoYXIge1xyXG4gICAgcGFkZGluZzogNHB4IDRweCAwIDA7XHJcbiAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgIGZvbnQtc2l6ZTogNDJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yLWZpcnN0LWxldHRlcjtcclxuICB9XHJcblxyXG4gIC5Db250ZW50QmxvY2sge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcblxyXG4gIC5JbWFnZXNCbG9jayB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgLkltZ0NlbnRlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogOTAlO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBoNCB7XHJcbiAgICBjb2xvcjogJGg0LWNvbG9yO1xyXG4gICAgcGFkZGluZzogMTBweCAwIDEwcHggJGg0LXBhZGRpbmc7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbjogMCAwIDVweCAwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9jb250ZW50L2ljb24taDQucG5nJykgbm8tcmVwZWF0O1xyXG4gIH1cclxuXHJcbiAgLkNvbnRlbnRINCB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIG1hcmdpbjogMCAwIDEwcHggJGg0LXBhZGRpbmc7XHJcbiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7XHJcblxyXG4gICAgcCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIC8qdGV4dC1hbGlnbjoganVzdGlmeTsqL1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5JbWFnZXNINCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4ICRoNC1wYWRkaW5nO1xyXG4gIH1cclxuXHJcblxyXG4gIGg1IHtcclxuICAgIGNvbG9yOiAkaDUtY29sb3I7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAkaDUtcGFkZGluZztcclxuICAgIG1hcmdpbjogMCAwIDEwcHggJGg0LXBhZGRpbmc7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2NvbnRlbnQvaWNvbi1oNS5wbmcnKSBuby1yZXBlYXQgMCAwcHg7XHJcbiAgfVxyXG5cclxuICAuQ29udGVudEg1IHtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgbWFyZ2luOiAwIDAgMCAoJGg0LXBhZGRpbmcrJGg1LXBhZGRpbmcpO1xyXG4gICAgcGFkZGluZzogMCAwIDIwcHg7XHJcblxyXG4gICAgcCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLkltYWdlc0g1IHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMCAwIDIwcHggJGg1LXBhZGRpbmc7XHJcbiAgfVxyXG5cclxuXHJcbiAgdGFibGUge1xyXG4gICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICRjb2xvci1ib3JkZXItdGFibGU7XHJcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuXHJcbiAgICB0aGVhZCB7XHJcbiAgICAgIHRyIHtcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXRhYmxlLWhlYWQ7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC10YWJsZS1oZWFkO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTBweDtcclxuICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItdGFibGU7XHJcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItdGFibGU7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci10YWJsZTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0Ym9keSB7XHJcbiAgICAgIHRyIHtcclxuICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLXJvdy0xO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtcm93LTI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHg7XHJcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLXRhYmxlO1xyXG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGFibGUtdGV4dDtcclxuXHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci10YWJsZS10ZXh0O1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci10YWJsZS10ZXh0LWhvdmVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdGFibGUuTm90aWNlIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItdGFibGU7XHJcblxyXG4gICAgdHIge1xyXG4gICAgICB0ZCB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItdGFibGU7XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHVsLFxyXG4gICAgICAgIG9sIHtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICB9XHJcblxyXG4gIC8qIFRleHQgc3R5bGVzICovXHJcbiAgLlRleHRDZW50ZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLlRleHRSaWdodCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICB9XHJcblxyXG4gIC5TdHJvbmcwMSB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gICAgY29sb3I6ICRjb2xvci1zdHJvbmctMTtcclxuICB9XHJcblxyXG4gIC5TdHJvbmcwMiB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gICAgY29sb3I6ICRjb2xvci1zdHJvbmctMjtcclxuICB9XHJcblxyXG4gIC5TdHJvbmcwMyB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gICAgY29sb3I6ICRjb2xvci1zdHJvbmctMztcclxuICB9XHJcblxyXG4gIC5UZXh0Rm9udDE3IHtcclxuICAgIGZvbnQtc2l6ZTogMTdweDtcclxuXHJcbiAgfVxyXG5cclxuICAuVGV4dEZvbnQxOSB7XHJcbiAgICBmb250LXNpemU6IDE5cHg7XHJcblxyXG4gIH1cclxuXHJcbiAgLlRleHRGb250MjEge1xyXG4gICAgZm9udC1zaXplOiAyMXB4O1xyXG5cclxuICB9XHJcblxyXG4gIC8qIEVORC4gVGV4dCBzdHlsZXMgKi9cclxuXHJcbiAgLyogSW1hZ2Ugc3R5bGVzICovXHJcbiAgLk5vQm9yZGVySW1nIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgLkJvcmRlckltZyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmFja2dyb3VuZC1pbWFnZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItaW1hZ2U7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgfVxyXG5cclxuICAuSW1nTGVmdCB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbjogMXB4IDEwcHggNXB4IDA7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLWltYWdlO1xyXG4gIH1cclxuXHJcbiAgLkltZ1JpZ2h0IHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIG1hcmdpbjogMCAwIDVweCAxMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1pbWFnZTtcclxuICB9XHJcblxyXG5cclxuICBibG9ja3F1b3RlIHtcclxuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGNvbG9yLWJvcmRlci10YWJsZTtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIG1hcmdpbjogMCAyMHB4O1xyXG4gICAgcGFkZGluZzogMTBweCA0MHB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG5cclxuICAgICY6YmVmb3JlLFxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgfVxyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAxMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMHB4IDA7XHJcbiAgICB9XHJcblxyXG5cclxuICB9XHJcblxyXG4gIC8qIE5vdGljZSBib3ggKi9cclxuICAuTm90aWNlQm94IHtcclxuICAgIGJvcmRlcjogc29saWQgMXB4ICRub3RpY2UtYm9yZGVyO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJhY2tncm91bmQ6ICRub3RpY2UtYmFja2dyb3VuZDtcclxuXHJcbiAgICBwLkxlZ2VuZCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICAgICAgcGFkZGluZzogMCAxNXB4O1xyXG4gICAgICBjb2xvcjogJGxlZ2VuZC1jb2xvcjtcclxuICAgICAgYmFja2dyb3VuZDogJGxlZ2VuZC1iYWNrZ3JvdW5kO1xyXG4gICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgIG1hcmdpbjogLTIwcHggMCAxMHB4O1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJGxlZ2VuZC1ib3JkZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLk5vdGVDb250ZW50IHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcbiAgICAgIGNvbG9yOiAkbm90aWNlLWNvbG9yO1xyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgQGlmICRub3RpY2UtbGluay1jb2xvciAhPW7GsGxsIHtcclxuICAgICAgICAgIGNvbG9yOiAkbm90aWNlLWxpbmstY29sb3I7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIEBpZiAkbm90aWNlLWxpbmstY29sb3ItaG92ZXIgIT1uxrBsbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbm90aWNlLWxpbmstY29sb3ItaG92ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8qIExpc3Qgc3R5bGVzICovXHJcbiAgdWwuRGVjaW1hbCB7XHJcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCAwcHg7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcblxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdWwuVXBwZXJBbHBoYSB7XHJcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCAwcHg7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWFscGhhO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG5cclxuICAgICAgdWwge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVsLkxvd2VyQWxwaGEge1xyXG4gICAgbWFyZ2luOiAwcHggMHB4IDEwcHggMHB4O1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuXHJcbiAgICAgIHVsIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1bC5JY29uIHtcclxuICAgIG1hcmdpbjogMHB4IDBweCAxMHB4IDVweDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XHJcbiAgICAgICAgY29udGVudDogXCJcXGUwNzRcIjtcclxuICAgICAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnNIYWxmbGluZ3MnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDRweDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdWwge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHVsLkxvd2VyQWxwaGEgbGkge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1bC5EYXNoIHtcclxuICAgIG1hcmdpbjogMHB4IDBweCAxMHB4IDVweDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XHJcbiAgICAgICAgY29udGVudDogXCJcXDIyMTJcIjtcclxuICAgICAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnNIYWxmbGluZ3MnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDVweDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdWwuRGlzYyB7XHJcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCA1cHg7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcclxuICAgICAgcGFkZGluZzogMCAwIDAgMTVweDtcclxuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogOHB4O1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlMTY1XCI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zSGFsZmxpbmdzJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdWwge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCJib2R5IHtcbiAgYmFja2dyb3VuZDogI2Y3ZmNmZTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAud3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9iZy5qcGcpIG5vLXJlcGVhdCB0b3AgY2VudGVyO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAmLnN1YiB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2JnLXRvcC5qcGcpIG5vLXJlcGVhdCB0b3AgY2VudGVyLCB1cmwoLi4vaW1hZ2VzL2JnLWJvdHRvbS5qcGcpIG5vLXJlcGVhdCBib3R0b20gY2VudGVyICNmN2ZjZmU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDkwYTFjO1xuICAgIH1cbiAgfVxufVxuXG5cbi5iYW5uZXItc2xpZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBpbWcge1xuICAgIGJvcmRlcjogc29saWQgMXB4ICMyMTQ5NzQ7XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwYzE0MTAgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhODE5MTkgIWltcG9ydGFudDtcbiAgfVxufVxuLmJsb2NrLW5ld3Mge1xuICBtYXJnaW46IDAgMCA4MHB4O1xufVxuXG5cblxuXG4vKi0gVmFyaWFibGUgLSovXG4kdGFiLWJnLWNvbG9yOiB0cmFuc3BhcmVudDtcbiR0YWItYmctY29sb3ItaG92ZXI6IHRyYW5zcGFyZW50O1xuJHRhYi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuJHRhYi1ib3JkZXItY29sb3ItaG92ZXI6IHRyYW5zcGFyZW50O1xuJHRhYi1saW5rLWNvbG9yOiAjN2E3ZGE0O1xuJHRhYi1saW5rLWNvbG9yLWhvdmVyOiAjZjJmN2ZmO1xuJHRhYi1mb250c2l6ZTogMThweDtcblxuJG5ld3MtZmlyc3QtdGl0bGUtZm9udC1mYW1pbHk6ICdTRi1Cb2xkJztcbiRuZXdzLWZpcnN0LWxpbmstY29sb3I6ICM3ZjhkYWM7XG4kbmV3cy1maXJzdC1saW5rLWNvbG9yLWhvdmVyOiAjZmZjOTQ3O1xuJG5ld3MtbGluay1jb2xvcjogIzdmOGRhYztcbiRuZXdzLWxpbmstY29sb3ItaG92ZXI6ICNmZmM5NDc7XG5cbiRuZXdzLWRlcy1jb2xvcjogIzlkYTNjMDtcblxuLm5ld3Mge1xuICBtYXJnaW46IDAgMCA1cHg7XG4gIGhlaWdodDogMzI2cHg7XG4gICYtdGFiIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjMTUyYTQ2O1xuICAgIG1hcmdpbjogMCAwO1xuICAgIGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogJ3V2bnRoYW5ocGhvJztcbiAgICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcigkdGFiLWxpbmstY29sb3IsICR0YWItZm9udHNpemUsIGNhcGl0YWxpemUsIGxlZnQsIGJvbGQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGFiLWJnLWNvbG9yO1xuICAgICAgICBwYWRkaW5nOiAwIDExcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgICAgICAvLyBib3JkZXI6IHNvbGlkIDFweCAkdGFiLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBcbiAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkdGFiLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9uZXdzLXRhYi1iZy5qcGcpIG5vLXJlcGVhdCAwIDAvY292ZXI7XG4gICAgICAgICAgLy8gYm9yZGVyOiBzb2xpZCAxcHggJHRhYi1ib3JkZXItY29sb3ItaG92ZXI7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBhIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFiLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgfVxufVxuXG4uc2VydmVyLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDc5MHB4O1xuICBtaW4taGVpZ2h0OiAxMDAwcHg7XG4gIG1hcmdpbjogMTBweCBhdXRvO1xuICAuc2VydmVyLWhvdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDQ1cHggYXV0bztcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDI0NXB4O1xuICAgICAgaGVpZ2h0OiA4M3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDgzcHg7XG4gICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjZDZlMWVkLCA0MHB4LCBjYXBpdGFsaXplLCBjZW50ZXIsIGJvbGQpO1xuICAgICAgZm9udC1mYW1pbHk6ICd1dm50aGFuaHBoby1ib2xkJztcbiAgICAgIFxuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZXJ2ZXItYmcucG5nKSBuby1yZXBlYXQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NlcnZlci1iZy1ob3Zlci5wbmcpIG5vLXJlcGVhdDtcbiAgICAgIH1cbiAgICAgIC5uZXcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNlcnZlci10YWJzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDU1MHB4O1xuICAgIGhlaWdodDogNDVweDtcbiAgICBiYWNrZ3JvdW5kOiAjMTgyMTMwO1xuICAgIHBhZGRpbmc6IDAgNTBweDtcbiAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xuICAgIC5zd2lwZXItc2xpZGUtdGh1bWItYWN0aXZlIHtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogI2E3YmZlMDtcbiAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjN2E3ZGE0LCAyMnB4LCBub3JtYWwsIGNlbnRlciwgYm9sZCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2E3YmZlMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNlcnZlci1uZXh0IHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgOHB4IDEwcHggbnVsbCBudWxsKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuICAuc2VydmVyLXByZXYge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA4cHggbnVsbCBudWxsIDEwcHgpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1saXN0IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyAgICBcbiAgICBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMCAxMHB4IDEwcHg7XG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMzhweDtcbiAgICAgICAgaGVpZ2h0OiA1MXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTFweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzU4NTg1ODtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggIzJlMmUyZTtcbiAgICAgICAgQGluY2x1ZGUgZWZmZWN0LWdyYWRpZW50LWxpbmVhcih0byBib3R0b20sICM1OTU5NTksICM0NDQ0NDQpO1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCNkZmRmZGYsIDM0cHgsIHVwcGVyY2FzZSwgY2VudGVyKTtcbiAgICAgICAgXG4gICAgICAgIGZvbnQtZmFtaWx5OiAndXZudGhhbmhwaG8tYm9sZCc7XG4gICAgICAgIFxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNkNmUxZWQ7XG4gICAgICAgICAgQGluY2x1ZGUgZWZmZWN0LWdyYWRpZW50LWxpbmVhcih0byBib3R0b20sICM0MzYwODYsICMzMDQ3NjcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qLSBuZXdzIGxpc3QgLSovXG51bC5uZXdzLWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDAgMCA1cHggMDtcbiAgICBtYXJnaW46IDAgMCA1cHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzRkMWQ5O1xuICAgIH1cblxuICAgICYuaGlnaGxpZ2h0IHtcbiAgICAgIC5uZXdzLXRpdGxlIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDVweCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogJG5ld3MtZmlyc3QtbGluay1jb2xvcjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRuZXdzLWZpcnN0LXRpdGxlLWZvbnQtZmFtaWx5O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJG5ld3MtZmlyc3QtbGluay1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAubmV3cy10aW1lIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmV3cy1maXJzdC1saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXdzLXRpbWUge1xuICAgICAgICAgIGNvbG9yOiAkbmV3cy1maXJzdC1saW5rLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5ld3NfX3RodW1iIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luOiAycHggMTBweCAwIDFweDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIFxuICAgICAgaW1nIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzNjMzY1YTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmV3cy1kZXMge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwNXB4KTtcbiAgICAgIGNvbG9yOiAkbmV3cy1kZXMtY29sb3I7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIC8vIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoMywgMjBweCwgI2UzZjJmZik7XG4gICAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlKDMpO1xuICAgIH1cblxuICAgIC5uZXdzLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAkbmV3cy1saW5rLWNvbG9yO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpob3ZlciAubmV3cy10aW1lIHtcbiAgICAgICAgY29sb3I6ICRuZXdzLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmV3cy10aW1lIHtcbiAgICAgIGNvbG9yOiAkbmV3cy1saW5rLWNvbG9yO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDNweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4ubmV3cy1tb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogI2UzZWRmMTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDBweCAwIDBweCAwO1xuICBiYWNrZ3JvdW5kOiAjNzMyMTIxO1xuICBwYWRkaW5nOiAwIDMwcHggMCAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAmOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMHB4IDVweCBudWxsIG51bGwpO1xuICAgIGNvbnRlbnQ6ICcrJztcbiAgICBmb250LXNpemU6IDM1cHg7XG4gICAgbGluZS1oZWlnaHQ6IC44O1xuICB9XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAjZTNlZGYxO1xuICAgIGJhY2tncm91bmQ6ICMyMTQ0NzM7XG4gIH1cbn1cblxuLmhlYWRpbmcge1xuICB3aWR0aDogODIycHg7XG4gIGhlaWdodDogNjlweDtcbiAgbGluZS1oZWlnaHQ6IDY5cHg7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaGVhZGluZy1iZy5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBAaW5jbHVkZSB0ZXh0LWRlY29yKCNmZmQ5N2UsIDM1cHgsIHVwcGVyY2FzZSwgY2VudGVyKTtcbiAgZm9udC1mYW1pbHk6ICd1dm50aGFuaHBoby1ib2xkJztcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG59XG5cbi5ldmVudC1zbGlkZXIge1xuICBtYXJnaW46IDcwcHggYXV0byAyMDBweCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAuc3dpcGVyLXNsaWRlIHtcbiAgICB3aWR0aDogNDcycHg7XG4gICAgZmlsdGVyOiBibHVyKDJweCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjc7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogc29saWQgMXB4ICMzNjBmMTE7XG4gICAgICBcbiAgICB9XG4gICAgJi5vZmYge1xuICAgICAgZmlsdGVyOiBibHVyKDJweCkgZ3JheXNjYWxlKDEpO1xuICAgIH1cbiAgICBcbiAgfVxuICAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgZmlsdGVyOiBibHVyKDBweCk7XG4gICAgXG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMCk7XG4gICAgXG4gIH1cbiAgLnByZXYtYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMTAwcHg7XG4gICAgdG9wOiA0MCU7XG4gICAgei1pbmRleDogNTtcbiAgICBtYXJnaW46IDA7XG4gICAgQGluY2x1ZGUgbXEtbWF4KDc2OHB4KSB7XG4gICAgICBsZWZ0OiAwcHg7XG4gICAgfVxuICB9XG4gIC5uZXh0LWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMDBweDtcbiAgICB0b3A6IDQwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIG1hcmdpbjogMDtcbiAgICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcbiAgICAgIHJpZ2h0OiAwcHg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gLmJ4aCB7XG4vLyAgIHdpZHRoOiA5NjlweDtcbi8vICAgaGVpZ2h0OiA1MDFweDtcbi8vICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9iYW5neGgtYmcucG5nKSBuby1yZXBlYXQgMCAwIC9jb3Zlcjtcbi8vICAgcGFkZGluZzogNzZweCA2N3B4IDAgNjNweDtcbi8vICAgZGlzcGxheTogZmxleDtcbi8vICAgbWFyZ2luLXRvcDogNTBweDtcblxuLy8gICAuaW1hZ2Uge1xuLy8gICAgIGJvcmRlcjogc29saWQgMXB4ICNjMmQxZTQ7XG4vLyAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbi8vICAgfVxuLy8gICAmLWNvbnRlbnQge1xuLy8gICAgIHdpZHRoOiAxMDAlO1xuLy8gICAgIHBhZGRpbmctbGVmdDogMTBweDtcbi8vICAgfVxuXG4vLyAgICYtdGFibGUge1xuLy8gICAgIGNvbG9yOiAjMzc0MDRiO1xuLy8gICAgIG1hcmdpbi1ib3R0b206IDA7XG4vLyAgICAgdGgsXG4vLyAgICAgdGQge1xuLy8gICAgICAgcGFkZGluZzogMC4ycmVtO1xuLy8gICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbi8vICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbi8vICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOTlhM2JlO1xuLy8gICAgIH1cbi8vICAgfVxuLy8gICAmLXRoZWFkIHtcbi8vICAgICBmb250LWZhbWlseTogdXZudGhhbmhwaG8tYm9sZDtcbi8vICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCNmZmYsIDE4cHgpO1xuLy8gICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvYnhoLWhlYWQuanBnKSBuby1yZXBlYXQgIDAgMCAvIGNvdmVyO1xuLy8gICAgIHRoIHtcbi8vICAgICAgIHBhZGRpbmc6IDhweDtcbi8vICAgICAgIGJvcmRlcjogbm9uZTtcbi8vICAgICB9XG4vLyAgIH1cblxuLy8gICAuc2VydmVyLXNlbGVjdCB7XG4vLyAgICAgd2lkdGg6IDE0NXB4O1xuLy8gICB9XG5cbiAgXG4vLyAgIC5jaG9zZW4td3JhcHBlciB7XG4vLyAgICAgLmNob3Nlbi1zaW5nbGUge1xuLy8gICAgICAgYmFja2dyb3VuZDogI2RhZTJlZDtcbi8vICAgICAgIGJvcmRlcjogc29saWQgMXB4ICNiMWI0YzM7XG4vLyAgICAgICBmb250LWZhbWlseTogdXZudGhhbmhwaG8tYm9sZDtcbi8vICAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3IoIzMyNTRlNiwgMThweCk7XG4vLyAgICAgICBoZWlnaHQ6IDQwcHg7XG4vLyAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbi8vICAgICAgIGRpdiBiIHtcbi8vICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMXB4O1xuLy8gICAgICAgfVxuLy8gICAgIH1cbi8vICAgfVxuLy8gfVxuXG5cbi8vIC52aWRlby1zbGlkZXIge1xuLy8gICAudmlkZW8tcHJldiB7XG4vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICAgIHRvcDogNDAlO1xuLy8gICAgIGxlZnQ6IDEwcHg7XG4vLyAgICAgY29sb3I6ICNmZmY7XG4vLyAgICAgQGluY2x1ZGUgZm9udC1zaXplKDMwcHgpO1xuLy8gICAgIHotaW5kZXg6IDEwO1xuLy8gICAgIGN1cnNvcjogcG9pbnRlcjtcbi8vICAgfVxuLy8gICAudmlkZW8tbmV4dCB7XG4vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICAgIHRvcDogNDAlO1xuLy8gICAgIHJpZ2h0OiAxMHB4O1xuLy8gICAgIGNvbG9yOiAjZmZmO1xuLy8gICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzMHB4KTtcbi8vICAgICB6LWluZGV4OiAxMDtcbi8vICAgICBjdXJzb3I6IHBvaW50ZXI7XG4vLyAgIH1cblxuLy8gICBhIHtcbi8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vICAgICBpbWcge1xuLy8gICAgICAgYm9yZGVyOiBzb2xpZCAzcHggI2I3OTg1Zjtcbi8vICAgICB9XG4vLyAgICAgJi5hY3RpdmUge1xuLy8gICAgICAgaW1nIHtcbi8vICAgICAgICAgYm9yZGVyOiBzb2xpZCAzcHggI2FlYTNlODtcbi8vICAgICAgIH1cbi8vICAgICB9XG4vLyAgIH1cbi8vIH1cblxuXG5cbi8vIC5tb25waGFpIHtcbi8vICAgbWFyZ2luLXRvcDogMTAwcHg7XG4vLyAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vICAgJi10YWIge1xuLy8gICAgIHotaW5kZXg6IDE7XG4vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICAgIGxlZnQ6IDQ1cHg7XG4vLyAgICAgdG9wOiAxNTBweDtcbi8vICAgICBtYXJnaW46IDAgMCAxNXB4O1xuLy8gICAgIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuLy8gICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuLy8gICAgIH1cbi8vICAgICBhIHtcbi8vICAgICAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbi8vICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4vLyAgICAgICB3aWR0aDogMjA5cHg7XG4vLyAgICAgICBoZWlnaHQ6IDcxcHg7XG4vLyAgICAgICBmb250LWZhbWlseTogdXZudGhhbmhwaG8tYm9sZDtcbi8vICAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3IoIzFmNDk2NywgMzFweCwgdXBwZXJjYXNlKTtcbi8vICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbW9ucGhhaS10YWIucG5nKTtcbi8vICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG5cbi8vICAgICAgICYuYWN0aXZlLFxuLy8gICAgICAgJjpob3ZlciB7XG4vLyAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbW9ucGhhaS10YWItaG92ZXIucG5nKSBuby1yZXBlYXQ7XG4vLyAgICAgICAgIGNvbG9yOiAjNWE0MDFiO1xuLy8gICAgICAgICBib3JkZXI6IG5vbmU7XG4vLyAgICAgICB9XG4vLyAgICAgfVxuLy8gICB9XG4vLyAgIC50YWItcGFuZSB7XG4vLyAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICAgIGhlaWdodDogODcwcHg7XG4vLyAgICAgbWFyZ2luLXJpZ2h0OiAtNDcwcHg7XG4vLyAgICAgLmNoYXItaW1nIHtcbi8vICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAtNDBweCAwIG51bGwgbnVsbCk7XG4vLyAgICAgICBkaXNwbGF5OiBub25lO1xuLy8gICAgICAgJi5hY3RpdmUge1xuLy8gICAgICAgICBkaXNwbGF5OiBibG9jaztcbi8vICAgICAgIH1cbi8vICAgICB9XG4vLyAgICAgJi5hY3RpdmUge1xuLy8gICAgICAgLmNoYXItaW1nIHtcbi8vICAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW5SaWdodCAwLjVzIGVhc2UtaW4tb3V0O1xuLy8gICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogZmFkZUluUmlnaHQgMC41cyBlYXNlLWluLW91dDtcbi8vICAgICAgIH1cbi8vICAgICAgIC5jaGFyLWludHJvIHtcbi8vICAgICAgICAgYW5pbWF0aW9uOiBsaWdodFNwZWVkSW5MZWZ0IDAuNXMgZWFzZS1pbi1vdXQ7XG4vLyAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBsaWdodFNwZWVkSW5MZWZ0IDAuNXMgZWFzZS1pbi1vdXQ7XG4vLyAgICAgICB9XG4vLyAgICAgfVxuICAgIFxuLy8gICB9XG5cbi8vICAgLmNodXllbnNpbmgtYnRuIHtcbi8vICAgICBAZXh0ZW5kIC5pbWFnZS1idG47XG4vLyAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDY3MHB4IG51bGwgbnVsbCAyMHB4KTtcbi8vICAgICB6LWluZGV4OiAyO1xuICAgIFxuLy8gICB9XG4vLyB9XG5cblxuLyotLS0gaXRlbSBJbiBHYW1lIC0tLSovXG5cbi8vIC5pdGVtLWdhbWUge1xuLy8gICB3aWR0aDogMTAwJTtcbi8vICAgaGVpZ2h0OiA2NzBweDtcbi8vICAgbWFyZ2luOiAwIDAgNTBweDtcbi8vICAgJi10YWIge1xuLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4vLyAgICAgbWFyZ2luOiA3OHB4IDAgMTBweDtcbi8vICAgICBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbi8vICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbi8vICAgICB9XG5cbi8vICAgICBhIHtcbi8vICAgICAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbi8vICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4vLyAgICAgICB3aWR0aDogOTBweDtcbi8vICAgICAgIGhlaWdodDogMTI2cHg7XG4vLyAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xuLy8gICAgICAgZm9udC1mYW1pbHk6IHV2bnRoYW5ocGhvLWJvbGQ7XG4vLyAgICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCM0NjMyMTUsIDIxcHgsIHVwcGVyY2FzZSwgY2VudGVyKTtcbi8vICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvdGFiLWNhcmQtYmcucG5nKTtcbi8vICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG5cbi8vICAgICAgICYuYWN0aXZlLFxuLy8gICAgICAgJjpob3ZlciB7XG4vLyAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvdGFiLWNhcmQtYmctaG92ZXIucG5nKSBuby1yZXBlYXQ7XG4vLyAgICAgICAgIGNvbG9yOiAjNDYzMjE1O1xuLy8gICAgICAgICBib3JkZXI6IG5vbmU7XG4vLyAgICAgICB9XG4vLyAgICAgfVxuLy8gICB9XG4vLyAgICYtaW1nIHtcbi8vICAgICB3aWR0aDogMTAwJTtcbi8vICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMjAwcHggMCAwIDUwcHgpO1xuLy8gICB9XG4vLyAgICYtaW5mbyB7XG4vLyAgICAgd2lkdGg6IDQwMHB4O1xuLy8gICAgIGZsb2F0OiByaWdodDtcbi8vICAgICBwYWRkaW5nOiAwIDU1cHggMCAwO1xuLy8gICAgIC8vIGFuaW1hdGlvbjogZmFkZUluUmlnaHQgMC41cyBlYXNlLWluLW91dDtcbi8vICAgICAvLyAtd2Via2l0LWFuaW1hdGlvbjogZmFkZUluUmlnaHQgMC41cyBlYXNlLWluLW91dDtcbi8vICAgICAubmFtZSB7XG4vLyAgICAgICBmb250LWZhbWlseTogdXZudGhhbmhwaG8tYm9sZDtcbi8vICAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3IoIzQ2MzIxNSwgNjBweCwgdXBwZXJjYXNlLCBjZW50ZXIsIGJvbGQpO1xuLy8gICAgICAgQGluY2x1ZGUgdGV4dC1ncmFkaWVudCh0byBib3R0b20sICM0NjMyMTUsICM4NTVmMjgpO1xuLy8gICAgICAgbWFyZ2luOiA3MHB4IDAgMCAwO1xuLy8gICAgIH1cbi8vICAgICAuaW50cm8ge1xuLy8gICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjMWMzMTRjLCAxNHB4KTtcbi8vICAgICAgIGZvbnQtZmFtaWx5OiAnU0YtQm9sZCc7XG4vLyAgICAgfVxuLy8gICAgIC5zdWItaXRlbS1nYW1lLXRhYiB7XG4vLyAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyAgICAgICB6LWluZGV4OiAyO1xuLy8gICAgICAgZGlzcGxheTogZmxleDtcbi8vICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuLy8gICAgICAgbGkge1xuLy8gICAgICAgICBtYXJnaW46IDAgOHB4O1xuLy8gICAgICAgICAuYWN0aXZlIHtcbi8vICAgICAgICAgICBpbWc6bGFzdC1jaGlsZCB7XG4vLyAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuLy8gICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbi8vICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cbi8vICAgICAgIH1cbi8vICAgICB9XG4vLyAgIH1cbi8vIH1cblxuLmJ1dHRvbnMtZm9vdGVyIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZDogIzIwMWMzMTtcbiAgZGlzcGxheTogbm9uZTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIEBpbmNsdWRlIG1xLW1heCg3NjhweCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLmZsb2F0aW5nIHtcbiAgd2lkdGg6IDE1MHB4O1xuICBoZWlnaHQ6IDI0NHB4O1xuICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgNTAlIDAgbnVsbCBudWxsKTtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9mbG9hdGluZy1iZy5wbmcpIG5vLXJlcGVhdDtcbiAgei1pbmRleDogMTA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgcGFkZGluZzogMjJweCAwIDAgMjJweDtcbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLy8gQGV4dGVuZCAlaG92ZXItc3RvcC1hbmltYXRlZDtcblxuICB9XG59XG4vKi0tLSBTdWIgcGFnZSAtLS0qL1xuLm1haW4tY29udGVudCB7XG4gIHBhZGRpbmc6IDAgMjBweCAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21haW5jb250ZW50LXRvcC5qcGcpIG5vLXJlcGVhdCAwIDAgI2U0ZTRlNDtcbiAgLy8gYm9yZGVyOiBzb2xpZCAxcHggI2IzYmRjZTtcbiAgLm5ld3MtbGlzdCB7XG4gICAgbGkge1xuICAgICAgcGFkZGluZzogMCAwIDEwcHggMDtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICAgIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggIzg5OWJhNyAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaGlnaGxpZ2h0IHtcbiAgICAgIC5uZXdzLWRlcyB7XG4gICAgICAgIGNvbG9yOiAjMzc0MDRiO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzVjOGJkMTtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2JjZDdlMztcbiAgICAgICAgfVxuICAgICAgfSBcbiAgICAgIC5uZXdzLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICMxNTJhNDY7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgLm5ld3MtdGltZSB7XG4gICAgICAgICAgY29sb3I6ICMxNTJhNDY7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM1YzhiZDE7XG4gICAgICAgICAgLm5ld3MtdGltZSB7XG4gICAgICAgICAgICBjb2xvcjogIzVjOGJkMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5zdGF0aWMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMHB4IDBweCA1MHB4O1xuICBwYWRkaW5nOiA3cHggMCAwIDA7XG4gIC5pY29uLXN0YXRpYyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIH1cblxuICAuaWNvbi1ob21lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIG1hcmdpbjogMCA1cHggMCAwO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbi1ob21lLnBuZykgbm8tcmVwZWF0O1xuICB9XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogI2UzZWRmMTtcbiAgICBtYXJnaW46IDEwcHggMCAycHggNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxufVxuLmJyZWFkY3J1bWItLW1haW4ge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAjZTNlZGYxO1xuXG4gIGEge1xuICAgIGNvbG9yOiAjZTNlZGYxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICM2Mjk1ZTA7XG4gICAgfVxuICB9XG59XG5cbi5yZWxhdGl2ZSB7XG4gIHBhZGRpbmctdG9wOiA5cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmLXRpdGxlIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjOWRhM2MwLCAxOHB4LCB1cHBlcmNhc2UsIGxlZnQsIGJvbGQpO1xuICAgIEBpbmNsdWRlIGVmZmVjdC1ncmFkaWVudC1saW5lYXIoOTBkZWcsICMxZjFmMzIsICMyNTI2MzkpO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgY29udGVudDogXCJcXDAwMmJcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29uc0hhbGZsaW5ncyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0zcHg7XG4gICAgICByaWdodDogMTVweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYmNkN2UzO1xuICAgIH1cbiAgfVxuXG4gIHVsLnJlbGF0aXZlLWxpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiA1cHggMHB4IDA7XG4gICAgbWFyZ2luOiAwIDAgMCAyMHB4O1xuXG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzYxODRhODtcbiAgICAgIHBhZGRpbmc6IDEycHggMCAxMHB4IDVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGlzdC1zdHlsZTogZGlzYztcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgY29sb3I6ICMzNzQwNGI7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICMyNjRlN2Y7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgLy8gQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgxLCAxLjRlbSwgI2JjZDdlMyk7XG4gICAgICAgICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgxKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZGF0ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCM2MTU3ODksIDE0cHgpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ib3hzZWFyY2gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDI7XG4gIGJhY2tncm91bmQ6ICMxMzFjMjg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMyNDI1Mzg7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIHdpZHRoOiAxODBweDtcblxuICAuYmdzZWFyY2gge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aWR0aDogOTBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogM3B4IDlweDtcbiAgICBjb2xvcjogIzlkYTNjMDtcbiAgfVxuXG4gIC5idHNlYXJjaCB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29uLXNlYXJjaC5wbmcpIG5vLXJlcGVhdCAwIDA7XG4gICAgd2lkdGg6IDEzcHg7XG4gICAgaGVpZ2h0OiAxM3B4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDdweDtcbiAgICByaWdodDogMTFweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIH1cblxufVxuXG4vKiBQYWdpbmcgKi9cbi5wYWdpbmcge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xufVxudWwucGFnZV9fbGlzdCB7XG4gIHBhZGRpbmc6IDIwcHggMCAwICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgMnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjMTUyYTQ2ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNTJhNDY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE1MmE0NjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE1MmE0NjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlLFxuICAgICAgJjpob3ZlciAuZGlzYWJsZSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNjM2MzYzO1xuICAgICAgICBjb2xvcjogIzYzNjM2MyAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIGEge1xuICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTJhNDY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTUyYTQ2O1xuICAgIH1cblxuICAgICYucHJldiBhLFxuICAgICYubmV4dCBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB3aWR0aDogMjZweDtcbiAgICAgIGhlaWdodDogMjZweDtcbiAgICAgIG1hcmdpbjogLTJweCAwIDAgMDtcbiAgICB9XG4gIH1cbn1cbi8qLS0tIFBvcHVwIC0tLSovXG4ucG9wdXAge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMzUlO1xuICBsZWZ0OiAzNSU7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHdpZHRoOiA0MjRweDtcbiAgaGVpZ2h0OiAyNjRweDtcbiAgbWF4LXdpZHRoOiA0MjRweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wb3B1cC1iZy5wbmcpIG5vLXJlcGVhdDtcbiAgLy8gYm9yZGVyOiBzb2xpZCAzcHggI2M3Yjc4MDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwYWRkaW5nOiAzMHB4IDQwcHg7XG4gIGNvbG9yOiAjNjM2MzYzO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAmLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYW5pbWF0aW9uOiBncm93SW4gMC41cyBlYXNlLWluLW91dDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogZ3Jvd0luIDAuNXMgZWFzZS1pbi1vdXQ7XG4gIH1cbiAgQGluY2x1ZGUgbXEtbWF4KDY0MHB4KSB7XG4gICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgaGVpZ2h0OiA0MHZoO1xuICB9XG5cbiAgLmNsb3NlIHtcbiAgICBwYWRkaW5nOiAzMHB4IDMwcHggMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgfVxuXG4gIC5wb3B1cC10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjMTYyOTRiLCAkdGV4dFRyYW5zZm9ybTogdXBwZXJjYXNlLCAkdGV4dEFsaWduOiBjZW50ZXIpO1xuICAgIGZvbnQtZmFtaWx5OiAndXZudGhhbmhwaG8tYm9sZCc7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoNDVweCk7XG4gIH1cbn1cblxuLnBvcHVwLWdpZnRjb2RlIHtcbiAgXG4gIFxuICAudmFsdWUge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBiYWNrZ3JvdW5kOiAjMTUyYTQ2O1xuICAgIHdpZHRoOiA2MCU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgfVxufVxuXG4uYmdvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xufVxuXG4ud3JhcHBlci00MDQge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3dyYXBwZXItNDA0LmpwZykgbm8tcmVwZWF0IGNlbnRlciB0b3AgLyBjb3ZlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xuXG4gIC5sb2dvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMCU7XG5cbiAgICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcbiAgICAgIG1heC13aWR0aDogNzAlO1xuICAgIH1cbiAgfVxufSIsIiRmb290ZXItY29sb3I6ICNiZmI2YTE7XG4kZm9vdGVyLWJnLWNvbG9yOiAjMDAwMDAwO1xuLmZvb3RlciB7XG4gIGNvbG9yOiAkZm9vdGVyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIEBpbmNsdWRlIHBhZGRpbmcoMHB4IDAgMHB4IDApO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICRmb290ZXItYmctY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAnU0YnO1xuICAmLWl0ZW0ge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBjb2xvcjogJGZvb3Rlci1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgcGFkZGluZzogMCA4cHg7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgLy8gY29sb3I6IGxpZ2h0ZW4oJGZvb3Rlci1jb2xvciwgMjAlKTtcbiAgICAgICAgICBjb2xvcjogI2ZmM2IwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb3B5cmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgY29sb3I6ICRmb290ZXItY29sb3I7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgfVxuICAuaW1nMTgge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgfVxuXG4gIC5jbW4ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cbn0iXX0= */
