@import url(https://fonts.googleapis.com/css?family=Roboto:300,400,500,600,700&display=swap);
@import url(https://fonts.googleapis.com/css?family=Roboto:300,400,500,600,700&display=swap);
@import url(https://fonts.googleapis.com/css?family=Roboto:300,400,500,600,700&display=swap);
@charset "UTF-8";
/*!
 * Bootstrap v4.6.0 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/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", "Liberation 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 {
  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", "Liberation 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:not(:focus-visible) {
  outline: 0 !important;
}

hr {
  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;
  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: 0.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: -0.25em;
}

sup {
  top: -0.5em;
}

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

a:not([href]):not([class]) {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

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;
  -ms-overflow-style: scrollbar;
}

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;
  text-align: -webkit-match-parent;
}

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

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

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;
}

[role=button] {
  cursor: pointer;
}

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] {
  box-sizing: border-box;
  padding: 0;
}

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: 0.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: "— ";
}

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

.img-thumbnail {
  padding: 0.25rem;
  background-color: #fff;
  border: 1px solid #dee2e6;
  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-wrap: break-word;
}
a > code {
  color: inherit;
}

kbd {
  padding: 0.2rem 0.4rem;
  font-size: 87.5%;
  color: #fff;
  background-color: #212529;
  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,
.container-fluid,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

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

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

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}

.row-cols-1 > * {
  flex: 0 0 100%;
  max-width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 50%;
  max-width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.row-cols-4 > * {
  flex: 0 0 25%;
  max-width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 20%;
  max-width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

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

.col-1 {
  flex: 0 0 8.3333333333%;
  max-width: 8.3333333333%;
}

.col-2 {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

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

.col-4 {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.col-5 {
  flex: 0 0 41.6666666667%;
  max-width: 41.6666666667%;
}

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

.col-7 {
  flex: 0 0 58.3333333333%;
  max-width: 58.3333333333%;
}

.col-8 {
  flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%;
}

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

.col-10 {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
}

.col-11 {
  flex: 0 0 91.6666666667%;
  max-width: 91.6666666667%;
}

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

.order-first {
  order: -1;
}

.order-last {
  order: 13;
}

.order-0 {
  order: 0;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.order-5 {
  order: 5;
}

.order-6 {
  order: 6;
}

.order-7 {
  order: 7;
}

.order-8 {
  order: 8;
}

.order-9 {
  order: 9;
}

.order-10 {
  order: 10;
}

.order-11 {
  order: 11;
}

.order-12 {
  order: 12;
}

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .row-cols-sm-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .row-cols-sm-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .row-cols-sm-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .row-cols-sm-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .row-cols-sm-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .row-cols-sm-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-sm-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-sm-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-sm-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-sm-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-sm-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-sm-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-sm-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-sm-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-sm-first {
    order: -1;
  }

  .order-sm-last {
    order: 13;
  }

  .order-sm-0 {
    order: 0;
  }

  .order-sm-1 {
    order: 1;
  }

  .order-sm-2 {
    order: 2;
  }

  .order-sm-3 {
    order: 3;
  }

  .order-sm-4 {
    order: 4;
  }

  .order-sm-5 {
    order: 5;
  }

  .order-sm-6 {
    order: 6;
  }

  .order-sm-7 {
    order: 7;
  }

  .order-sm-8 {
    order: 8;
  }

  .order-sm-9 {
    order: 9;
  }

  .order-sm-10 {
    order: 10;
  }

  .order-sm-11 {
    order: 11;
  }

  .order-sm-12 {
    order: 12;
  }

  .offset-sm-0 {
    margin-left: 0;
  }

  .offset-sm-1 {
    margin-left: 8.3333333333%;
  }

  .offset-sm-2 {
    margin-left: 16.6666666667%;
  }

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

  .offset-sm-4 {
    margin-left: 33.3333333333%;
  }

  .offset-sm-5 {
    margin-left: 41.6666666667%;
  }

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

  .offset-sm-7 {
    margin-left: 58.3333333333%;
  }

  .offset-sm-8 {
    margin-left: 66.6666666667%;
  }

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

  .offset-sm-10 {
    margin-left: 83.3333333333%;
  }

  .offset-sm-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .row-cols-md-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .row-cols-md-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .row-cols-md-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .row-cols-md-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .row-cols-md-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .row-cols-md-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-md-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-md-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-md-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-md-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-md-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-md-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-md-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-md-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-md-first {
    order: -1;
  }

  .order-md-last {
    order: 13;
  }

  .order-md-0 {
    order: 0;
  }

  .order-md-1 {
    order: 1;
  }

  .order-md-2 {
    order: 2;
  }

  .order-md-3 {
    order: 3;
  }

  .order-md-4 {
    order: 4;
  }

  .order-md-5 {
    order: 5;
  }

  .order-md-6 {
    order: 6;
  }

  .order-md-7 {
    order: 7;
  }

  .order-md-8 {
    order: 8;
  }

  .order-md-9 {
    order: 9;
  }

  .order-md-10 {
    order: 10;
  }

  .order-md-11 {
    order: 11;
  }

  .order-md-12 {
    order: 12;
  }

  .offset-md-0 {
    margin-left: 0;
  }

  .offset-md-1 {
    margin-left: 8.3333333333%;
  }

  .offset-md-2 {
    margin-left: 16.6666666667%;
  }

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

  .offset-md-4 {
    margin-left: 33.3333333333%;
  }

  .offset-md-5 {
    margin-left: 41.6666666667%;
  }

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

  .offset-md-7 {
    margin-left: 58.3333333333%;
  }

  .offset-md-8 {
    margin-left: 66.6666666667%;
  }

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

  .offset-md-10 {
    margin-left: 83.3333333333%;
  }

  .offset-md-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .row-cols-lg-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .row-cols-lg-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .row-cols-lg-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .row-cols-lg-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .row-cols-lg-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .row-cols-lg-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-lg-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-lg-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-lg-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-lg-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-lg-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-lg-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-lg-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-lg-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-lg-first {
    order: -1;
  }

  .order-lg-last {
    order: 13;
  }

  .order-lg-0 {
    order: 0;
  }

  .order-lg-1 {
    order: 1;
  }

  .order-lg-2 {
    order: 2;
  }

  .order-lg-3 {
    order: 3;
  }

  .order-lg-4 {
    order: 4;
  }

  .order-lg-5 {
    order: 5;
  }

  .order-lg-6 {
    order: 6;
  }

  .order-lg-7 {
    order: 7;
  }

  .order-lg-8 {
    order: 8;
  }

  .order-lg-9 {
    order: 9;
  }

  .order-lg-10 {
    order: 10;
  }

  .order-lg-11 {
    order: 11;
  }

  .order-lg-12 {
    order: 12;
  }

  .offset-lg-0 {
    margin-left: 0;
  }

  .offset-lg-1 {
    margin-left: 8.3333333333%;
  }

  .offset-lg-2 {
    margin-left: 16.6666666667%;
  }

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

  .offset-lg-4 {
    margin-left: 33.3333333333%;
  }

  .offset-lg-5 {
    margin-left: 41.6666666667%;
  }

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

  .offset-lg-7 {
    margin-left: 58.3333333333%;
  }

  .offset-lg-8 {
    margin-left: 66.6666666667%;
  }

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

  .offset-lg-10 {
    margin-left: 83.3333333333%;
  }

  .offset-lg-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }

  .row-cols-xl-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .row-cols-xl-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .row-cols-xl-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .row-cols-xl-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .row-cols-xl-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .row-cols-xl-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-xl-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }

  .col-xl-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }

  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-xl-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }

  .col-xl-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }

  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-xl-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }

  .col-xl-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }

  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-xl-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }

  .col-xl-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }

  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-xl-first {
    order: -1;
  }

  .order-xl-last {
    order: 13;
  }

  .order-xl-0 {
    order: 0;
  }

  .order-xl-1 {
    order: 1;
  }

  .order-xl-2 {
    order: 2;
  }

  .order-xl-3 {
    order: 3;
  }

  .order-xl-4 {
    order: 4;
  }

  .order-xl-5 {
    order: 5;
  }

  .order-xl-6 {
    order: 6;
  }

  .order-xl-7 {
    order: 7;
  }

  .order-xl-8 {
    order: 8;
  }

  .order-xl-9 {
    order: 9;
  }

  .order-xl-10 {
    order: 10;
  }

  .order-xl-11 {
    order: 11;
  }

  .order-xl-12 {
    order: 12;
  }

  .offset-xl-0 {
    margin-left: 0;
  }

  .offset-xl-1 {
    margin-left: 8.3333333333%;
  }

  .offset-xl-2 {
    margin-left: 16.6666666667%;
  }

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

  .offset-xl-4 {
    margin-left: 33.3333333333%;
  }

  .offset-xl-5 {
    margin-left: 41.6666666667%;
  }

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

  .offset-xl-7 {
    margin-left: 58.3333333333%;
  }

  .offset-xl-8 {
    margin-left: 66.6666666667%;
  }

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

  .offset-xl-10 {
    margin-left: 83.3333333333%;
  }

  .offset-xl-11 {
    margin-left: 91.6666666667%;
  }
}
.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;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}
.form-control:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #495057;
}
.form-control:focus {
  color: #495057;
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.form-control::placeholder {
  color: #6c757d;
  opacity: 1;
}
.form-control:disabled, .form-control[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}

input[type=date].form-control,
input[type=time].form-control,
input[type=datetime-local].form-control,
input[type=month].form-control {
  appearance: none;
}

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: 0.375rem 0;
  margin-bottom: 0;
  font-size: 1rem;
  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;
  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;
  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: flex;
  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, .form-check-input:disabled ~ .form-check-label {
  color: #6c757d;
}

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

.form-check-inline {
  display: inline-flex;
  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%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(40, 167, 69, 0.9);
  border-radius: 0.25rem;
}
.form-row > .col > .valid-tooltip, .form-row > [class*=col-] > .valid-tooltip {
  left: 5px;
}

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

.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' width='8' height='8' 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: right calc(0.375em + 0.1875rem) center;
  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;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.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(0.75em + 2.3125rem);
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' 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") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat;
}
.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.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: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 {
  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:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
  border-color: #28a745;
  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%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 0.25rem;
}
.form-row > .col > .invalid-tooltip, .form-row > [class*=col-] > .invalid-tooltip {
  left: 5px;
}

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

.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' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  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;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.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(0.75em + 2.3125rem);
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat;
}
.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.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: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 {
  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:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.form-inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}
.form-inline .form-check {
  width: 100%;
}
@media (min-width: 576px) {
  .form-inline label {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
  }
  .form-inline .form-group {
    display: flex;
    flex: 0 0 auto;
    flex-flow: row wrap;
    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: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding-left: 0;
  }
  .form-inline .form-check-input {
    position: relative;
    flex-shrink: 0;
    margin-top: 0;
    margin-right: 0.25rem;
    margin-left: 0;
  }
  .form-inline .custom-control {
    align-items: 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;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  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;
}
@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}
.btn:hover {
  color: #212529;
  text-decoration: none;
}
.btn:focus, .btn.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.btn.disabled, .btn:disabled {
  opacity: 0.65;
}
.btn:not(:disabled):not(.disabled) {
  cursor: pointer;
}
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 {
  color: #fff;
  background-color: #0069d9;
  border-color: #0062cc;
  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: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:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus {
  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 {
  color: #fff;
  background-color: #5a6268;
  border-color: #545b62;
  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: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:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus {
  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 {
  color: #fff;
  background-color: #218838;
  border-color: #1e7e34;
  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: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:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus {
  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 {
  color: #fff;
  background-color: #138496;
  border-color: #117a8b;
  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: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:not(:disabled):not(.disabled).active:focus, .show > .btn-info.dropdown-toggle:focus {
  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 {
  color: #212529;
  background-color: #e0a800;
  border-color: #d39e00;
  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: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:not(:disabled):not(.disabled).active:focus, .show > .btn-warning.dropdown-toggle:focus {
  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 {
  color: #fff;
  background-color: #c82333;
  border-color: #bd2130;
  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: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:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus {
  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 {
  color: #212529;
  background-color: #e2e6ea;
  border-color: #dae0e5;
  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: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:not(:disabled):not(.disabled).active:focus, .show > .btn-light.dropdown-toggle:focus {
  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 {
  color: #fff;
  background-color: #23272b;
  border-color: #1d2124;
  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: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:not(:disabled):not(.disabled).active:focus, .show > .btn-dark.dropdown-toggle:focus {
  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 {
  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: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:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary.dropdown-toggle:focus {
  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 {
  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: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:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-secondary.dropdown-toggle:focus {
  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 {
  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: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:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-success.dropdown-toggle:focus {
  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 {
  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: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:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-info.dropdown-toggle:focus {
  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 {
  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: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:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-warning.dropdown-toggle:focus {
  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 {
  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: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:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-danger.dropdown-toggle:focus {
  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 {
  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: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:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-light.dropdown-toggle:focus {
  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 {
  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: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:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-dark.dropdown-toggle:focus {
  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;
}
.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;
  border-radius: 0.3rem;
}

.btn-sm, .btn-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  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 {
  transition: opacity 0.15s linear;
}
@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}

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

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing {
    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;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  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: #e9ecef;
}
.dropdown-item.active, .dropdown-item:active {
  color: #fff;
  text-decoration: none;
  background-color: #007bff;
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: #adb5bd;
  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: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  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.active,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  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 {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) > .btn {
  border-top-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 {
  flex-direction: column;
  align-items: flex-start;
  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 {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-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: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .form-control-plaintext,
.input-group > .custom-select,
.input-group > .custom-file {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
  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(:first-child),
.input-group > .custom-select:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .custom-file {
  display: flex;
  align-items: center;
}
.input-group > .custom-file:not(:last-child) .custom-file-label, .input-group > .custom-file:not(:first-child) .custom-file-label {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group:not(.has-validation) > .form-control:not(:last-child),
.input-group:not(.has-validation) > .custom-select:not(:last-child),
.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group.has-validation > .form-control:nth-last-child(n+3),
.input-group.has-validation > .custom-select:nth-last-child(n+3),
.input-group.has-validation > .custom-file:nth-last-child(n+3) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group-prepend,
.input-group-append {
  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: flex;
  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;
  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;
  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;
  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:not(.has-validation) > .input-group-append:not(:last-child) > .btn,
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,
.input-group.has-validation > .input-group-append:nth-last-child(n+3) > .btn,
.input-group.has-validation > .input-group-append:nth-last-child(n+3) > .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) {
  border-top-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) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.custom-control {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5rem;
  color-adjust: exact;
}

.custom-control-inline {
  display: inline-flex;
  margin-right: 1rem;
}

.custom-control-input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1rem;
  height: 1.25rem;
  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 {
  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 {
  color: #fff;
  background-color: #b3d7ff;
  border-color: #b3d7ff;
}
.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
  color: #6c757d;
}
.custom-control-input[disabled] ~ .custom-control-label::before, .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: 50%/50% 50% no-repeat;
}

.custom-checkbox .custom-control-label::before {
  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' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 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' width='4' height='4' 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 {
  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' width='12' height='12' 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;
  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;
  border-radius: 0.5rem;
  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;
}
@media (prefers-reduced-motion: reduce) {
  .custom-switch .custom-control-label::after {
    transition: none;
  }
}
.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  background-color: #fff;
  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: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  appearance: none;
}
.custom-select:focus {
  border-color: #80bdff;
  outline: 0;
  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:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #495057;
}

.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;
  overflow: hidden;
  opacity: 0;
}
.custom-file-input:focus ~ .custom-file-label {
  border-color: #80bdff;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.custom-file-input[disabled] ~ .custom-file-label, .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;
  overflow: hidden;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  border: 1px solid #ced4da;
  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;
  border-radius: 0 0.25rem 0.25rem 0;
}

.custom-range {
  width: 100%;
  height: 1.4rem;
  padding: 0;
  background-color: transparent;
  appearance: none;
}
.custom-range:focus {
  outline: 0;
}
.custom-range:focus::-webkit-slider-thumb {
  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;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-webkit-slider-thumb {
    transition: none;
  }
}
.custom-range::-webkit-slider-thumb:active {
  background-color: #b3d7ff;
}
.custom-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}
.custom-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  background-color: #007bff;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-moz-range-thumb {
    transition: none;
  }
}
.custom-range::-moz-range-thumb:active {
  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;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-ms-thumb {
    transition: none;
  }
}
.custom-range::-ms-thumb:active {
  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 {
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .custom-control-label::before,
.custom-file-label,
.custom-select {
    transition: none;
  }
}

.nav {
  display: flex;
  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-link {
  margin-bottom: -1px;
  border: 1px solid transparent;
  border-top-left-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;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

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

.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}

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

.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1rem;
}
.navbar .container,
.navbar .container-fluid,
.navbar .container-sm,
.navbar .container-md,
.navbar .container-lg,
.navbar .container-xl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  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: flex;
  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 {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center;
}

.navbar-toggler {
  padding: 0.25rem 0.75rem;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  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: 50%/100% 100% no-repeat;
}

.navbar-nav-scroll {
  max-height: 75vh;
  overflow-y: auto;
}

@media (max-width: 575.98px) {
  .navbar-expand-sm > .container,
.navbar-expand-sm > .container-fluid,
.navbar-expand-sm > .container-sm,
.navbar-expand-sm > .container-md,
.navbar-expand-sm > .container-lg,
.navbar-expand-sm > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    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 > .container-fluid,
.navbar-expand-sm > .container-sm,
.navbar-expand-sm > .container-md,
.navbar-expand-sm > .container-lg,
.navbar-expand-sm > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .navbar-expand-md > .container,
.navbar-expand-md > .container-fluid,
.navbar-expand-md > .container-sm,
.navbar-expand-md > .container-md,
.navbar-expand-md > .container-lg,
.navbar-expand-md > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 768px) {
  .navbar-expand-md {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    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 > .container-fluid,
.navbar-expand-md > .container-sm,
.navbar-expand-md > .container-md,
.navbar-expand-md > .container-lg,
.navbar-expand-md > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
}
@media (max-width: 991.98px) {
  .navbar-expand-lg > .container,
.navbar-expand-lg > .container-fluid,
.navbar-expand-lg > .container-sm,
.navbar-expand-lg > .container-md,
.navbar-expand-lg > .container-lg,
.navbar-expand-lg > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    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 > .container-fluid,
.navbar-expand-lg > .container-sm,
.navbar-expand-lg > .container-md,
.navbar-expand-lg > .container-lg,
.navbar-expand-lg > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
}
@media (max-width: 1199.98px) {
  .navbar-expand-xl > .container,
.navbar-expand-xl > .container-fluid,
.navbar-expand-xl > .container-sm,
.navbar-expand-xl > .container-md,
.navbar-expand-xl > .container-lg,
.navbar-expand-xl > .container-xl {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-flow: row nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    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 > .container-fluid,
.navbar-expand-xl > .container-sm,
.navbar-expand-xl > .container-md,
.navbar-expand-xl > .container-lg,
.navbar-expand-xl > .container-xl {
    flex-wrap: nowrap;
  }
  .navbar-expand-xl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
}
.navbar-expand {
  flex-flow: row nowrap;
  justify-content: flex-start;
}
.navbar-expand > .container,
.navbar-expand > .container-fluid,
.navbar-expand > .container-sm,
.navbar-expand > .container-md,
.navbar-expand > .container-lg,
.navbar-expand > .container-xl {
  padding-right: 0;
  padding-left: 0;
}
.navbar-expand .navbar-nav {
  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 > .container-fluid,
.navbar-expand > .container-sm,
.navbar-expand > .container-md,
.navbar-expand > .container-lg,
.navbar-expand > .container-xl {
  flex-wrap: nowrap;
}
.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}
.navbar-expand .navbar-collapse {
  display: flex !important;
  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 xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' 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 xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' 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: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.25rem;
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}
.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}

.card-body {
  flex: 1 1 auto;
  min-height: 1px;
  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 {
  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 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 {
  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;
  border-radius: calc(0.25rem - 1px);
}

.card-img,
.card-img-top,
.card-img-bottom {
  flex-shrink: 0;
  width: 100%;
}

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

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

.card-deck .card {
  margin-bottom: 15px;
}
@media (min-width: 576px) {
  .card-deck {
    display: flex;
    flex-flow: row wrap;
    margin-right: -15px;
    margin-left: -15px;
  }
  .card-deck .card {
    flex: 1 0 0%;
    margin-right: 15px;
    margin-bottom: 0;
    margin-left: 15px;
  }
}

.card-group > .card {
  margin-bottom: 15px;
}
@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0%;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group > .card:not(:last-child) {
    border-top-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 {
    border-top-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-bottom,
.card-group > .card:not(:last-child) .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:first-child) {
    border-top-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 {
    border-top-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-bottom,
.card-group > .card:not(:first-child) .card-footer {
    border-bottom-left-radius: 0;
  }
}

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

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

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

.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem;
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  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: flex;
  padding-left: 0;
  list-style: none;
  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: 3;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.page-item:first-child .page-link {
  margin-left: 0;
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.page-item:last-child .page-link {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}
.page-item.active .page-link {
  z-index: 3;
  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 {
  border-top-left-radius: 0.3rem;
  border-bottom-left-radius: 0.3rem;
}
.pagination-lg .page-item:last-child .page-link {
  border-top-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 {
  border-top-left-radius: 0.2rem;
  border-bottom-left-radius: 0.2rem;
}
.pagination-sm .page-item:last-child .page-link {
  border-top-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;
  border-radius: 0.25rem;
  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;
}
@media (prefers-reduced-motion: reduce) {
  .badge {
    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;
  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;
  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;
  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;
  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;
  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;
  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;
  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;
  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;
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

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

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

.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  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;
  z-index: 2;
  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;
}

@keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  display: flex;
  height: 1rem;
  overflow: hidden;
  line-height: 0;
  font-size: 0.75rem;
  background-color: #e9ecef;
  border-radius: 0.25rem;
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #007bff;
  transition: width 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}

.progress-bar-striped {
  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);
  background-size: 1rem 1rem;
}

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

.media {
  display: flex;
  align-items: flex-start;
}

.media-body {
  flex: 1;
}

.list-group {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: 0.25rem;
}

.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 {
  color: #212529;
  background-color: #e9ecef;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125);
}
.list-group-item:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}
.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}
.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-item + .list-group-item {
  border-top-width: 0;
}
.list-group-item + .list-group-item.active {
  margin-top: -1px;
  border-top-width: 1px;
}

.list-group-horizontal {
  flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child {
  border-bottom-left-radius: 0.25rem;
  border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child {
  border-top-right-radius: 0.25rem;
  border-bottom-left-radius: 0;
}
.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: 1px;
  border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: -1px;
  border-left-width: 1px;
}

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
.list-group-flush {
  border-radius: 0;
}
.list-group-flush > .list-group-item {
  border-width: 0 0 1px;
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 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: 0.5;
}
.close:hover {
  color: #000;
  text-decoration: none;
}
.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
  opacity: 0.75;
}

button.close {
  padding: 0;
  background-color: transparent;
  border: 0;
}

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

.toast {
  flex-basis: 350px;
  max-width: 350px;
  font-size: 0.875rem;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
  opacity: 0;
  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: flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  color: #6c757d;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.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 {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  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 {
  flex-shrink: 0;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem);
}
.modal-dialog-centered::before {
  display: block;
  height: calc(100vh - 1rem);
  height: min-content;
  content: "";
}
.modal-dialog-centered.modal-dialog-scrollable {
  flex-direction: column;
  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: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  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: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #dee2e6;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}
.modal-header .close {
  padding: 1rem 1rem;
  margin: -1rem -1rem -1rem auto;
}

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

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

.modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: 0.75rem;
  border-top: 1px solid #dee2e6;
  border-bottom-right-radius: calc(0.3rem - 1px);
  border-bottom-left-radius: calc(0.3rem - 1px);
}
.modal-footer > * {
  margin: 0.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);
    height: min-content;
  }

  .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", "Liberation 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;
  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", "Liberation 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;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  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);
}
.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);
  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);
}
.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);
  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;
  border-top-left-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 {
  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%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

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

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

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

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  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;
  transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  color: #fff;
  text-align: center;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
.carousel-control-next {
    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: 50%/100% 100% no-repeat;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%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' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e");
}

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

@keyframes spinner-border {
  to {
    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;
  border-radius: 50%;
  animation: 0.75s linear infinite spinner-border;
}

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

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: text-bottom;
  background-color: currentColor;
  border-radius: 50%;
  opacity: 0;
  animation: 0.75s linear infinite spinner-grow;
}

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

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
.spinner-grow {
    animation-duration: 1.5s;
  }
}
.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 {
  border-radius: 0.2rem !important;
}

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

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

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

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

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

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

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

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

.rounded-0 {
  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: flex !important;
}

.d-inline-flex {
  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: flex !important;
  }

  .d-sm-inline-flex {
    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: flex !important;
  }

  .d-md-inline-flex {
    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: flex !important;
  }

  .d-lg-inline-flex {
    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: flex !important;
  }

  .d-xl-inline-flex {
    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: flex !important;
  }

  .d-print-inline-flex {
    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.8571428571%;
}

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

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

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

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

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

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

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

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

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

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

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

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

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

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

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

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

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

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

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

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

.align-self-stretch {
  align-self: stretch !important;
}

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important;
  }

  .flex-sm-column {
    flex-direction: column !important;
  }

  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }

  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .flex-sm-fill {
    flex: 1 1 auto !important;
  }

  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }

  .justify-content-sm-start {
    justify-content: flex-start !important;
  }

  .justify-content-sm-end {
    justify-content: flex-end !important;
  }

  .justify-content-sm-center {
    justify-content: center !important;
  }

  .justify-content-sm-between {
    justify-content: space-between !important;
  }

  .justify-content-sm-around {
    justify-content: space-around !important;
  }

  .align-items-sm-start {
    align-items: flex-start !important;
  }

  .align-items-sm-end {
    align-items: flex-end !important;
  }

  .align-items-sm-center {
    align-items: center !important;
  }

  .align-items-sm-baseline {
    align-items: baseline !important;
  }

  .align-items-sm-stretch {
    align-items: stretch !important;
  }

  .align-content-sm-start {
    align-content: flex-start !important;
  }

  .align-content-sm-end {
    align-content: flex-end !important;
  }

  .align-content-sm-center {
    align-content: center !important;
  }

  .align-content-sm-between {
    align-content: space-between !important;
  }

  .align-content-sm-around {
    align-content: space-around !important;
  }

  .align-content-sm-stretch {
    align-content: stretch !important;
  }

  .align-self-sm-auto {
    align-self: auto !important;
  }

  .align-self-sm-start {
    align-self: flex-start !important;
  }

  .align-self-sm-end {
    align-self: flex-end !important;
  }

  .align-self-sm-center {
    align-self: center !important;
  }

  .align-self-sm-baseline {
    align-self: baseline !important;
  }

  .align-self-sm-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important;
  }

  .flex-md-column {
    flex-direction: column !important;
  }

  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-md-wrap {
    flex-wrap: wrap !important;
  }

  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .flex-md-fill {
    flex: 1 1 auto !important;
  }

  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }

  .justify-content-md-start {
    justify-content: flex-start !important;
  }

  .justify-content-md-end {
    justify-content: flex-end !important;
  }

  .justify-content-md-center {
    justify-content: center !important;
  }

  .justify-content-md-between {
    justify-content: space-between !important;
  }

  .justify-content-md-around {
    justify-content: space-around !important;
  }

  .align-items-md-start {
    align-items: flex-start !important;
  }

  .align-items-md-end {
    align-items: flex-end !important;
  }

  .align-items-md-center {
    align-items: center !important;
  }

  .align-items-md-baseline {
    align-items: baseline !important;
  }

  .align-items-md-stretch {
    align-items: stretch !important;
  }

  .align-content-md-start {
    align-content: flex-start !important;
  }

  .align-content-md-end {
    align-content: flex-end !important;
  }

  .align-content-md-center {
    align-content: center !important;
  }

  .align-content-md-between {
    align-content: space-between !important;
  }

  .align-content-md-around {
    align-content: space-around !important;
  }

  .align-content-md-stretch {
    align-content: stretch !important;
  }

  .align-self-md-auto {
    align-self: auto !important;
  }

  .align-self-md-start {
    align-self: flex-start !important;
  }

  .align-self-md-end {
    align-self: flex-end !important;
  }

  .align-self-md-center {
    align-self: center !important;
  }

  .align-self-md-baseline {
    align-self: baseline !important;
  }

  .align-self-md-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important;
  }

  .flex-lg-column {
    flex-direction: column !important;
  }

  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }

  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .flex-lg-fill {
    flex: 1 1 auto !important;
  }

  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }

  .justify-content-lg-start {
    justify-content: flex-start !important;
  }

  .justify-content-lg-end {
    justify-content: flex-end !important;
  }

  .justify-content-lg-center {
    justify-content: center !important;
  }

  .justify-content-lg-between {
    justify-content: space-between !important;
  }

  .justify-content-lg-around {
    justify-content: space-around !important;
  }

  .align-items-lg-start {
    align-items: flex-start !important;
  }

  .align-items-lg-end {
    align-items: flex-end !important;
  }

  .align-items-lg-center {
    align-items: center !important;
  }

  .align-items-lg-baseline {
    align-items: baseline !important;
  }

  .align-items-lg-stretch {
    align-items: stretch !important;
  }

  .align-content-lg-start {
    align-content: flex-start !important;
  }

  .align-content-lg-end {
    align-content: flex-end !important;
  }

  .align-content-lg-center {
    align-content: center !important;
  }

  .align-content-lg-between {
    align-content: space-between !important;
  }

  .align-content-lg-around {
    align-content: space-around !important;
  }

  .align-content-lg-stretch {
    align-content: stretch !important;
  }

  .align-self-lg-auto {
    align-self: auto !important;
  }

  .align-self-lg-start {
    align-self: flex-start !important;
  }

  .align-self-lg-end {
    align-self: flex-end !important;
  }

  .align-self-lg-center {
    align-self: center !important;
  }

  .align-self-lg-baseline {
    align-self: baseline !important;
  }

  .align-self-lg-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important;
  }

  .flex-xl-column {
    flex-direction: column !important;
  }

  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }

  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }

  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }

  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }

  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }

  .flex-xl-fill {
    flex: 1 1 auto !important;
  }

  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }

  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }

  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }

  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }

  .justify-content-xl-start {
    justify-content: flex-start !important;
  }

  .justify-content-xl-end {
    justify-content: flex-end !important;
  }

  .justify-content-xl-center {
    justify-content: center !important;
  }

  .justify-content-xl-between {
    justify-content: space-between !important;
  }

  .justify-content-xl-around {
    justify-content: space-around !important;
  }

  .align-items-xl-start {
    align-items: flex-start !important;
  }

  .align-items-xl-end {
    align-items: flex-end !important;
  }

  .align-items-xl-center {
    align-items: center !important;
  }

  .align-items-xl-baseline {
    align-items: baseline !important;
  }

  .align-items-xl-stretch {
    align-items: stretch !important;
  }

  .align-content-xl-start {
    align-content: flex-start !important;
  }

  .align-content-xl-end {
    align-content: flex-end !important;
  }

  .align-content-xl-center {
    align-content: center !important;
  }

  .align-content-xl-between {
    align-content: space-between !important;
  }

  .align-content-xl-around {
    align-content: space-around !important;
  }

  .align-content-xl-stretch {
    align-content: stretch !important;
  }

  .align-self-xl-auto {
    align-self: auto !important;
  }

  .align-self-xl-start {
    align-self: flex-start !important;
  }

  .align-self-xl-end {
    align-self: flex-end !important;
  }

  .align-self-xl-center {
    align-self: center !important;
  }

  .align-self-xl-baseline {
    align-self: baseline !important;
  }

  .align-self-xl-stretch {
    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;
  }
}
.user-select-all {
  user-select: all !important;
}

.user-select-auto {
  user-select: auto !important;
}

.user-select-none {
  user-select: 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: 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: sticky) {
  .sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

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

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

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

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

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

.shadow-none {
  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;
}

.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;
  }
}
.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);
}

.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;
  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;
  word-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;
    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 {
    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;
  }
}
/*
grey light : #5D839D
green-blue : #ababab
blue : #0028F5 / #67D6FB
*/
/*
{"palette":{"common":{"black":"rgba(51, 51, 51, 1)","white":"#fff"},"background":{"paper":"#fff","default":"#fafafa"},"primary":{"light":"rgba(51, 83, 247, 1)","main":"rgba(0, 40, 245, 1)","dark":"rgba(0, 28, 171, 1)","contrastText":"#fff"},"secondary":{"light":"rgba(72, 149, 175, 1)","main":"rgba(103, 214, 251, 1)","dark":"rgba(133, 222, 251, 1)","contrastText":"#fff"},"error":{"light":"#e57373","main":"#f44336","dark":"#d32f2f","contrastText":"#fff"},"text":{"primary":"rgba(0, 0, 0, 0.87)","secondary":"rgba(0, 0, 0, 0.54)","disabled":"rgba(0, 0, 0, 0.38)","hint":"rgba(0, 0, 0, 0.38)"}}}
*/
@font-face {
  font-family: "CircularStd";
  src: local("CircularStd-Medium"), url(/build/images/CircularStd-Medium.61d34836.svg) format("svg"), url(/build/fonts/CircularStd-Medium.e39d4081.woff) format("woff"), url(/build/fonts/CircularStd-Medium.6fb73f93.ttf) format("ttf"), url(/build/fonts/CircularStd-Medium.bba31ddc.eot) format("embedded-opentype");
  font-style: normal;
}
@font-face {
  font-family: "CircularStd";
  src: local("CircularStd-MediumItalic"), url(/build/images/CircularStd-MediumItalic.5614e440.svg) format("svg"), url(/build/fonts/CircularStd-MediumItalic.8ffa91cf.woff) format("woff"), url(/build/fonts/CircularStd-MediumItalic.df104e4b.ttf) format("ttf"), url(/build/fonts/CircularStd-MediumItalic.4936f24b.eot) format("embedded-opentype");
  font-style: italic;
}
@font-face {
  font-family: "CircularStd";
  src: local("CircularStd-Bold"), url(/build/images/CircularStd-Bold.9ba9259b.svg) format("svg"), url(/build/fonts/CircularStd-Bold.4bae1919.woff) format("woff"), url(/build/fonts/CircularStd-Bold.54433420.ttf) format("ttf"), url(/build/fonts/CircularStd-Bold.d0d14e84.eot) format("embedded-opentype");
  font-weight: bold;
}
@font-face {
  font-family: "CircularStd";
  src: local("CircularStd-Bold"), url(/build/images/CircularStd-Bold.9ba9259b.svg) format("svg"), url(/build/fonts/CircularStd-Bold.4bae1919.woff) format("woff"), url(/build/fonts/CircularStd-Bold.54433420.ttf) format("ttf"), url(/build/fonts/CircularStd-Bold.d0d14e84.eot) format("embedded-opentype");
  font-weight: 500;
}
@font-face {
  font-family: "CircularStd";
  src: local("CircularStd-Bold"), url(/build/images/CircularStd-Bold.9ba9259b.svg) format("svg"), url(/build/fonts/CircularStd-Bold.4bae1919.woff) format("woff"), url(/build/fonts/CircularStd-Bold.54433420.ttf) format("ttf"), url(/build/fonts/CircularStd-Bold.d0d14e84.eot) format("embedded-opentype");
  font-weight: 700;
}
@font-face {
  font-family: "CircularStd";
  src: local("CircularStd-BoldItalic"), url(/build/images/CircularStd-BoldItalic.abb32a5c.svg) format("svg"), url(/build/fonts/CircularStd-BoldItalic.eeb47162.woff) format("woff"), url(/build/fonts/CircularStd-BoldItalic.4c0949c4.ttf) format("ttf"), url(/build/fonts/CircularStd-BoldItalic.af155cb0.eot) format("embedded-opentype");
  font-weight: 500;
  font-style: italic;
}
.aviva-bg {
  background-color: #ffd900;
}

.aviva-color {
  color: #004fb6;
}

.btn-aviva {
  background-color: #004fb6;
  color: #ffd900;
}

#mask {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
}
#mask.open {
  width: 100%;
  height: 100%;
}
#mask.visible {
  background: rgba(128, 128, 128, 0.25);
}

#popup {
  position: fixed;
  background: #FFF;
  z-index: 99;
  display: none;
  max-height: 90vh;
  overflow-y: auto;
}
#popup.open {
  display: block;
  padding: 25px;
  border-radius: 20px;
  top: 5vh;
  left: 15%;
  width: 70%;
}

.custom-file-label::after {
  content: "Parcourir" !important;
}

.primary-bg, .btn-primary, .btn-aviva {
  background-color: #333EFF;
}

.primary-color, .btn-outline-primary {
  color: #333EFF;
}

.primary-H-bg, .btn-primary-H {
  background-color: #1A26FF;
}

.primary-H-color, .btn-outline-primary-H {
  color: #1A26FF;
}

.primary-HH-bg {
  background-color: #000646;
}

.primary-HH-color {
  color: #000646;
}

.primary-L-bg, .btn-primary-L {
  background-color: #4D56FF;
}

.primary-L-color, .btn-outline-primary-L {
  color: #4D56FF;
}

.primary-LL-bg {
  background-color: #666EFF;
}

.primary-LL-color {
  color: #666EFF;
}

.secondary-bg, .btn-secondary {
  background-color: #B3B7FF;
}

.secondary-color, .btn-outline-secondary {
  color: #B3B7FF;
}

.secondary-H-bg, .btn-secondary-H {
  background-color: #999FFF;
}

.secondary-H-color, .btn-outline-secondary-H {
  color: #999FFF;
}

.secondary-HH-bg {
  background-color: #8086FF;
}

.secondary-HH-color {
  color: #8086FF;
}

.secondary-L-bg {
  background-color: #CCCFFF;
}

.secondary-L-color {
  color: #CCCFFF;
}

.secondary-LL-bg {
  background-color: #E6E7FF;
}

.secondary-LL-color {
  color: #E6E7FF;
}

.secondary-LLL-bg {
  background-color: #9fffff;
}

.secondary-LLL-color {
  color: #9fffff;
}

.third-bg {
  background-color: #707070;
}

.third-color {
  color: #707070;
}

.teal-bg {
  background-color: #00a099;
}

.teal-color {
  color: #00a099;
}

.gradien-bg {
  background: linear-gradient(45deg, #333EFF, #B3B7FF);
}

.gradien-H-bg {
  background: linear-gradient(90deg, #1A26FF, #999FFF);
}

.gray-light-bg {
  background-color: #EFE6EF;
}

.gray-light-color {
  color: #EFE6EF;
}

.white-bg {
  background-color: #ffffff;
}

.white-color {
  color: #ffffff !important;
}

.red-bg {
  background-color: #FB4E4E;
}

.red-color {
  color: #FB4E4E !important;
}

.green-bg {
  background-color: #39b54a;
}

.green-color {
  color: #39b54a !important;
}

.box, #popup.open {
  box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, 0.25);
  background: #fff;
}

.btn-primary:hover {
  color: #fff;
  opacity: 0.8;
}

.btn-outline-primary {
  border: 1px solid #333EFF;
}

.btn-primary-H {
  color: #fff;
}
.btn-primary-H:hover {
  opacity: 0.8;
  color: #fff;
  text-decoration: none;
  font-style: italic;
}

.btn-outline-primary-H {
  border: 1px solid #1A26FF;
}

.btn-primary-L {
  color: #fff;
}
.btn-primary-L:hover {
  opacity: 0.9;
  color: #fff;
  text-decoration: none;
  font-style: italic;
}

.btn-outline-primary-L {
  border: 1px solid #4D56FF;
}

.btn-secondary {
  border-color: #B3B7FF;
}

.btn-outline-secondary {
  border: 1px solid #B3B7FF;
}

.btn-outline-secondary-H {
  border: 1px solid #999FFF;
}

.btn-link {
  background-color: #B3B7FF;
  color: #3E3E3E;
}
.btn-link:hover {
  background-color: #666EFF;
  color: white;
  text-decoration: none;
}

.btn-outline-white {
  background-color: white;
  border: 1px solid #3E3E3E;
  color: #3E3E3E;
  text-decoration: none;
}
.btn-outline-white:hover {
  background-color: #666EFF;
  border: 1px solid #666EFF;
  color: white;
}

.border-primary {
  border: 2px solid #333EFF;
}

.border-primary-H {
  border: 2px solid #1A26FF;
}

.border-primary-L {
  border: 2px solid #4D56FF;
}

.border-secondary {
  border: 2px solid #B3B7FF;
}

.border-secondary-H {
  border: 2px solid #999FFF;
}

.border-secondary-L {
  border: 2px solid #CCCFFF;
}

.border-top-primary {
  border-top: 2px solid #333EFF;
}

.border-top-primary-H {
  border-top: 2px solid #1A26FF;
}

.border-top-primary-L {
  border-top: 2px solid #4D56FF;
}

.border-top-secondary {
  border-top: 2px solid #B3B7FF;
}

.border-top-secondary-H {
  border-top: 2px solid #999FFF;
}

.border-top-secondary-L {
  border-top: 2px solid #CCCFFF;
}

.border-20 {
  border-radius: 20px;
}

.border-50 {
  border-radius: 50px;
}

.emoji {
  font-family: Apple Color Emoji;
}

.z-1 {
  z-index: 1;
}

.z-2 {
  z-index: 2;
}

.z-3 {
  z-index: 3;
}

.z-4 {
  z-index: 4;
}

.z-5 {
  z-index: 5;
}

.z-6 {
  z-index: 6;
}

.z-7 {
  z-index: 7;
}

.z-8 {
  z-index: 8;
}

.z-9 {
  z-index: 9;
}

.z-10 {
  z-index: 10;
}

.font-7 {
  font-size: 7px;
}

.font-8 {
  font-size: 8px;
}

.font-9 {
  font-size: 9px;
}

.font-10 {
  font-size: 10px;
}

.font-11 {
  font-size: 11px;
}

.font-12 {
  font-size: 12px;
}

.font-13 {
  font-size: 13px;
}

.font-14, .meta-title-container .meta-title-header h6 {
  font-size: 14px;
}

.font-15, form[name=contact_form] label {
  font-size: 15px;
}

.font-16, form[name=contact_form] input, form[name=contact_form] textarea, .meta-title-container .meta-title-header h5 {
  font-size: 16px;
}

.font-17 {
  font-size: 17px;
}

.font-18 {
  font-size: 18px;
}

.font-19 {
  font-size: 19px;
}

.font-20, .meta-title-container .meta-title-header h4 {
  font-size: 20px;
}

.font-21 {
  font-size: 21px;
}

.font-22 {
  font-size: 22px;
}

.font-23 {
  font-size: 23px;
}

.font-24 {
  font-size: 24px;
}

.font-25 {
  font-size: 25px;
}

.font-26, .meta-title-container .meta-title-header h3 {
  font-size: 26px;
}

.font-27 {
  font-size: 27px;
}

.font-28 {
  font-size: 28px;
}

.font-29 {
  font-size: 29px;
}

.font-30, .meta-title-container .meta-title-header h2 {
  font-size: 30px;
}

.font-31 {
  font-size: 31px;
}

.font-32 {
  font-size: 32px;
}

.font-33 {
  font-size: 33px;
}

.font-34 {
  font-size: 34px;
}

.font-35 {
  font-size: 35px;
}

.font-36, .meta-title-container .meta-title-header h1 {
  font-size: 36px;
}

.font-37 {
  font-size: 37px;
}

.font-38 {
  font-size: 38px;
}

.font-39 {
  font-size: 39px;
}

.font-40 {
  font-size: 40px;
}

.font-41 {
  font-size: 41px;
}

.font-42 {
  font-size: 42px;
}

.font-43 {
  font-size: 43px;
}

.font-44 {
  font-size: 44px;
}

.font-45 {
  font-size: 45px;
}

.font-46 {
  font-size: 46px;
}

.font-47 {
  font-size: 47px;
}

.font-48 {
  font-size: 48px;
}

.font-49 {
  font-size: 49px;
}

.font-50 {
  font-size: 50px;
}

.font-51 {
  font-size: 51px;
}

.font-52 {
  font-size: 52px;
}

.font-53 {
  font-size: 53px;
}

.font-54 {
  font-size: 54px;
}

.font-55 {
  font-size: 55px;
}

.font-56 {
  font-size: 56px;
}

.font-57 {
  font-size: 57px;
}

.font-58 {
  font-size: 58px;
}

.font-59 {
  font-size: 59px;
}

.font-60 {
  font-size: 60px;
}

.font-61 {
  font-size: 61px;
}

.font-62 {
  font-size: 62px;
}

.font-63 {
  font-size: 63px;
}

.font-64 {
  font-size: 64px;
}

.font-65 {
  font-size: 65px;
}

.font-66 {
  font-size: 66px;
}

.font-67 {
  font-size: 67px;
}

.font-68 {
  font-size: 68px;
}

.font-69 {
  font-size: 69px;
}

.font-70 {
  font-size: 70px;
}

@media (min-width: 768px) {
  .font-md-7 {
    font-size: 7px;
  }

  .font-md-8 {
    font-size: 8px;
  }

  .font-md-9 {
    font-size: 9px;
  }

  .font-md-10 {
    font-size: 10px;
  }

  .font-md-11 {
    font-size: 11px;
  }

  .font-md-12 {
    font-size: 12px;
  }

  .font-md-13 {
    font-size: 13px;
  }

  .font-md-14 {
    font-size: 14px;
  }

  .font-md-15 {
    font-size: 15px;
  }

  .font-md-16 {
    font-size: 16px;
  }

  .font-md-17 {
    font-size: 17px;
  }

  .font-md-18 {
    font-size: 18px;
  }

  .font-md-19 {
    font-size: 19px;
  }

  .font-md-20, .meta-title-container .meta-title-header h6 {
    font-size: 20px;
  }

  .font-md-21 {
    font-size: 21px;
  }

  .font-md-22, form[name=contact_form] input, form[name=contact_form] textarea {
    font-size: 22px;
  }

  .font-md-23 {
    font-size: 23px;
  }

  .font-md-24 {
    font-size: 24px;
  }

  .font-md-25 {
    font-size: 25px;
  }

  .font-md-26 {
    font-size: 26px;
  }

  .font-md-27 {
    font-size: 27px;
  }

  .font-md-28 {
    font-size: 28px;
  }

  .font-md-29 {
    font-size: 29px;
  }

  .font-md-30, .meta-title-container .meta-title-header h5 {
    font-size: 30px;
  }

  .font-md-31 {
    font-size: 31px;
  }

  .font-md-32 {
    font-size: 32px;
  }

  .font-md-33 {
    font-size: 33px;
  }

  .font-md-34 {
    font-size: 34px;
  }

  .font-md-35 {
    font-size: 35px;
  }

  .font-md-36 {
    font-size: 36px;
  }

  .font-md-37 {
    font-size: 37px;
  }

  .font-md-38 {
    font-size: 38px;
  }

  .font-md-39 {
    font-size: 39px;
  }

  .font-md-40, .meta-title-container .meta-title-header h4 {
    font-size: 40px;
  }

  .font-md-41 {
    font-size: 41px;
  }

  .font-md-42 {
    font-size: 42px;
  }

  .font-md-43 {
    font-size: 43px;
  }

  .font-md-44 {
    font-size: 44px;
  }

  .font-md-45 {
    font-size: 45px;
  }

  .font-md-46 {
    font-size: 46px;
  }

  .font-md-47 {
    font-size: 47px;
  }

  .font-md-48 {
    font-size: 48px;
  }

  .font-md-49 {
    font-size: 49px;
  }

  .font-md-50, .meta-title-container .meta-title-header h3 {
    font-size: 50px;
  }

  .font-md-51 {
    font-size: 51px;
  }

  .font-md-52 {
    font-size: 52px;
  }

  .font-md-53 {
    font-size: 53px;
  }

  .font-md-54 {
    font-size: 54px;
  }

  .font-md-55 {
    font-size: 55px;
  }

  .font-md-56 {
    font-size: 56px;
  }

  .font-md-57 {
    font-size: 57px;
  }

  .font-md-58 {
    font-size: 58px;
  }

  .font-md-59 {
    font-size: 59px;
  }

  .font-md-60, .meta-title-container .meta-title-header h2 {
    font-size: 60px;
  }

  .font-md-61 {
    font-size: 61px;
  }

  .font-md-62 {
    font-size: 62px;
  }

  .font-md-63 {
    font-size: 63px;
  }

  .font-md-64 {
    font-size: 64px;
  }

  .font-md-65, .meta-title-container .meta-title-header h1 {
    font-size: 65px;
  }

  .font-md-66 {
    font-size: 66px;
  }

  .font-md-67 {
    font-size: 67px;
  }

  .font-md-68 {
    font-size: 68px;
  }

  .font-md-69 {
    font-size: 69px;
  }

  .font-md-70 {
    font-size: 70px;
  }
}
.opacity-0 {
  opacity: 0;
}

.opacity-10 {
  opacity: 0.1;
}

.opacity-20 {
  opacity: 0.2;
}

.opacity-25 {
  opacity: 0.25;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-75 {
  opacity: 0.75;
}

.opacity-80 {
  opacity: 0.8;
}

.opacity-90 {
  opacity: 0.9;
}

.opacity-100 {
  opacity: 1;
}

.anim-all, #skills #skill-titles h4, #partners .partner img, #achievements .achievement, #lbp-launch {
  -webkit-transition: all 500ms ease-in-out;
  -moz-transition: all 500ms ease-in-out;
  -ms-transition: all 500ms ease-in-out;
  -o-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out;
}

.anim-all-1s, #skills #skill-desc .skill-desc, section#team #metastrat-illustrations #photos {
  -webkit-transition: all 1s ease-in-out;
  -moz-transition: all 1s ease-in-out;
  -ms-transition: all 1s ease-in-out;
  -o-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
}

/* ROTATION */
@-moz-keyframes spin {
  100% {
    -moz-transform: rotate(360deg);
  }
}
@-webkit-keyframes spin {
  100% {
    -webkit-transform: rotate(360deg);
  }
}
@keyframes spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-moz-keyframes spin-reverse {
  100% {
    -moz-transform: rotate(-360deg);
  }
}
@-webkit-keyframes spin-reverse {
  100% {
    -webkit-transform: rotate(-360deg);
  }
}
@keyframes spin-reverse {
  100% {
    -webkit-transform: rotate(-360deg);
    transform: rotate(-360deg);
  }
}
.rotate-1s {
  -webkit-animation: spin 1s linear forwards infinite;
  -moz-animation: spin 1s linear forwards infinite;
  animation: spin 1s linear forwards infinite;
}

.rotate-reverse-1s {
  -webkit-animation: spin-reverse 1s linear forwards infinite;
  -moz-animation: spin-reverse 1s linear forwards infinite;
  animation: spin-reverse 1s linear forwards infinite;
}

.rotate-2s {
  -webkit-animation: spin 2s linear forwards infinite;
  -moz-animation: spin 2s linear forwards infinite;
  animation: spin 2s linear forwards infinite;
}

.rotate-reverse-2s {
  -webkit-animation: spin-reverse 2s linear forwards infinite;
  -moz-animation: spin-reverse 2s linear forwards infinite;
  animation: spin-reverse 2s linear forwards infinite;
}

.rotate-3s {
  -webkit-animation: spin 3s linear forwards infinite;
  -moz-animation: spin 3s linear forwards infinite;
  animation: spin 3s linear forwards infinite;
}

.rotate-reverse-3s {
  -webkit-animation: spin-reverse 3s linear forwards infinite;
  -moz-animation: spin-reverse 3s linear forwards infinite;
  animation: spin-reverse 3s linear forwards infinite;
}

.rotate-4s {
  -webkit-animation: spin 4s linear forwards infinite;
  -moz-animation: spin 4s linear forwards infinite;
  animation: spin 4s linear forwards infinite;
}

.rotate-reverse-4s {
  -webkit-animation: spin-reverse 4s linear forwards infinite;
  -moz-animation: spin-reverse 4s linear forwards infinite;
  animation: spin-reverse 4s linear forwards infinite;
}

.rotate-5s {
  -webkit-animation: spin 5s linear forwards infinite;
  -moz-animation: spin 5s linear forwards infinite;
  animation: spin 5s linear forwards infinite;
}

.rotate-reverse-5s {
  -webkit-animation: spin-reverse 5s linear forwards infinite;
  -moz-animation: spin-reverse 5s linear forwards infinite;
  animation: spin-reverse 5s linear forwards infinite;
}

.rotate-6s {
  -webkit-animation: spin 6s linear forwards infinite;
  -moz-animation: spin 6s linear forwards infinite;
  animation: spin 6s linear forwards infinite;
}

.rotate-reverse-6s {
  -webkit-animation: spin-reverse 6s linear forwards infinite;
  -moz-animation: spin-reverse 6s linear forwards infinite;
  animation: spin-reverse 6s linear forwards infinite;
}

.rotate-7s {
  -webkit-animation: spin 7s linear forwards infinite;
  -moz-animation: spin 7s linear forwards infinite;
  animation: spin 7s linear forwards infinite;
}

.rotate-reverse-7s {
  -webkit-animation: spin-reverse 7s linear forwards infinite;
  -moz-animation: spin-reverse 7s linear forwards infinite;
  animation: spin-reverse 7s linear forwards infinite;
}

.rotate-8s {
  -webkit-animation: spin 8s linear forwards infinite;
  -moz-animation: spin 8s linear forwards infinite;
  animation: spin 8s linear forwards infinite;
}

.rotate-reverse-8s, .bg-shape.-sq10 {
  -webkit-animation: spin-reverse 8s linear forwards infinite;
  -moz-animation: spin-reverse 8s linear forwards infinite;
  animation: spin-reverse 8s linear forwards infinite;
}

.rotate-9s {
  -webkit-animation: spin 9s linear forwards infinite;
  -moz-animation: spin 9s linear forwards infinite;
  animation: spin 9s linear forwards infinite;
}

.rotate-reverse-9s, .bg-shape.-sq8, .bg-shape.-sq3 {
  -webkit-animation: spin-reverse 9s linear forwards infinite;
  -moz-animation: spin-reverse 9s linear forwards infinite;
  animation: spin-reverse 9s linear forwards infinite;
}

.rotate-10s, .bg-shape.-sq2 {
  -webkit-animation: spin 10s linear forwards infinite;
  -moz-animation: spin 10s linear forwards infinite;
  animation: spin 10s linear forwards infinite;
}

.rotate-reverse-10s {
  -webkit-animation: spin-reverse 10s linear forwards infinite;
  -moz-animation: spin-reverse 10s linear forwards infinite;
  animation: spin-reverse 10s linear forwards infinite;
}

.rotate-11s, .bg-shape.-sq9, .bg-shape.-sq4 {
  -webkit-animation: spin 11s linear forwards infinite;
  -moz-animation: spin 11s linear forwards infinite;
  animation: spin 11s linear forwards infinite;
}

.rotate-reverse-11s {
  -webkit-animation: spin-reverse 11s linear forwards infinite;
  -moz-animation: spin-reverse 11s linear forwards infinite;
  animation: spin-reverse 11s linear forwards infinite;
}

.rotate-12s {
  -webkit-animation: spin 12s linear forwards infinite;
  -moz-animation: spin 12s linear forwards infinite;
  animation: spin 12s linear forwards infinite;
}

.rotate-reverse-12s {
  -webkit-animation: spin-reverse 12s linear forwards infinite;
  -moz-animation: spin-reverse 12s linear forwards infinite;
  animation: spin-reverse 12s linear forwards infinite;
}

.rotate-13s {
  -webkit-animation: spin 13s linear forwards infinite;
  -moz-animation: spin 13s linear forwards infinite;
  animation: spin 13s linear forwards infinite;
}

.rotate-reverse-13s {
  -webkit-animation: spin-reverse 13s linear forwards infinite;
  -moz-animation: spin-reverse 13s linear forwards infinite;
  animation: spin-reverse 13s linear forwards infinite;
}

.rotate-14s {
  -webkit-animation: spin 14s linear forwards infinite;
  -moz-animation: spin 14s linear forwards infinite;
  animation: spin 14s linear forwards infinite;
}

.rotate-reverse-14s {
  -webkit-animation: spin-reverse 14s linear forwards infinite;
  -moz-animation: spin-reverse 14s linear forwards infinite;
  animation: spin-reverse 14s linear forwards infinite;
}

.rotate-15s {
  -webkit-animation: spin 15s linear forwards infinite;
  -moz-animation: spin 15s linear forwards infinite;
  animation: spin 15s linear forwards infinite;
}

.rotate-reverse-15s {
  -webkit-animation: spin-reverse 15s linear forwards infinite;
  -moz-animation: spin-reverse 15s linear forwards infinite;
  animation: spin-reverse 15s linear forwards infinite;
}

.rotate-16s {
  -webkit-animation: spin 16s linear forwards infinite;
  -moz-animation: spin 16s linear forwards infinite;
  animation: spin 16s linear forwards infinite;
}

.rotate-reverse-16s {
  -webkit-animation: spin-reverse 16s linear forwards infinite;
  -moz-animation: spin-reverse 16s linear forwards infinite;
  animation: spin-reverse 16s linear forwards infinite;
}

.rotate-17s {
  -webkit-animation: spin 17s linear forwards infinite;
  -moz-animation: spin 17s linear forwards infinite;
  animation: spin 17s linear forwards infinite;
}

.rotate-reverse-17s {
  -webkit-animation: spin-reverse 17s linear forwards infinite;
  -moz-animation: spin-reverse 17s linear forwards infinite;
  animation: spin-reverse 17s linear forwards infinite;
}

.rotate-18s {
  -webkit-animation: spin 18s linear forwards infinite;
  -moz-animation: spin 18s linear forwards infinite;
  animation: spin 18s linear forwards infinite;
}

.rotate-reverse-18s {
  -webkit-animation: spin-reverse 18s linear forwards infinite;
  -moz-animation: spin-reverse 18s linear forwards infinite;
  animation: spin-reverse 18s linear forwards infinite;
}

.rotate-19s {
  -webkit-animation: spin 19s linear forwards infinite;
  -moz-animation: spin 19s linear forwards infinite;
  animation: spin 19s linear forwards infinite;
}

.rotate-reverse-19s {
  -webkit-animation: spin-reverse 19s linear forwards infinite;
  -moz-animation: spin-reverse 19s linear forwards infinite;
  animation: spin-reverse 19s linear forwards infinite;
}

.rotate-20s, .bg-shape.-sq7 {
  -webkit-animation: spin 20s linear forwards infinite;
  -moz-animation: spin 20s linear forwards infinite;
  animation: spin 20s linear forwards infinite;
}

.rotate-reverse-20s, .bg-shape.-sq6, .bg-shape.-sq1 {
  -webkit-animation: spin-reverse 20s linear forwards infinite;
  -moz-animation: spin-reverse 20s linear forwards infinite;
  animation: spin-reverse 20s linear forwards infinite;
}

@-webkit-keyframes fadein-anim {
  0% {
    opacity: 0;
    display: none;
  }
  1% {
    opacity: 0;
    display: block;
  }
  50% {
    opacity: 1;
    max-height: 999px;
  }
  100% {
    opacity: 1;
    max-height: 999px;
  }
}
@-moz-keyframes fadein-anim {
  0% {
    opacity: 0;
    display: none;
  }
  1% {
    opacity: 0;
    display: block;
  }
  50% {
    opacity: 1;
    max-height: 999px;
  }
  100% {
    opacity: 1;
    max-height: 999px;
  }
}
@-ms-keyframes fadein-anim {
  0% {
    opacity: 0;
    display: none;
  }
  1% {
    opacity: 0;
    display: block;
  }
  50% {
    opacity: 1;
    max-height: 999px;
  }
  100% {
    opacity: 1;
    max-height: 999px;
  }
}
@keyframes fadein-anim {
  0% {
    opacity: 0;
    display: none;
  }
  1% {
    opacity: 0;
    display: block;
  }
  50% {
    opacity: 1;
    max-height: 999px;
  }
  100% {
    opacity: 1;
    max-height: 999px;
  }
}
@-webkit-keyframes fadeout-anim {
  50% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    display: none;
    z-index: -1;
  }
}
@-moz-keyframes fadeout-anim {
  50% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    display: none;
    z-index: -1;
  }
}
@-ms-keyframes fadeout-anim {
  50% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    display: none;
    z-index: -1;
  }
}
@keyframes fadeout-anim {
  50% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    display: none;
    z-index: -1;
  }
}
@-webkit-keyframes update-color {
  50% {
    background: #333EFF;
  }
}
@-moz-keyframes update-color {
  50% {
    background: #333EFF;
  }
}
@-ms-keyframes update-color {
  50% {
    background: #333EFF;
  }
}
@keyframes update-color {
  50% {
    background: #333EFF;
  }
}
@-webkit-keyframes move-shape {
  0% {
    transform: translate3d(-5%, 0%, 0px) rotate(0);
  }
  50% {
    transform: translate3d(350%, 50%, 0px) rotate(360deg);
  }
  95% {
    transform: translate3d(-5%, 0%, 0px);
  }
}
@-moz-keyframes move-shape {
  0% {
    transform: translate3d(-5%, 0%, 0px) rotate(0);
  }
  50% {
    transform: translate3d(350%, 50%, 0px) rotate(360deg);
  }
  95% {
    transform: translate3d(-5%, 0%, 0px);
  }
}
@-ms-keyframes move-shape {
  0% {
    transform: translate3d(-5%, 0%, 0px) rotate(0);
  }
  50% {
    transform: translate3d(350%, 50%, 0px) rotate(360deg);
  }
  95% {
    transform: translate3d(-5%, 0%, 0px);
  }
}
@keyframes move-shape {
  0% {
    transform: translate3d(-5%, 0%, 0px) rotate(0);
  }
  50% {
    transform: translate3d(350%, 50%, 0px) rotate(360deg);
  }
  95% {
    transform: translate3d(-5%, 0%, 0px);
  }
}
@-webkit-keyframes bg-change {
  0% {
    background-color: yellow;
  }
  25% {
    background-color: red;
  }
  50% {
    background-color: yellow;
  }
  75% {
    background-color: black;
  }
  100% {
    background-color: yellow;
  }
}
@-moz-keyframes bg-change {
  0% {
    background-color: yellow;
  }
  25% {
    background-color: red;
  }
  50% {
    background-color: yellow;
  }
  75% {
    background-color: black;
  }
  100% {
    background-color: yellow;
  }
}
@-ms-keyframes bg-change {
  0% {
    background-color: yellow;
  }
  25% {
    background-color: red;
  }
  50% {
    background-color: yellow;
  }
  75% {
    background-color: black;
  }
  100% {
    background-color: yellow;
  }
}
@keyframes bg-change {
  0% {
    background-color: yellow;
  }
  25% {
    background-color: red;
  }
  50% {
    background-color: yellow;
  }
  75% {
    background-color: black;
  }
  100% {
    background-color: yellow;
  }
}
@-webkit-keyframes scall-n-rotate {
  0% {
    transform: scale(0) rotate(0);
    margin: 0;
  }
  10% {
    transform: scale(0.1) rotate(180);
    margin: -20px 0 0 10px;
  }
  20% {
    transform: scale(0.2) rotate(360);
    margin: 20px 0 0 -5px;
  }
  40% {
    transform: scale(0.4) rotate(-360);
    margin: 0 0 0 20px;
  }
  60% {
    transform: scale(0.6) rotate(360);
    margin: -20px 0 0 -5px;
  }
  80% {
    transform: scale(1) rotate(-360deg);
    margin: 0;
    opacity: 1;
  }
  100% {
    transform: scale(0.5) rotate(-360deg);
    opacity: 0;
  }
}
@-moz-keyframes scall-n-rotate {
  0% {
    transform: scale(0) rotate(0);
    margin: 0;
  }
  10% {
    transform: scale(0.1) rotate(180);
    margin: -20px 0 0 10px;
  }
  20% {
    transform: scale(0.2) rotate(360);
    margin: 20px 0 0 -5px;
  }
  40% {
    transform: scale(0.4) rotate(-360);
    margin: 0 0 0 20px;
  }
  60% {
    transform: scale(0.6) rotate(360);
    margin: -20px 0 0 -5px;
  }
  80% {
    transform: scale(1) rotate(-360deg);
    margin: 0;
    opacity: 1;
  }
  100% {
    transform: scale(0.5) rotate(-360deg);
    opacity: 0;
  }
}
@-ms-keyframes scall-n-rotate {
  0% {
    transform: scale(0) rotate(0);
    margin: 0;
  }
  10% {
    transform: scale(0.1) rotate(180);
    margin: -20px 0 0 10px;
  }
  20% {
    transform: scale(0.2) rotate(360);
    margin: 20px 0 0 -5px;
  }
  40% {
    transform: scale(0.4) rotate(-360);
    margin: 0 0 0 20px;
  }
  60% {
    transform: scale(0.6) rotate(360);
    margin: -20px 0 0 -5px;
  }
  80% {
    transform: scale(1) rotate(-360deg);
    margin: 0;
    opacity: 1;
  }
  100% {
    transform: scale(0.5) rotate(-360deg);
    opacity: 0;
  }
}
@keyframes scall-n-rotate {
  0% {
    transform: scale(0) rotate(0);
    margin: 0;
  }
  10% {
    transform: scale(0.1) rotate(180);
    margin: -20px 0 0 10px;
  }
  20% {
    transform: scale(0.2) rotate(360);
    margin: 20px 0 0 -5px;
  }
  40% {
    transform: scale(0.4) rotate(-360);
    margin: 0 0 0 20px;
  }
  60% {
    transform: scale(0.6) rotate(360);
    margin: -20px 0 0 -5px;
  }
  80% {
    transform: scale(1) rotate(-360deg);
    margin: 0;
    opacity: 1;
  }
  100% {
    transform: scale(0.5) rotate(-360deg);
    opacity: 0;
  }
}
@-webkit-keyframes scall-n-launch {
  0% {
    transform: scale(0);
  }
  50% {
    transform: scale(1) rotate(0deg);
  }
  52% {
    transform: scale(1) rotate(3deg);
  }
  53% {
    transform: scale(1) rotate(-3deg);
  }
  54% {
    transform: scale(1) rotate(2deg);
  }
  55% {
    transform: scale(1) rotate(-2deg);
  }
  56% {
    transform: scale(1) rotate(-2deg);
  }
  56% {
    transform: scale(1) rotate(1deg);
    top: 330px;
    right: 50px;
  }
  100% {
    top: -200px;
    right: -200px;
  }
}
@-moz-keyframes scall-n-launch {
  0% {
    transform: scale(0);
  }
  50% {
    transform: scale(1) rotate(0deg);
  }
  52% {
    transform: scale(1) rotate(3deg);
  }
  53% {
    transform: scale(1) rotate(-3deg);
  }
  54% {
    transform: scale(1) rotate(2deg);
  }
  55% {
    transform: scale(1) rotate(-2deg);
  }
  56% {
    transform: scale(1) rotate(-2deg);
  }
  56% {
    transform: scale(1) rotate(1deg);
    top: 330px;
    right: 50px;
  }
  100% {
    top: -200px;
    right: -200px;
  }
}
@-ms-keyframes scall-n-launch {
  0% {
    transform: scale(0);
  }
  50% {
    transform: scale(1) rotate(0deg);
  }
  52% {
    transform: scale(1) rotate(3deg);
  }
  53% {
    transform: scale(1) rotate(-3deg);
  }
  54% {
    transform: scale(1) rotate(2deg);
  }
  55% {
    transform: scale(1) rotate(-2deg);
  }
  56% {
    transform: scale(1) rotate(-2deg);
  }
  56% {
    transform: scale(1) rotate(1deg);
    top: 330px;
    right: 50px;
  }
  100% {
    top: -200px;
    right: -200px;
  }
}
@keyframes scall-n-launch {
  0% {
    transform: scale(0);
  }
  50% {
    transform: scale(1) rotate(0deg);
  }
  52% {
    transform: scale(1) rotate(3deg);
  }
  53% {
    transform: scale(1) rotate(-3deg);
  }
  54% {
    transform: scale(1) rotate(2deg);
  }
  55% {
    transform: scale(1) rotate(-2deg);
  }
  56% {
    transform: scale(1) rotate(-2deg);
  }
  56% {
    transform: scale(1) rotate(1deg);
    top: 330px;
    right: 50px;
  }
  100% {
    top: -200px;
    right: -200px;
  }
}
.emoji.-em-earth.on {
  opacity: 1;
  -webkit-animation: scall-n-rotate 10s linear forwards 1;
  -moz-animation: scall-n-rotate 10s linear forwards 1;
  animation: scall-n-rotate 10s linear forwards 1;
}
.emoji.-em-rocket.on {
  opacity: 1;
  -webkit-animation: scall-n-launch 5s linear forwards 1;
  -moz-animation: scall-n-launch 5s linear forwards 1;
  animation: scall-n-launch 5s linear forwards 1;
}

/*
.meta-title-shapes{
	$time: 10s;
-webkit-animation:update-color $time*2 linear forwards infinite;
	-moz-animation:update-color $time*2 linear forwards infinite;
	animation:update-color $time*2 linear forwards  infinite;

	.meta-title-shape{

		-webkit-animation:move-shape $time linear forwards infinite;
		-moz-animation:move-shape $time linear forwards infinite;
		animation:move-shape $time linear forwards infinite;

	}
}*/
@-webkit-keyframes move-img-card {
  25% {
    transform: rotate(3deg);
  }
  50% {
    transform: rotate(0deg);
  }
  75% {
    transform: rotate(-3deg);
  }
}
@-moz-keyframes move-img-card {
  25% {
    transform: rotate(3deg);
  }
  50% {
    transform: rotate(0deg);
  }
  75% {
    transform: rotate(-3deg);
  }
}
@-ms-keyframes move-img-card {
  25% {
    transform: rotate(3deg);
  }
  50% {
    transform: rotate(0deg);
  }
  75% {
    transform: rotate(-3deg);
  }
}
@keyframes move-img-card {
  25% {
    transform: rotate(3deg);
  }
  50% {
    transform: rotate(0deg);
  }
  75% {
    transform: rotate(-3deg);
  }
}
.fadeout {
  -webkit-animation: fadeout-anim 1s linear forwards 1;
  -moz-animation: fadeout-anim 1s linear forwards 1;
  animation: fadeout-anim 1s linear forwards 1;
}

.fadein {
  -webkit-animation: fadein-anim 1s linear forwards 1;
  -moz-animation: fadein-anim 1s linear forwards 1;
  animation: fadein-anim 1s linear forwards 1;
}

@-webkit-keyframes emoji-waving {
  0% {
    top: 10%;
    left: 120%;
  }
  7% {
    opacity: 1;
  }
  15% {
    top: 20%;
  }
  25% {
    top: 30%;
  }
  30% {
    top: 25%;
  }
  35% {
    top: 35%;
  }
  45% {
    top: 45%;
  }
  55% {
    top: 51%;
  }
  65% {
    top: 45%;
  }
  75% {
    top: 35%;
  }
  85% {
    top: 45%;
  }
  95% {
    top: 52%;
  }
  99% {
    opacity: 1;
  }
  100% {
    top: 45%;
    left: -20%;
    opacity: 0;
  }
}
@-moz-keyframes emoji-waving {
  0% {
    top: 10%;
    left: 120%;
  }
  7% {
    opacity: 1;
  }
  15% {
    top: 20%;
  }
  25% {
    top: 30%;
  }
  30% {
    top: 25%;
  }
  35% {
    top: 35%;
  }
  45% {
    top: 45%;
  }
  55% {
    top: 51%;
  }
  65% {
    top: 45%;
  }
  75% {
    top: 35%;
  }
  85% {
    top: 45%;
  }
  95% {
    top: 52%;
  }
  99% {
    opacity: 1;
  }
  100% {
    top: 45%;
    left: -20%;
    opacity: 0;
  }
}
@-ms-keyframes emoji-waving {
  0% {
    top: 10%;
    left: 120%;
  }
  7% {
    opacity: 1;
  }
  15% {
    top: 20%;
  }
  25% {
    top: 30%;
  }
  30% {
    top: 25%;
  }
  35% {
    top: 35%;
  }
  45% {
    top: 45%;
  }
  55% {
    top: 51%;
  }
  65% {
    top: 45%;
  }
  75% {
    top: 35%;
  }
  85% {
    top: 45%;
  }
  95% {
    top: 52%;
  }
  99% {
    opacity: 1;
  }
  100% {
    top: 45%;
    left: -20%;
    opacity: 0;
  }
}
@keyframes emoji-waving {
  0% {
    top: 10%;
    left: 120%;
  }
  7% {
    opacity: 1;
  }
  15% {
    top: 20%;
  }
  25% {
    top: 30%;
  }
  30% {
    top: 25%;
  }
  35% {
    top: 35%;
  }
  45% {
    top: 45%;
  }
  55% {
    top: 51%;
  }
  65% {
    top: 45%;
  }
  75% {
    top: 35%;
  }
  85% {
    top: 45%;
  }
  95% {
    top: 52%;
  }
  99% {
    opacity: 1;
  }
  100% {
    top: 45%;
    left: -20%;
    opacity: 0;
  }
}
#skills .emoji.on {
  opacity: 1;
  -webkit-animation: emoji-waving 15s ease-in-out forwards 1;
  -moz-animation: emoji-waving 15s ease-in-out forwards 1;
  animation: emoji-waving 15s ease-in-out forwards 1;
}

/*
grey light : #5D839D
green-blue : #ababab
blue : #0028F5 / #67D6FB
*/
/*
{"palette":{"common":{"black":"rgba(51, 51, 51, 1)","white":"#fff"},"background":{"paper":"#fff","default":"#fafafa"},"primary":{"light":"rgba(51, 83, 247, 1)","main":"rgba(0, 40, 245, 1)","dark":"rgba(0, 28, 171, 1)","contrastText":"#fff"},"secondary":{"light":"rgba(72, 149, 175, 1)","main":"rgba(103, 214, 251, 1)","dark":"rgba(133, 222, 251, 1)","contrastText":"#fff"},"error":{"light":"#e57373","main":"#f44336","dark":"#d32f2f","contrastText":"#fff"},"text":{"primary":"rgba(0, 0, 0, 0.87)","secondary":"rgba(0, 0, 0, 0.54)","disabled":"rgba(0, 0, 0, 0.38)","hint":"rgba(0, 0, 0, 0.38)"}}}
*/
@font-face {
  font-family: "CircularStd";
  src: local("CircularStd-Medium"), url(/build/images/CircularStd-Medium.61d34836.svg) format("svg"), url(/build/fonts/CircularStd-Medium.e39d4081.woff) format("woff"), url(/build/fonts/CircularStd-Medium.6fb73f93.ttf) format("ttf"), url(/build/fonts/CircularStd-Medium.bba31ddc.eot) format("embedded-opentype");
  font-style: normal;
}
@font-face {
  font-family: "CircularStd";
  src: local("CircularStd-MediumItalic"), url(/build/images/CircularStd-MediumItalic.5614e440.svg) format("svg"), url(/build/fonts/CircularStd-MediumItalic.8ffa91cf.woff) format("woff"), url(/build/fonts/CircularStd-MediumItalic.df104e4b.ttf) format("ttf"), url(/build/fonts/CircularStd-MediumItalic.4936f24b.eot) format("embedded-opentype");
  font-style: italic;
}
@font-face {
  font-family: "CircularStd";
  src: local("CircularStd-Bold"), url(/build/images/CircularStd-Bold.9ba9259b.svg) format("svg"), url(/build/fonts/CircularStd-Bold.4bae1919.woff) format("woff"), url(/build/fonts/CircularStd-Bold.54433420.ttf) format("ttf"), url(/build/fonts/CircularStd-Bold.d0d14e84.eot) format("embedded-opentype");
  font-weight: bold;
}
@font-face {
  font-family: "CircularStd";
  src: local("CircularStd-Bold"), url(/build/images/CircularStd-Bold.9ba9259b.svg) format("svg"), url(/build/fonts/CircularStd-Bold.4bae1919.woff) format("woff"), url(/build/fonts/CircularStd-Bold.54433420.ttf) format("ttf"), url(/build/fonts/CircularStd-Bold.d0d14e84.eot) format("embedded-opentype");
  font-weight: 500;
}
@font-face {
  font-family: "CircularStd";
  src: local("CircularStd-Bold"), url(/build/images/CircularStd-Bold.9ba9259b.svg) format("svg"), url(/build/fonts/CircularStd-Bold.4bae1919.woff) format("woff"), url(/build/fonts/CircularStd-Bold.54433420.ttf) format("ttf"), url(/build/fonts/CircularStd-Bold.d0d14e84.eot) format("embedded-opentype");
  font-weight: 700;
}
@font-face {
  font-family: "CircularStd";
  src: local("CircularStd-BoldItalic"), url(/build/images/CircularStd-BoldItalic.abb32a5c.svg) format("svg"), url(/build/fonts/CircularStd-BoldItalic.eeb47162.woff) format("woff"), url(/build/fonts/CircularStd-BoldItalic.4c0949c4.ttf) format("ttf"), url(/build/fonts/CircularStd-BoldItalic.af155cb0.eot) format("embedded-opentype");
  font-weight: 500;
  font-style: italic;
}
.aviva-bg {
  background-color: #ffd900;
}

.aviva-color {
  color: #004fb6;
}

.btn-aviva {
  background-color: #004fb6;
  color: #ffd900;
}

#mask {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
}
#mask.open {
  width: 100%;
  height: 100%;
}
#mask.visible {
  background: rgba(128, 128, 128, 0.25);
}

#popup {
  position: fixed;
  background: #FFF;
  z-index: 99;
  display: none;
  max-height: 90vh;
  overflow-y: auto;
}
#popup.open {
  display: block;
  padding: 25px;
  border-radius: 20px;
  top: 5vh;
  left: 15%;
  width: 70%;
}

.custom-file-label::after {
  content: "Parcourir" !important;
}

.primary-bg, .btn-aviva, .btn-primary {
  background-color: #333EFF;
}

.primary-color, .btn-outline-primary {
  color: #333EFF;
}

.primary-H-bg, .btn-primary-H {
  background-color: #1A26FF;
}

.primary-H-color, .btn-outline-primary-H {
  color: #1A26FF;
}

.primary-HH-bg {
  background-color: #000646;
}

.primary-HH-color {
  color: #000646;
}

.primary-L-bg, .btn-primary-L {
  background-color: #4D56FF;
}

.primary-L-color, .btn-outline-primary-L {
  color: #4D56FF;
}

.primary-LL-bg {
  background-color: #666EFF;
}

.primary-LL-color {
  color: #666EFF;
}

.secondary-bg, .btn-secondary {
  background-color: #B3B7FF;
}

.secondary-color, .btn-outline-secondary {
  color: #B3B7FF;
}

.secondary-H-bg, .btn-secondary-H {
  background-color: #999FFF;
}

.secondary-H-color, .btn-outline-secondary-H {
  color: #999FFF;
}

.secondary-HH-bg {
  background-color: #8086FF;
}

.secondary-HH-color {
  color: #8086FF;
}

.secondary-L-bg {
  background-color: #CCCFFF;
}

.secondary-L-color {
  color: #CCCFFF;
}

.secondary-LL-bg {
  background-color: #E6E7FF;
}

.secondary-LL-color {
  color: #E6E7FF;
}

.secondary-LLL-bg {
  background-color: #9fffff;
}

.secondary-LLL-color {
  color: #9fffff;
}

.third-bg {
  background-color: #707070;
}

.third-color {
  color: #707070;
}

.teal-bg {
  background-color: #00a099;
}

.teal-color {
  color: #00a099;
}

.gradien-bg {
  background: linear-gradient(45deg, #333EFF, #B3B7FF);
}

.gradien-H-bg {
  background: linear-gradient(90deg, #1A26FF, #999FFF);
}

.gray-light-bg {
  background-color: #EFE6EF;
}

.gray-light-color {
  color: #EFE6EF;
}

.white-bg {
  background-color: #ffffff;
}

.white-color {
  color: #ffffff !important;
}

.red-bg {
  background-color: #FB4E4E;
}

.red-color {
  color: #FB4E4E !important;
}

.green-bg {
  background-color: #39b54a;
}

.green-color {
  color: #39b54a !important;
}

.box, #popup.open {
  box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, 0.25);
  background: #fff;
}

.btn-primary:hover {
  color: #fff;
  opacity: 0.8;
}

.btn-outline-primary {
  border: 1px solid #333EFF;
}

.btn-primary-H {
  color: #fff;
}
.btn-primary-H:hover {
  opacity: 0.8;
  color: #fff;
  text-decoration: none;
  font-style: italic;
}

.btn-outline-primary-H {
  border: 1px solid #1A26FF;
}

.btn-primary-L {
  color: #fff;
}
.btn-primary-L:hover {
  opacity: 0.9;
  color: #fff;
  text-decoration: none;
  font-style: italic;
}

.btn-outline-primary-L {
  border: 1px solid #4D56FF;
}

.btn-secondary {
  border-color: #B3B7FF;
}

.btn-outline-secondary {
  border: 1px solid #B3B7FF;
}

.btn-outline-secondary-H {
  border: 1px solid #999FFF;
}

.btn-link {
  background-color: #B3B7FF;
  color: #3E3E3E;
}
.btn-link:hover {
  background-color: #666EFF;
  color: white;
  text-decoration: none;
}

.btn-outline-white {
  background-color: white;
  border: 1px solid #3E3E3E;
  color: #3E3E3E;
  text-decoration: none;
}
.btn-outline-white:hover {
  background-color: #666EFF;
  border: 1px solid #666EFF;
  color: white;
}

.border-primary {
  border: 2px solid #333EFF;
}

.border-primary-H {
  border: 2px solid #1A26FF;
}

.border-primary-L {
  border: 2px solid #4D56FF;
}

.border-secondary {
  border: 2px solid #B3B7FF;
}

.border-secondary-H {
  border: 2px solid #999FFF;
}

.border-secondary-L {
  border: 2px solid #CCCFFF;
}

.border-top-primary {
  border-top: 2px solid #333EFF;
}

.border-top-primary-H {
  border-top: 2px solid #1A26FF;
}

.border-top-primary-L {
  border-top: 2px solid #4D56FF;
}

.border-top-secondary {
  border-top: 2px solid #B3B7FF;
}

.border-top-secondary-H {
  border-top: 2px solid #999FFF;
}

.border-top-secondary-L {
  border-top: 2px solid #CCCFFF;
}

.border-20 {
  border-radius: 20px;
}

.border-50 {
  border-radius: 50px;
}

.emoji {
  font-family: Apple Color Emoji;
}

.z-1 {
  z-index: 1;
}

.z-2 {
  z-index: 2;
}

.z-3 {
  z-index: 3;
}

.z-4 {
  z-index: 4;
}

.z-5 {
  z-index: 5;
}

.z-6 {
  z-index: 6;
}

.z-7 {
  z-index: 7;
}

.z-8 {
  z-index: 8;
}

.z-9 {
  z-index: 9;
}

.z-10 {
  z-index: 10;
}

.font-7 {
  font-size: 7px;
}

.font-8 {
  font-size: 8px;
}

.font-9 {
  font-size: 9px;
}

.font-10 {
  font-size: 10px;
}

.font-11 {
  font-size: 11px;
}

.font-12 {
  font-size: 12px;
}

.font-13 {
  font-size: 13px;
}

.font-14, .meta-title-container .meta-title-header h6 {
  font-size: 14px;
}

.font-15, form[name=contact_form] label {
  font-size: 15px;
}

.font-16, form[name=contact_form] input, form[name=contact_form] textarea, .meta-title-container .meta-title-header h5 {
  font-size: 16px;
}

.font-17 {
  font-size: 17px;
}

.font-18 {
  font-size: 18px;
}

.font-19 {
  font-size: 19px;
}

.font-20, .meta-title-container .meta-title-header h4 {
  font-size: 20px;
}

.font-21 {
  font-size: 21px;
}

.font-22 {
  font-size: 22px;
}

.font-23 {
  font-size: 23px;
}

.font-24 {
  font-size: 24px;
}

.font-25 {
  font-size: 25px;
}

.font-26, .meta-title-container .meta-title-header h3 {
  font-size: 26px;
}

.font-27 {
  font-size: 27px;
}

.font-28 {
  font-size: 28px;
}

.font-29 {
  font-size: 29px;
}

.font-30, .meta-title-container .meta-title-header h2 {
  font-size: 30px;
}

.font-31 {
  font-size: 31px;
}

.font-32 {
  font-size: 32px;
}

.font-33 {
  font-size: 33px;
}

.font-34 {
  font-size: 34px;
}

.font-35 {
  font-size: 35px;
}

.font-36, .meta-title-container .meta-title-header h1 {
  font-size: 36px;
}

.font-37 {
  font-size: 37px;
}

.font-38 {
  font-size: 38px;
}

.font-39 {
  font-size: 39px;
}

.font-40 {
  font-size: 40px;
}

.font-41 {
  font-size: 41px;
}

.font-42 {
  font-size: 42px;
}

.font-43 {
  font-size: 43px;
}

.font-44 {
  font-size: 44px;
}

.font-45 {
  font-size: 45px;
}

.font-46 {
  font-size: 46px;
}

.font-47 {
  font-size: 47px;
}

.font-48 {
  font-size: 48px;
}

.font-49 {
  font-size: 49px;
}

.font-50 {
  font-size: 50px;
}

.font-51 {
  font-size: 51px;
}

.font-52 {
  font-size: 52px;
}

.font-53 {
  font-size: 53px;
}

.font-54 {
  font-size: 54px;
}

.font-55 {
  font-size: 55px;
}

.font-56 {
  font-size: 56px;
}

.font-57 {
  font-size: 57px;
}

.font-58 {
  font-size: 58px;
}

.font-59 {
  font-size: 59px;
}

.font-60 {
  font-size: 60px;
}

.font-61 {
  font-size: 61px;
}

.font-62 {
  font-size: 62px;
}

.font-63 {
  font-size: 63px;
}

.font-64 {
  font-size: 64px;
}

.font-65 {
  font-size: 65px;
}

.font-66 {
  font-size: 66px;
}

.font-67 {
  font-size: 67px;
}

.font-68 {
  font-size: 68px;
}

.font-69 {
  font-size: 69px;
}

.font-70 {
  font-size: 70px;
}

@media (min-width: 768px) {
  .font-md-7 {
    font-size: 7px;
  }

  .font-md-8 {
    font-size: 8px;
  }

  .font-md-9 {
    font-size: 9px;
  }

  .font-md-10 {
    font-size: 10px;
  }

  .font-md-11 {
    font-size: 11px;
  }

  .font-md-12 {
    font-size: 12px;
  }

  .font-md-13 {
    font-size: 13px;
  }

  .font-md-14 {
    font-size: 14px;
  }

  .font-md-15 {
    font-size: 15px;
  }

  .font-md-16 {
    font-size: 16px;
  }

  .font-md-17 {
    font-size: 17px;
  }

  .font-md-18 {
    font-size: 18px;
  }

  .font-md-19 {
    font-size: 19px;
  }

  .font-md-20, .meta-title-container .meta-title-header h6 {
    font-size: 20px;
  }

  .font-md-21 {
    font-size: 21px;
  }

  .font-md-22, form[name=contact_form] input, form[name=contact_form] textarea {
    font-size: 22px;
  }

  .font-md-23 {
    font-size: 23px;
  }

  .font-md-24 {
    font-size: 24px;
  }

  .font-md-25 {
    font-size: 25px;
  }

  .font-md-26 {
    font-size: 26px;
  }

  .font-md-27 {
    font-size: 27px;
  }

  .font-md-28 {
    font-size: 28px;
  }

  .font-md-29 {
    font-size: 29px;
  }

  .font-md-30, .meta-title-container .meta-title-header h5 {
    font-size: 30px;
  }

  .font-md-31 {
    font-size: 31px;
  }

  .font-md-32 {
    font-size: 32px;
  }

  .font-md-33 {
    font-size: 33px;
  }

  .font-md-34 {
    font-size: 34px;
  }

  .font-md-35 {
    font-size: 35px;
  }

  .font-md-36 {
    font-size: 36px;
  }

  .font-md-37 {
    font-size: 37px;
  }

  .font-md-38 {
    font-size: 38px;
  }

  .font-md-39 {
    font-size: 39px;
  }

  .font-md-40, .meta-title-container .meta-title-header h4 {
    font-size: 40px;
  }

  .font-md-41 {
    font-size: 41px;
  }

  .font-md-42 {
    font-size: 42px;
  }

  .font-md-43 {
    font-size: 43px;
  }

  .font-md-44 {
    font-size: 44px;
  }

  .font-md-45 {
    font-size: 45px;
  }

  .font-md-46 {
    font-size: 46px;
  }

  .font-md-47 {
    font-size: 47px;
  }

  .font-md-48 {
    font-size: 48px;
  }

  .font-md-49 {
    font-size: 49px;
  }

  .font-md-50, .meta-title-container .meta-title-header h3 {
    font-size: 50px;
  }

  .font-md-51 {
    font-size: 51px;
  }

  .font-md-52 {
    font-size: 52px;
  }

  .font-md-53 {
    font-size: 53px;
  }

  .font-md-54 {
    font-size: 54px;
  }

  .font-md-55 {
    font-size: 55px;
  }

  .font-md-56 {
    font-size: 56px;
  }

  .font-md-57 {
    font-size: 57px;
  }

  .font-md-58 {
    font-size: 58px;
  }

  .font-md-59 {
    font-size: 59px;
  }

  .font-md-60, .meta-title-container .meta-title-header h2 {
    font-size: 60px;
  }

  .font-md-61 {
    font-size: 61px;
  }

  .font-md-62 {
    font-size: 62px;
  }

  .font-md-63 {
    font-size: 63px;
  }

  .font-md-64 {
    font-size: 64px;
  }

  .font-md-65, .meta-title-container .meta-title-header h1 {
    font-size: 65px;
  }

  .font-md-66 {
    font-size: 66px;
  }

  .font-md-67 {
    font-size: 67px;
  }

  .font-md-68 {
    font-size: 68px;
  }

  .font-md-69 {
    font-size: 69px;
  }

  .font-md-70 {
    font-size: 70px;
  }
}
.opacity-0 {
  opacity: 0;
}

.opacity-10 {
  opacity: 0.1;
}

.opacity-20 {
  opacity: 0.2;
}

.opacity-25 {
  opacity: 0.25;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-75 {
  opacity: 0.75;
}

.opacity-80 {
  opacity: 0.8;
}

.opacity-90 {
  opacity: 0.9;
}

.opacity-100 {
  opacity: 1;
}

/*
grey light : #5D839D
green-blue : #ababab
blue : #0028F5 / #67D6FB
*/
/*
{"palette":{"common":{"black":"rgba(51, 51, 51, 1)","white":"#fff"},"background":{"paper":"#fff","default":"#fafafa"},"primary":{"light":"rgba(51, 83, 247, 1)","main":"rgba(0, 40, 245, 1)","dark":"rgba(0, 28, 171, 1)","contrastText":"#fff"},"secondary":{"light":"rgba(72, 149, 175, 1)","main":"rgba(103, 214, 251, 1)","dark":"rgba(133, 222, 251, 1)","contrastText":"#fff"},"error":{"light":"#e57373","main":"#f44336","dark":"#d32f2f","contrastText":"#fff"},"text":{"primary":"rgba(0, 0, 0, 0.87)","secondary":"rgba(0, 0, 0, 0.54)","disabled":"rgba(0, 0, 0, 0.38)","hint":"rgba(0, 0, 0, 0.38)"}}}
*/
@font-face {
  font-family: "CircularStd";
  src: local("CircularStd-Medium"), url(/build/images/CircularStd-Medium.61d34836.svg) format("svg"), url(/build/fonts/CircularStd-Medium.e39d4081.woff) format("woff"), url(/build/fonts/CircularStd-Medium.6fb73f93.ttf) format("ttf"), url(/build/fonts/CircularStd-Medium.bba31ddc.eot) format("embedded-opentype");
  font-style: normal;
}
@font-face {
  font-family: "CircularStd";
  src: local("CircularStd-MediumItalic"), url(/build/images/CircularStd-MediumItalic.5614e440.svg) format("svg"), url(/build/fonts/CircularStd-MediumItalic.8ffa91cf.woff) format("woff"), url(/build/fonts/CircularStd-MediumItalic.df104e4b.ttf) format("ttf"), url(/build/fonts/CircularStd-MediumItalic.4936f24b.eot) format("embedded-opentype");
  font-style: italic;
}
@font-face {
  font-family: "CircularStd";
  src: local("CircularStd-Bold"), url(/build/images/CircularStd-Bold.9ba9259b.svg) format("svg"), url(/build/fonts/CircularStd-Bold.4bae1919.woff) format("woff"), url(/build/fonts/CircularStd-Bold.54433420.ttf) format("ttf"), url(/build/fonts/CircularStd-Bold.d0d14e84.eot) format("embedded-opentype");
  font-weight: bold;
}
@font-face {
  font-family: "CircularStd";
  src: local("CircularStd-Bold"), url(/build/images/CircularStd-Bold.9ba9259b.svg) format("svg"), url(/build/fonts/CircularStd-Bold.4bae1919.woff) format("woff"), url(/build/fonts/CircularStd-Bold.54433420.ttf) format("ttf"), url(/build/fonts/CircularStd-Bold.d0d14e84.eot) format("embedded-opentype");
  font-weight: 500;
}
@font-face {
  font-family: "CircularStd";
  src: local("CircularStd-Bold"), url(/build/images/CircularStd-Bold.9ba9259b.svg) format("svg"), url(/build/fonts/CircularStd-Bold.4bae1919.woff) format("woff"), url(/build/fonts/CircularStd-Bold.54433420.ttf) format("ttf"), url(/build/fonts/CircularStd-Bold.d0d14e84.eot) format("embedded-opentype");
  font-weight: 700;
}
@font-face {
  font-family: "CircularStd";
  src: local("CircularStd-BoldItalic"), url(/build/images/CircularStd-BoldItalic.abb32a5c.svg) format("svg"), url(/build/fonts/CircularStd-BoldItalic.eeb47162.woff) format("woff"), url(/build/fonts/CircularStd-BoldItalic.4c0949c4.ttf) format("ttf"), url(/build/fonts/CircularStd-BoldItalic.af155cb0.eot) format("embedded-opentype");
  font-weight: 500;
  font-style: italic;
}
.aviva-bg {
  background-color: #ffd900;
}

.aviva-color {
  color: #004fb6;
}

.btn-aviva {
  background-color: #004fb6;
  color: #ffd900;
}

#mask {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
}
#mask.open {
  width: 100%;
  height: 100%;
}
#mask.visible {
  background: rgba(128, 128, 128, 0.25);
}

#popup {
  position: fixed;
  background: #FFF;
  z-index: 99;
  display: none;
  max-height: 90vh;
  overflow-y: auto;
}
#popup.open {
  display: block;
  padding: 25px;
  border-radius: 20px;
  top: 5vh;
  left: 15%;
  width: 70%;
}

.custom-file-label::after {
  content: "Parcourir" !important;
}

.primary-bg, .btn-aviva, .btn-primary {
  background-color: #333EFF;
}

.primary-color, .btn-outline-primary {
  color: #333EFF;
}

.primary-H-bg, .btn-primary-H {
  background-color: #1A26FF;
}

.primary-H-color, .btn-outline-primary-H {
  color: #1A26FF;
}

.primary-HH-bg {
  background-color: #000646;
}

.primary-HH-color {
  color: #000646;
}

.primary-L-bg, .btn-primary-L {
  background-color: #4D56FF;
}

.primary-L-color, .btn-outline-primary-L {
  color: #4D56FF;
}

.primary-LL-bg {
  background-color: #666EFF;
}

.primary-LL-color {
  color: #666EFF;
}

.secondary-bg, .btn-secondary {
  background-color: #B3B7FF;
}

.secondary-color, .btn-outline-secondary {
  color: #B3B7FF;
}

.secondary-H-bg, .btn-secondary-H {
  background-color: #999FFF;
}

.secondary-H-color, .btn-outline-secondary-H {
  color: #999FFF;
}

.secondary-HH-bg {
  background-color: #8086FF;
}

.secondary-HH-color {
  color: #8086FF;
}

.secondary-L-bg {
  background-color: #CCCFFF;
}

.secondary-L-color {
  color: #CCCFFF;
}

.secondary-LL-bg {
  background-color: #E6E7FF;
}

.secondary-LL-color {
  color: #E6E7FF;
}

.secondary-LLL-bg {
  background-color: #9fffff;
}

.secondary-LLL-color {
  color: #9fffff;
}

.third-bg {
  background-color: #707070;
}

.third-color {
  color: #707070;
}

.teal-bg {
  background-color: #00a099;
}

.teal-color {
  color: #00a099;
}

.gradien-bg {
  background: linear-gradient(45deg, #333EFF, #B3B7FF);
}

.gradien-H-bg {
  background: linear-gradient(90deg, #1A26FF, #999FFF);
}

.gray-light-bg {
  background-color: #EFE6EF;
}

.gray-light-color {
  color: #EFE6EF;
}

.white-bg {
  background-color: #ffffff;
}

.white-color {
  color: #ffffff !important;
}

.red-bg {
  background-color: #FB4E4E;
}

.red-color {
  color: #FB4E4E !important;
}

.green-bg {
  background-color: #39b54a;
}

.green-color {
  color: #39b54a !important;
}

.box, #popup.open {
  box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, 0.25);
  background: #fff;
}

.btn-primary:hover {
  color: #fff;
  opacity: 0.8;
}

.btn-outline-primary {
  border: 1px solid #333EFF;
}

.btn-primary-H {
  color: #fff;
}
.btn-primary-H:hover {
  opacity: 0.8;
  color: #fff;
  text-decoration: none;
  font-style: italic;
}

.btn-outline-primary-H {
  border: 1px solid #1A26FF;
}

.btn-primary-L {
  color: #fff;
}
.btn-primary-L:hover {
  opacity: 0.9;
  color: #fff;
  text-decoration: none;
  font-style: italic;
}

.btn-outline-primary-L {
  border: 1px solid #4D56FF;
}

.btn-secondary {
  border-color: #B3B7FF;
}

.btn-outline-secondary {
  border: 1px solid #B3B7FF;
}

.btn-outline-secondary-H {
  border: 1px solid #999FFF;
}

.btn-link {
  background-color: #B3B7FF;
  color: #3E3E3E;
}
.btn-link:hover {
  background-color: #666EFF;
  color: white;
  text-decoration: none;
}

.btn-outline-white {
  background-color: white;
  border: 1px solid #3E3E3E;
  color: #3E3E3E;
  text-decoration: none;
}
.btn-outline-white:hover {
  background-color: #666EFF;
  border: 1px solid #666EFF;
  color: white;
}

.border-primary {
  border: 2px solid #333EFF;
}

.border-primary-H {
  border: 2px solid #1A26FF;
}

.border-primary-L {
  border: 2px solid #4D56FF;
}

.border-secondary {
  border: 2px solid #B3B7FF;
}

.border-secondary-H {
  border: 2px solid #999FFF;
}

.border-secondary-L {
  border: 2px solid #CCCFFF;
}

.border-top-primary {
  border-top: 2px solid #333EFF;
}

.border-top-primary-H {
  border-top: 2px solid #1A26FF;
}

.border-top-primary-L {
  border-top: 2px solid #4D56FF;
}

.border-top-secondary {
  border-top: 2px solid #B3B7FF;
}

.border-top-secondary-H {
  border-top: 2px solid #999FFF;
}

.border-top-secondary-L {
  border-top: 2px solid #CCCFFF;
}

.border-20 {
  border-radius: 20px;
}

.border-50 {
  border-radius: 50px;
}

.emoji {
  font-family: Apple Color Emoji;
}

.z-1 {
  z-index: 1;
}

.z-2 {
  z-index: 2;
}

.z-3 {
  z-index: 3;
}

.z-4 {
  z-index: 4;
}

.z-5 {
  z-index: 5;
}

.z-6 {
  z-index: 6;
}

.z-7 {
  z-index: 7;
}

.z-8 {
  z-index: 8;
}

.z-9 {
  z-index: 9;
}

.z-10 {
  z-index: 10;
}

.font-7 {
  font-size: 7px;
}

.font-8 {
  font-size: 8px;
}

.font-9 {
  font-size: 9px;
}

.font-10 {
  font-size: 10px;
}

.font-11 {
  font-size: 11px;
}

.font-12 {
  font-size: 12px;
}

.font-13 {
  font-size: 13px;
}

.font-14, .meta-title-container .meta-title-header h6 {
  font-size: 14px;
}

.font-15, form[name=contact_form] label {
  font-size: 15px;
}

.font-16, form[name=contact_form] input, form[name=contact_form] textarea, .meta-title-container .meta-title-header h5 {
  font-size: 16px;
}

.font-17 {
  font-size: 17px;
}

.font-18 {
  font-size: 18px;
}

.font-19 {
  font-size: 19px;
}

.font-20, .meta-title-container .meta-title-header h4 {
  font-size: 20px;
}

.font-21 {
  font-size: 21px;
}

.font-22 {
  font-size: 22px;
}

.font-23 {
  font-size: 23px;
}

.font-24 {
  font-size: 24px;
}

.font-25 {
  font-size: 25px;
}

.font-26, .meta-title-container .meta-title-header h3 {
  font-size: 26px;
}

.font-27 {
  font-size: 27px;
}

.font-28 {
  font-size: 28px;
}

.font-29 {
  font-size: 29px;
}

.font-30, .meta-title-container .meta-title-header h2 {
  font-size: 30px;
}

.font-31 {
  font-size: 31px;
}

.font-32 {
  font-size: 32px;
}

.font-33 {
  font-size: 33px;
}

.font-34 {
  font-size: 34px;
}

.font-35 {
  font-size: 35px;
}

.font-36, .meta-title-container .meta-title-header h1 {
  font-size: 36px;
}

.font-37 {
  font-size: 37px;
}

.font-38 {
  font-size: 38px;
}

.font-39 {
  font-size: 39px;
}

.font-40 {
  font-size: 40px;
}

.font-41 {
  font-size: 41px;
}

.font-42 {
  font-size: 42px;
}

.font-43 {
  font-size: 43px;
}

.font-44 {
  font-size: 44px;
}

.font-45 {
  font-size: 45px;
}

.font-46 {
  font-size: 46px;
}

.font-47 {
  font-size: 47px;
}

.font-48 {
  font-size: 48px;
}

.font-49 {
  font-size: 49px;
}

.font-50 {
  font-size: 50px;
}

.font-51 {
  font-size: 51px;
}

.font-52 {
  font-size: 52px;
}

.font-53 {
  font-size: 53px;
}

.font-54 {
  font-size: 54px;
}

.font-55 {
  font-size: 55px;
}

.font-56 {
  font-size: 56px;
}

.font-57 {
  font-size: 57px;
}

.font-58 {
  font-size: 58px;
}

.font-59 {
  font-size: 59px;
}

.font-60 {
  font-size: 60px;
}

.font-61 {
  font-size: 61px;
}

.font-62 {
  font-size: 62px;
}

.font-63 {
  font-size: 63px;
}

.font-64 {
  font-size: 64px;
}

.font-65 {
  font-size: 65px;
}

.font-66 {
  font-size: 66px;
}

.font-67 {
  font-size: 67px;
}

.font-68 {
  font-size: 68px;
}

.font-69 {
  font-size: 69px;
}

.font-70 {
  font-size: 70px;
}

@media (min-width: 768px) {
  .font-md-7 {
    font-size: 7px;
  }

  .font-md-8 {
    font-size: 8px;
  }

  .font-md-9 {
    font-size: 9px;
  }

  .font-md-10 {
    font-size: 10px;
  }

  .font-md-11 {
    font-size: 11px;
  }

  .font-md-12 {
    font-size: 12px;
  }

  .font-md-13 {
    font-size: 13px;
  }

  .font-md-14 {
    font-size: 14px;
  }

  .font-md-15 {
    font-size: 15px;
  }

  .font-md-16 {
    font-size: 16px;
  }

  .font-md-17 {
    font-size: 17px;
  }

  .font-md-18 {
    font-size: 18px;
  }

  .font-md-19 {
    font-size: 19px;
  }

  .font-md-20, .meta-title-container .meta-title-header h6 {
    font-size: 20px;
  }

  .font-md-21 {
    font-size: 21px;
  }

  .font-md-22, form[name=contact_form] input, form[name=contact_form] textarea {
    font-size: 22px;
  }

  .font-md-23 {
    font-size: 23px;
  }

  .font-md-24 {
    font-size: 24px;
  }

  .font-md-25 {
    font-size: 25px;
  }

  .font-md-26 {
    font-size: 26px;
  }

  .font-md-27 {
    font-size: 27px;
  }

  .font-md-28 {
    font-size: 28px;
  }

  .font-md-29 {
    font-size: 29px;
  }

  .font-md-30, .meta-title-container .meta-title-header h5 {
    font-size: 30px;
  }

  .font-md-31 {
    font-size: 31px;
  }

  .font-md-32 {
    font-size: 32px;
  }

  .font-md-33 {
    font-size: 33px;
  }

  .font-md-34 {
    font-size: 34px;
  }

  .font-md-35 {
    font-size: 35px;
  }

  .font-md-36 {
    font-size: 36px;
  }

  .font-md-37 {
    font-size: 37px;
  }

  .font-md-38 {
    font-size: 38px;
  }

  .font-md-39 {
    font-size: 39px;
  }

  .font-md-40, .meta-title-container .meta-title-header h4 {
    font-size: 40px;
  }

  .font-md-41 {
    font-size: 41px;
  }

  .font-md-42 {
    font-size: 42px;
  }

  .font-md-43 {
    font-size: 43px;
  }

  .font-md-44 {
    font-size: 44px;
  }

  .font-md-45 {
    font-size: 45px;
  }

  .font-md-46 {
    font-size: 46px;
  }

  .font-md-47 {
    font-size: 47px;
  }

  .font-md-48 {
    font-size: 48px;
  }

  .font-md-49 {
    font-size: 49px;
  }

  .font-md-50, .meta-title-container .meta-title-header h3 {
    font-size: 50px;
  }

  .font-md-51 {
    font-size: 51px;
  }

  .font-md-52 {
    font-size: 52px;
  }

  .font-md-53 {
    font-size: 53px;
  }

  .font-md-54 {
    font-size: 54px;
  }

  .font-md-55 {
    font-size: 55px;
  }

  .font-md-56 {
    font-size: 56px;
  }

  .font-md-57 {
    font-size: 57px;
  }

  .font-md-58 {
    font-size: 58px;
  }

  .font-md-59 {
    font-size: 59px;
  }

  .font-md-60, .meta-title-container .meta-title-header h2 {
    font-size: 60px;
  }

  .font-md-61 {
    font-size: 61px;
  }

  .font-md-62 {
    font-size: 62px;
  }

  .font-md-63 {
    font-size: 63px;
  }

  .font-md-64 {
    font-size: 64px;
  }

  .font-md-65, .meta-title-container .meta-title-header h1 {
    font-size: 65px;
  }

  .font-md-66 {
    font-size: 66px;
  }

  .font-md-67 {
    font-size: 67px;
  }

  .font-md-68 {
    font-size: 68px;
  }

  .font-md-69 {
    font-size: 69px;
  }

  .font-md-70 {
    font-size: 70px;
  }
}
.opacity-0 {
  opacity: 0;
}

.opacity-10 {
  opacity: 0.1;
}

.opacity-20 {
  opacity: 0.2;
}

.opacity-25 {
  opacity: 0.25;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-75 {
  opacity: 0.75;
}

.opacity-80 {
  opacity: 0.8;
}

.opacity-90 {
  opacity: 0.9;
}

.opacity-100 {
  opacity: 1;
}

@media (min-width: 768px) {
  .navbar-center {
    position: absolute;
    left: 50%;
    transform: translatex(-50%);
  }
}
@media (max-width: 768px) {
  #main-content {
    z-index: 6;
  }

  #cards {
    border-radius: 10px 10px 0 0 !important;
  }

  nav {
    height: 50px;
  }
  nav button.navbar-toggler {
    position: absolute;
    top: 5px;
  }
  nav #top_menu_content .navbar-collapse.show {
    box-shadow: 4px 4px 3px -3px rgba(0, 0, 0, 0.25);
    background: #fff;
    padding-bottom: 20px;
    border-radius: 0 0 20px 20px;
  }
  nav #menu {
    background: #fff;
  }

  #skills #skill-desc .skill-desc {
    position: relative !important;
    overflow: auto !important;
    left: 0 !important;
    height: auto !important;
  }
  #skills #emoji-bar {
    display: none;
  }
}
.bg-shape {
  position: absolute;
  z-index: 2;
  border-radius: 15%;
}
.bg-shape.-sq1 {
  top: 125px;
  left: -375px;
  width: 450px;
  height: 450px;
  border: 2px solid #000646;
  z-index: 2;
}
.bg-shape.-sq2 {
  top: 510px;
  left: 5%;
  width: 100px;
  height: 100px;
  background: transparent;
  border: 1px solid rgba(0, 6, 70, 0.08);
  z-index: 3;
}
.bg-shape.-sq3 {
  top: 680px;
  left: 8%;
  width: 50px;
  height: 50px;
  border: 2px solid #000646;
  border-radius: 10%;
}
.bg-shape.-sq4 {
  top: 640px;
  left: 3%;
  width: 34px;
  height: 34px;
  background: #333EFF;
  border: 2px solid #333EFF;
}
.bg-shape.-sq6 {
  top: 275px;
  right: -325px;
  width: 450px;
  height: 450px;
  border: 2px solid #000646;
  z-index: 4;
}
.bg-shape.-sq7 {
  top: 70px;
  right: -100px;
  width: 717px;
  height: 717px;
  background: rgba(0, 6, 70, 0.08);
  /*border:2px solid $primary-120;*/
  z-index: 2;
}
.bg-shape.-sq8 {
  top: 680px;
  right: 8%;
  width: 50px;
  height: 50px;
  border: 2px solid #000646;
}
.bg-shape.-sq9 {
  top: 640px;
  right: 3%;
  width: 34px;
  height: 34px;
  background: #333EFF;
  border: 2px solid #333EFF;
}
.bg-shape.-sq10 {
  top: 560px;
  right: 6%;
  width: 45px;
  height: 45px;
  background: #000646;
  border: 2px solid #000646;
}

/* main titles */
.meta-title {
  position: relative;
  z-index: 2;
  overflow: hidden;
}

.meta-title-container {
  border: 0px solid transparent;
  padding: 0;
  width: 100%;
  transform: matrix(1, 0, 0, 1, 0, 0);
}
.meta-title-container .meta-title-header {
  border: 0;
  position: relative;
  contain: layout style;
}
.meta-title-container .meta-title-header .meta-title-shapes {
  position: absolute;
  top: -10px;
  left: -5px;
  right: -5px;
  bottom: -50px;
  overflow: hidden;
  /*background: $primary-120;*/
  display: block;
  contain: strict;
}
.meta-title-container .meta-title-header .meta-title-shapes .meta-title-shape {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  will-change: transform;
  border: 1px solid #333;
  -webkit-border-radius: 20%;
  -moz-border-radius: 20%;
  border-radius: 20%;
}
.meta-title-container .meta-title-header .meta-title-shapes .meta-title-shape.-v1 {
  width: 650px;
  height: 650px;
  margin: -325px 0 0 -325px;
  background: #1A26FF;
}
.meta-title-container .meta-title-header .meta-title-shapes .meta-title-shape.-v2 {
  width: 440px;
  height: 440px;
  margin: -220px 0 0 -220px;
  background: #CCCFFF;
}
.meta-title-container .meta-title-header .meta-title-shapes .meta-title-shape.-v3 {
  width: 270px;
  height: 270px;
  margin: -135px 0 0 -135px;
  background: #333EFF;
}
.meta-title-container .meta-title-header .meta-title-shapes .square-shape {
  position: absolute;
  top: 0;
  will-change: transform;
  transform: rotate(75deg);
  border: 1px solid #333;
  -webkit-border-radius: 20%;
  -moz-border-radius: 20%;
  border-radius: 20%;
}
.meta-title-container .meta-title-header .meta-title-shapes .square-shape.-sh1 {
  width: 40%;
  height: 400px;
  left: 5%;
  background: #333EFF;
}
.meta-title-container .meta-title-header .meta-title-shapes .square-shape.-sh2 {
  width: 50%;
  height: 200px;
  top: -5%;
  right: 10%;
  background: #666EFF;
}
.meta-title-container .meta-title-header-blend {
  color: #000646;
  background: #fff;
  mix-blend-mode: screen;
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  transform: translateZ(0);
  position: relative;
  z-index: 1;
}
.meta-title-container .meta-title-header-blend::before {
  content: "";
  position: absolute;
  top: -12px;
  left: -6px;
  right: -6px;
  bottom: -52px;
  z-index: -1;
}
.meta-title-container .meta-title-header-blend h1, .meta-title-container .meta-title-header-blend h2, .meta-title-container .meta-title-header-blend h3, .meta-title-container .meta-title-header-blend h4, .meta-title-container .meta-title-header-blend h5, .meta-title-container .meta-title-header-blend h6 {
  line-height: 1.2;
  font-weight: bold;
  display: inline-block;
  padding: 0;
  margin: 0;
  letter-spacing: normal;
  text-rendering: optimizeSpeed;
}

.emoji {
  position: absolute;
  z-index: 5;
  width: 120px;
  height: 120px;
  background: center center #fff no-repeat;
  background-size: 80px 80px;
  border-radius: 10%;
  box-shadow: 0 60px 60px 0 rgba(0, 0, 0, 0.13);
}
.emoji.-em-earth, .emoji.emoji-earth {
  background-image: url(/build/images/earth.f535d37c.png);
}
.emoji.-em-rock, .emoji.emoji-rock {
  background-image: url(/build/images/rock.6c3b9961.png);
}
.emoji.-em-handshake, .emoji.emoji-handshake {
  background-image: url(/build/images/handshake.40c3f945.png);
}
.emoji.-em-speaker, .emoji.emoji-speaker {
  background-image: url(/build/images/speaker.8330e7c5.png);
}
.emoji.-em-rocket, .emoji.emoji-rocket {
  background-image: url(/build/images/rocket.005da9ac.png);
}
.emoji.-em-script, .emoji.emoji-script {
  background-image: url(/build/images/script.f129ba30.png);
}
.emoji.-em-newspaper, .emoji.emoji-newspaper {
  background-image: url(/build/images/newspaper.e945c0e1.png);
}
.emoji.-em-hello, .emoji.emoji-hello {
  background-image: url(/build/images/hello.cd9def2c.png);
}
.emoji.-em-gear, .emoji.emoji-gear {
  background-image: url(/build/images/gear.71f1ebf8.png);
}
.emoji.-em-computer, .emoji.emoji-computer {
  background-image: url(/build/images/computer.728d6b9a.png);
}
.emoji.-em-shopping, .emoji.emoji-shopping {
  background-image: url(/build/images/shopping.4c63f799.png);
}
.emoji.-em-art, .emoji.emoji-art {
  background-image: url(/build/images/art.650fab70.png);
}
.emoji.-em-computer3, .emoji.emoji-computer3 {
  background-image: url(/build/images/computer3.494a75bf.png);
}
.emoji.-em-nerd, .emoji.emoji-nerd {
  background-image: url(/build/images/nerd.2a107c63.png);
}
.emoji.-em-invader, .emoji.emoji-invader {
  background-image: url(/build/images/invader.a2fa1371.png);
}
.emoji.-em-mobile, .emoji.emoji-mobile {
  background-image: url(/build/images/mobile.01a381c0.png);
}
.emoji.-em-coffee, .emoji.emoji-coffee {
  background-image: url(/build/images/coffee.4c6e408c.png);
}
.emoji.-em-first, .emoji.emoji-first {
  background-image: url(/build/images/first.9e94262a.png);
}
.emoji.-em-robot, .emoji.emoji-robot {
  background-image: url(/build/images/robot.c5cb1ca9.png);
}
.emoji.-em-computer2, .emoji.emoji-computer2 {
  background-image: url(/build/images/computer2.208a0548.png);
}
.emoji.-em-book, .emoji.emoji-book {
  background-image: url(/build/images/book.682eeba7.png);
}
.emoji.-em-hashtag, .emoji.emoji-hashtag {
  background-image: url(/build/images/hashtag.6b1f3d64.png);
}
.emoji.-em-print, .emoji.emoji-print {
  background-image: url(/build/images/print.55902e65.png);
}
.emoji.-em-picture, .emoji.emoji-picture {
  background-image: url(/build/images/picture.bf353475.png);
}
.emoji.-em-video, .emoji.emoji-video {
  background-image: url(/build/images/video.f9cf395c.png);
}
.emoji.-em-film, .emoji.emoji-film {
  background-image: url(/build/images/film.19a93710.png);
}
.emoji.-em-bar-chart, .emoji.emoji-bar-chart {
  background-image: url(/build/images/bar-chart.cd64bfc4.png);
}
.emoji.-em-writing, .emoji.emoji-writing {
  background-image: url(/build/images/writing.83492712.png);
}
.emoji.-em-loudspeaker, .emoji.emoji-loudspeaker {
  background-image: url(/build/images/loudspeaker.f13e6184.png);
}
.emoji.-em-chart, .emoji.emoji-chart {
  background-image: url(/build/images/chart.17e45e34.png);
}
.emoji.-em-idea, .emoji.emoji-idea {
  background-image: url(/build/images/idea.43ca5d13.png);
}
.emoji.-em-glasses, .emoji.emoji-glasses {
  background-image: url(/build/images/glasses.e7d02ab6.png);
}
.emoji.-em-strong, .emoji.emoji-strong {
  background-image: url(/build/images/strong.3bd6bb81.png);
}
.emoji.-em-coffee, .emoji.emoji-coffee {
  background-image: url(/build/images/coffee.4c6e408c.png);
}
.emoji.-em-first, .emoji.emoji-first {
  background-image: url(/build/images/first.9e94262a.png);
}
.emoji.-em-robot, .emoji.emoji-robot {
  background-image: url(/build/images/robot.c5cb1ca9.png);
}
.emoji.-em-mobile, .emoji.emoji-mobile {
  background-image: url(/build/images/mobile.01a381c0.png);
}
.emoji.-em-education, .emoji.emoji-education {
  background-image: url(/build/images/education.6e612b31.png);
}
.emoji.-em-food, .emoji.emoji-food {
  background-image: url(/build/images/food.c5b4e5c2.png);
}
.emoji.-em-health, .emoji.emoji-health {
  background-image: url(/build/images/health.a694ad06.png);
}
.emoji.-em-you, .emoji.emoji-you {
  background-image: url(/build/images/you.43ca5d13.png);
}
.emoji.-em-animals, .emoji.emoji-animals {
  background-image: url(/build/images/animals.0a308de4.png);
}

/* layout animation */
#lbp-launch {
  background: #000646;
  text-align: center;
}
#lbp-launch:hover {
  background: #1A26FF;
}
#lbp-launch a:hover {
  /*font-style: italic;
    b{
    text-decoration: underline;
  }*/
}

nav.navbar-light {
  background: rgba(255, 255, 255, 0.95);
}
nav.navbar-light .navbar-nav a.nav-link {
  color: #000646;
  font-size: 16px;
}
nav.navbar-light .navbar-nav a.nav-link:hover {
  color: #333EFF;
}
nav.navbar-light img {
  vertical-align: top;
}

blockquote {
  margin-left: 15px;
  padding-left: 15px;
  border-left: 5px solid #E6E7FF;
}

footer #footer-logo {
  width: auto;
  max-height: 60px;
}
footer a {
  display: inline-block;
  color: white;
}
footer a:hover {
  color: #E6E7FF;
  text-decoration: none;
}

#achievements {
  text-align: center;
}
#achievements .achievement {
  width: 110px;
  height: 110px;
  background: #fff;
  margin: 5px;
  vertical-align: middle;
}
#achievements .achievement:hover {
  transform: rotate(-1deg);
}
#achievements .achievement span {
  display: block;
  width: 100px;
  height: 100px;
  margin: 5px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
#achievements .achievement#rift {
  background-color: #254C97;
}
#achievements .achievement#positivr {
  background-color: #fe8d08;
}
#achievements .achievement#humanity-lottery {
  background-color: #2dd3a1;
}
#achievements .achievement#le-club-v {
  background-color: #252c41;
}
#achievements .achievement#ekiwork {
  background-color: #fc6900;
}
#achievements .achievement#on-passe-a-lacte {
  background-color: #E36A37;
}

::selection {
  color: #fff;
  background: #333EFF;
}

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

body {
  /*cursor: none!important;*/
  color: #B3B7FF;
}

section#screen-intro {
  height: 100vh;
  min-height: 800px;
  overflow: hidden;
  position: relative;
}
section#screen-intro .-em-earth {
  top: 200px;
  left: 0;
}
section#screen-intro .-em-rocket {
  top: 330px;
  right: 50px;
}

/** STRATS */
#cards {
  border-radius: 100px 100px 0 0;
  background: #333EFF;
  margin-top: auto;
  z-index: 6;
  text-align: center;
  height: 450px;
  max-height: 450px;
  overflow: hidden;
  position: relative;
}
#cards #cards-content {
  position: relative;
  width: 100%;
  height: 450px;
  max-height: 450px;
}
#cards #cards-content .card {
  position: absolute;
  width: 286px;
  height: 346px;
  border-radius: 30px 30px 0 0;
  box-shadow: 0 60px 60px 0 rgba(0, 0, 0, 0.13);
  border: solid 1px #e4ebef;
  background-color: #ffffff;
  top: 104px;
  left: 50%;
  margin: 692px 0 0 -143px;
  -webkit-transition: margin 500ms ease-in-out, transform 500ms ease-in-out, z-index 500ms linear, opacity 500ms linear;
  -moz-transition: margin 500ms ease-in-out, transform 500ms ease-in-out, z-index 500ms linear, opacity 500ms linear;
  -ms-transition: margin 500ms ease-in-out, transform 500ms ease-in-out, z-index 500ms linear, opacity 500ms linear;
  -o-transition: margin 500ms ease-in-out, transform 500ms ease-in-out, z-index 500ms linear, opacity 500ms linear;
  transition: margin 500ms ease-in-out, transform 500ms ease-in-out, z-index 500ms linear, opacity 500ms linear;
  cursor: pointer;
}
#cards #cards-content .card-pos-1 {
  margin: 242.2px 0 0 -371.8px;
  transform: rotate(-18deg);
  z-index: 2;
  opacity: 0.75;
}
#cards #cards-content .card-pos-1:hover {
  transform: rotate(-20deg);
}
#cards #cards-content .card-pos-2 {
  margin: 155.7px 0 0 -343.2px;
  transform: rotate(-14deg);
  z-index: 3;
  opacity: 0.95;
}
#cards #cards-content .card-pos-2:hover {
  transform: rotate(-16deg);
}
#cards #cards-content .card-pos-3 {
  margin: 69.2px 0 0 -286px;
  transform: rotate(-12deg);
  z-index: 4;
}
#cards #cards-content .card-pos-3:hover {
  transform: rotate(-14deg);
}
#cards #cards-content .card-pos-4 {
  z-index: 5;
  margin: 0 0 0 -143px;
}
#cards #cards-content .card-pos-4:hover img {
  -webkit-animation: move-img-card 2s linear forwards infinite;
  -moz-animation: move-img-card 2s linear forwards infinite;
  animation: move-img-card 2s linear forwards infinite;
}
#cards #cards-content .card-pos-5 {
  margin: 69.2px 0 0 0px;
  transform: rotate(12deg);
  z-index: 4;
}
#cards #cards-content .card-pos-5:hover {
  transform: rotate(14deg);
}
#cards #cards-content .card-pos-6 {
  margin: 155.7px 0 0 57.2px;
  transform: rotate(14deg);
  z-index: 3;
  opacity: 0.95;
}
#cards #cards-content .card-pos-6:hover {
  transform: rotate(16deg);
}
#cards #cards-content .card-pos-7, #cards #cards-content .card-pos-8 {
  margin: 242.2px 0 0 85.8px;
  transform: rotate(18deg);
  z-index: 2;
  opacity: 0.75;
}
#cards #cards-content .card-pos-7:hover, #cards #cards-content .card-pos-8:hover {
  transform: rotate(20deg);
}
#cards #cards-content .card-pos-8 {
  opacity: 0;
  z-index: 1;
}

/** TEAM **/
section#team #metastrat-illustrations {
  position: relative;
  min-height: 420px;
}
section#team #metastrat-illustrations .shape {
  position: absolute;
}
section#team #metastrat-illustrations .shape.emoji {
  opacity: 0;
}
section#team #metastrat-illustrations .shape.emoji-rock {
  top: 0;
  left: 0;
  background-size: 41px 60px;
  border-radius: 10%;
  box-shadow: 0 60px 60px 0 rgba(0, 0, 0, 0.13);
  z-index: 4;
}
section#team #metastrat-illustrations .shape.primary-HH-bg {
  width: 57px;
  height: 57px;
  border-radius: 11px;
  top: 277.5px;
  left: 120px;
  z-index: 3;
}
section#team #metastrat-illustrations .shape .shadow {
  width: 208px;
  height: 208px;
  z-index: 3;
  border-radius: 44px;
}
section#team #metastrat-illustrations #photos {
  position: absolute;
  top: 56px;
  left: 5%;
  width: 90%;
  max-width: 366px;
  height: 250px;
  background: no-repeat center center;
  background-size: cover;
  z-index: 2;
  border-radius: 30px;
}
section#team #metastrat-illustrations #members {
  position: absolute;
  width: 234px;
  height: 234px;
  right: 2%;
  bottom: 0;
  overflow: hidden;
  z-index: 4;
  background: #fff;
  box-shadow: 0 60px 60px 0 rgba(0, 0, 0, 0.13);
  border-radius: 39px;
}
section#team #metastrat-illustrations #members a {
  position: absolute;
  top: -200px;
  left: -200px;
  opacity: 0;
  -webkit-transition: top 4000ms linear, left 4000ms linear;
  -moz-transition: top 4000ms linear, left 4000ms linear;
  -ms-transition: top 4000ms linear, left 4000ms linear;
  -o-transition: top 4000ms linear, left 4000ms linear;
  transition: top 4000ms linear, left 4000ms linear;
}
section#team #metastrat-illustrations #members a.m-pos-1 {
  top: 16px;
  left: -58px;
  opacity: 1;
}
section#team #metastrat-illustrations #members a.m-pos-2 {
  top: 16px;
  left: 15px;
  opacity: 1;
}
section#team #metastrat-illustrations #members a.m-pos-3 {
  top: 16px;
  left: 88px;
  opacity: 1;
}
section#team #metastrat-illustrations #members a.m-pos-4 {
  top: 16px;
  left: 161px;
  opacity: 1;
}
section#team #metastrat-illustrations #members a.m-pos-5 {
  top: 16px;
  left: 234px;
  opacity: 1;
}
section#team #metastrat-illustrations #members a.m-pos-6 {
  top: 89px;
  left: 234px;
  opacity: 1;
}
section#team #metastrat-illustrations #members a.m-pos-7 {
  top: 89px;
  left: 161px;
  opacity: 1;
}
section#team #metastrat-illustrations #members a.m-pos-8 {
  top: 89px;
  left: 88px;
  opacity: 1;
}
section#team #metastrat-illustrations #members a.m-pos-9 {
  top: 89px;
  left: 15px;
  opacity: 1;
}
section#team #metastrat-illustrations #members a.m-pos-10 {
  top: 89px;
  left: -58px;
  opacity: 1;
}
section#team #metastrat-illustrations #members a.m-pos-11 {
  top: 162px;
  left: -58px;
  opacity: 1;
}
section#team #metastrat-illustrations #members a.m-pos-12 {
  top: 162px;
  left: 15px;
  opacity: 1;
}
section#team #metastrat-illustrations #members a.m-pos-13 {
  top: 162px;
  left: 88px;
  opacity: 1;
}
section#team #metastrat-illustrations #members a.m-pos-14 {
  top: 162px;
  left: 161px;
  opacity: 1;
}
section#team #metastrat-illustrations #members a.m-pos-15 {
  top: 162px;
  left: 234px;
  opacity: 1;
}
section#team p span {
  color: #333EFF;
}

#partners .partner img {
  width: auto;
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
}
#partners .partner img:hover {
  -webkit-filter: grayscale(0);
  filter: grayscale(0);
}

#skills {
  overflow: hidden;
  min-height: 660px;
}
#skills #skill-titles h4 {
  border-radius: 20px;
  border: 0px solid transparent;
  padding: 5px 10px;
  cursor: pointer;
}
#skills #skill-titles h4:after {
  content: " > ";
  color: white;
  text-align: right;
}
#skills #skill-titles h4.on, #skills #skill-titles h4:hover {
  border-color: #333EFF;
  background-color: #333EFF;
  text-align: center;
  color: white !important;
}
#skills #skill-desc {
  position: relative;
}
#skills #skill-desc .skill-desc {
  position: absolute;
  top: 0;
  left: 200%;
  z-index: 1;
  background: #fff;
  height: 100%;
  width: 100%;
}
#skills #skill-desc .skill-desc.on {
  left: 0;
  z-index: 2;
}
#skills #emoji-bar {
  position: relative;
  height: 300px;
}
#skills #emoji-bar .emoji {
  opacity: 0;
}

form[name=contact_form] label {
  font-size: 15px;
}
form[name=contact_form] input, form[name=contact_form] textarea {
  background: #fff;
  border: 0px;
  border: 1px solid #E6E7FF;
  border-radius: 20px;
  color: #000;
}
form[name=contact_form] input::placeholder, form[name=contact_form] textarea::placeholder {
  color: #666A90;
}
form[name=contact_form] button {
  background-color: #9fffff;
  color: #000EFF;
}
form[name=contact_form] button:hover {
  background-color: #CCCFFF;
  color: #000EFF;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZXBhZ2VfdjIuOTMwNzU4YWEuY3NzIiwibWFwcGluZ3MiOiI7OztBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7RUFBQTtBQ0FBO0VBR0k7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUtGO0VBQ0E7QUZzQkY7O0FHckJBOzs7RUFHRTtBSHdCRjs7QUdyQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBSHdCRjs7QUdsQkE7RUFDRTtBSHFCRjs7QUdYQTtFQUNFO0VBQ0EscU5DcU80QjtFQ3JKeEIsZUF0Q2E7RUZ4Q2pCLGdCQzhPNEI7RUQ3TzVCLGdCQ2tQNEI7RURqUDVCLGNDbkNTO0VEb0NUO0VBQ0Esc0JDOUNTO0FKNERYOztBR0ZBO0VBQ0U7QUhLRjs7QUdJQTtFQUNFO0VBQ0E7RUFDQTtBSERGOztBR2NBO0VBQ0U7RUFDQSxxQkNnTjRCO0FKM045Qjs7QUdrQkE7RUFDRTtFQUNBLG1CQ29GMEI7QUpuRzVCOztBRzBCQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FIdkJGOztBRzBCQTtFQUNFO0VBQ0E7RUFDQTtBSHZCRjs7QUcwQkE7OztFQUdFO0VBQ0E7QUh2QkY7O0FHMEJBOzs7O0VBSUU7QUh2QkY7O0FHMEJBO0VBQ0UsZ0JDaUo0QjtBSnhLOUI7O0FHMEJBO0VBQ0U7RUFDQTtBSHZCRjs7QUcwQkE7RUFDRTtBSHZCRjs7QUcwQkE7O0VBRUUsbUJDb0k0QjtBSjNKOUI7O0FHMEJBO0VFeEZJO0FMa0VKOztBRytCQTs7RUFFRTtFRW5HRTtFRnFHRjtFQUNBO0FINUJGOztBRytCQTtFQUFNO0FIM0JOOztBRzRCQTtFQUFNO0FIeEJOOztBRytCQTtFQUNFLGNDWHdDO0VEWXhDLHFCQ1h3QztFRFl4QztBSDVCRjtBTXBKRTtFSG1MRSxjQ2RzQztFRGV0QywwQkNkc0M7QUpkMUM7O0FHcUNBO0VBQ0U7RUFDQTtBSGxDRjtBTTdKRTtFSGtNRTtFQUNBO0FIbENKOztBRzJDQTs7OztFQUlFLGlHQ3lENEI7RUM3TTFCO0FMNkdKOztBRzJDQTtFQUVFO0VBRUE7RUFFQTtFQUdBO0FIN0NGOztBR3FEQTtFQUVFO0FIbkRGOztBRzJEQTtFQUNFO0VBQ0E7QUh4REY7O0FHMkRBO0VBR0U7RUFDQTtBSDFERjs7QUdrRUE7RUFDRTtBSC9ERjs7QUdrRUE7RUFDRSxvQkM2RTRCO0VENUU1Qix1QkM0RTRCO0VEM0U1QixjQ3RRUztFRHVRVDtFQUNBO0FIL0RGOztBR3NFQTtFQUVFO0VBQ0E7QUhwRUY7O0FHNEVBO0VBRUU7RUFDQSxxQkMySnNDO0FKck94Qzs7QUdnRkE7RUFFRTtBSDlFRjs7QUdzRkE7RUFDRTtBSG5GRjs7QUdzRkE7Ozs7O0VBS0U7RUFDQTtFRTVQRTtFRjhQRjtBSG5GRjs7QUdzRkE7O0VBRUU7QUhuRkY7O0FHc0ZBOztFQUVFO0FIbkZGOztBR3lGQTtFQUNFO0FIdEZGOztBRzRGQTtFQUNFO0FIekZGOztBR2dHQTs7OztFQUlFO0FIN0ZGOztBR3NHSTs7OztFQUNFO0FIaEdOOztBR3NHQTs7OztFQUlFO0VBQ0E7QUhuR0Y7O0FHc0dBOztFQUVFO0VBQ0E7QUhuR0Y7O0FHdUdBO0VBQ0U7RUFFQTtBSHJHRjs7QUd3R0E7RUFNRTtFQUVBO0VBQ0E7RUFDQTtBSDNHRjs7QUdnSEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VFblNJLGlCQXRDYTtFRjJVakI7RUFDQTtFQUNBO0FIN0dGOztBR2dIQTtFQUNFO0FIN0dGOztBR2lIQTs7RUFFRTtBSDlHRjs7QUdpSEE7RUFLRTtFQUNBO0FIbEhGOztBR3lIQTtFQUNFO0FIdEhGOztBRzhIQTtFQUNFO0VBQ0E7QUgzSEY7O0FHa0lBO0VBQ0U7QUgvSEY7O0FHa0lBO0VBQ0U7RUFDQTtBSC9IRjs7QUdrSUE7RUFDRTtBSC9IRjs7QUdvSUE7RUFDRTtBSGpJRjs7QU8zVkE7O0VBRUUscUJIcVM0QjtFR25TNUIsZ0JIcVM0QjtFR3BTNUIsZ0JIcVM0QjtBSndEOUI7O0FPelZBO0VGZ0hNLGlCQXRDYTtBTG1SbkI7O0FPNVZBO0VGK0dNLGVBdENhO0FMdVJuQjs7QU8vVkE7RUY4R00sa0JBdENhO0FMMlJuQjs7QU9sV0E7RUY2R00saUJBdENhO0FMK1JuQjs7QU9yV0E7RUY0R00sa0JBdENhO0FMbVNuQjs7QU94V0E7RUYyR00sZUF0Q2E7QUx1U25COztBTzFXQTtFRnlHTSxrQkF0Q2E7RUVqRWpCLGdCSHVTNEI7QUpzRTlCOztBT3pXQTtFRm1HTSxlQXRDYTtFRTNEakIsZ0JIMFI0QjtFR3pSNUIsZ0JIaVI0QjtBSjJGOUI7O0FPMVdBO0VGOEZNLGlCQXRDYTtFRXREakIsZ0JIc1I0QjtFR3JSNUIsZ0JINFE0QjtBSmlHOUI7O0FPM1dBO0VGeUZNLGlCQXRDYTtFRWpEakIsZ0JIa1I0QjtFR2pSNUIsZ0JIdVE0QjtBSnVHOUI7O0FPNVdBO0VGb0ZNLGlCQXRDYTtFRTVDakIsZ0JIOFE0QjtFRzdRNUIsZ0JIa1E0QjtBSjZHOUI7O0FPdldBO0VBQ0UsZ0JIZ0ZPO0VHL0VQLG1CSCtFTztFRzlFUDtFQUNBO0FQMFdGOztBT2xXQTs7RUZNSTtFRUhGLGdCSDBONEI7QUoySTlCOztBT2xXQTs7RUFFRSxjSGtRNEI7RUdqUTVCLHlCSDBRNEI7QUoyRjlCOztBTzdWQTtFQy9FRTtFQUNBO0FSZ2JGOztBTzdWQTtFQ3BGRTtFQUNBO0FScWJGOztBTy9WQTtFQUNFO0FQa1dGO0FPaFdFO0VBQ0Usb0JIb1AwQjtBSjhHOUI7O0FPeFZBO0VGakNJO0VFbUNGO0FQMlZGOztBT3ZWQTtFQUNFLG1CSHVCTztFQ1JILGtCQXRDYTtBTGtYbkI7O0FPdlZBO0VBQ0U7RUY3Q0U7RUUrQ0YsY0gxR1M7QUpvY1g7QU94VkU7RUFDRTtBUDBWSjs7QVM3Y0E7RUNJRTtFQUdBO0FWMmNGOztBUzVjQTtFQUNFLGdCTG1nQ2tDO0VLbGdDbEMsc0JMUlM7RUtTVDtFRUVFO0VEUEY7RUFHQTtBVm9kRjs7QVN0Y0E7RUFFRTtBVHdjRjs7QVNyY0E7RUFDRTtFQUNBO0FUd2NGOztBU3JjQTtFSmtDSTtFSWhDRixjTDNCUztBSm1lWDs7QVkvZUE7RVB1RUk7RU9yRUYsY1JtQ1E7RVFsQ1I7QVprZkY7QVkvZUU7RUFDRTtBWmlmSjs7QVk1ZUE7RUFDRTtFUDBERTtFT3hERixXUlRTO0VRVVQseUJSRFM7RU9FUDtBWCtlSjtBWTVlRTtFQUNFO0VQa0RBO0VPaERBLGdCUndRMEI7QUpzTzlCOztBWXhlQTtFQUNFO0VQeUNFO0VPdkNGLGNSakJTO0FKNGZYO0FZeGVFO0VQb0NFO0VPbENBO0VBQ0E7QVowZUo7O0FZcmVBO0VBQ0UsaUJSOGpDa0M7RVE3akNsQztBWndlRjs7QWFoaEJFOzs7Ozs7RUNEQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkMGhCRjs7QWV2ZUk7RUZ6Q0U7SUFDRSxnQlQ4TGU7RUpzVnJCO0FBQ0Y7QWU3ZUk7RUZ6Q0U7SUFDRSxnQlQ4TGU7RUoyVnJCO0FBQ0Y7QWVsZkk7RUZ6Q0U7SUFDRSxnQlQ4TGU7RUpnV3JCO0FBQ0Y7QWV2Zkk7RUZ6Q0U7SUFDRSxpQlQ4TGU7RUpxV3JCO0FBQ0Y7QWF4Z0JFO0VDbkNBO0VBQ0E7RUFDQTtFQUNBO0FkOGlCRjs7QWF4Z0JFO0VBQ0U7RUFDQTtBYjJnQko7QWF6Z0JJOztFQUVFO0VBQ0E7QWIyZ0JOOztBZ0Jqa0JFOzs7Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBaEJ5a0JKOztBZ0JuakJNO0VBQ0U7RUFDQTtFQUNBO0FoQnNqQlI7O0FjMWhCRTtFQUNFO0VBQ0E7QWQ2aEJKOztBYy9oQkU7RUFDRTtFQUNBO0Fka2lCSjs7QWNwaUJFO0VBQ0U7RUFDQTtBZHVpQko7O0FjemlCRTtFQUNFO0VBQ0E7QWQ0aUJKOztBYzlpQkU7RUFDRTtFQUNBO0FkaWpCSjs7QWNuakJFO0VBQ0U7RUFDQTtBZHNqQko7O0FnQnprQk07RUZDSjtFQUNBO0VBQ0E7QWQ0a0JGOztBZ0J6a0JVO0VGYlI7RUFJQTtBZHVsQkY7O0FnQjlrQlU7RUZiUjtFQUlBO0FkNGxCRjs7QWdCbmxCVTtFRmJSO0VBSUE7QWRpbUJGOztBZ0J4bEJVO0VGYlI7RUFJQTtBZHNtQkY7O0FnQjdsQlU7RUZiUjtFQUlBO0FkMm1CRjs7QWdCbG1CVTtFRmJSO0VBSUE7QWRnbkJGOztBZ0J2bUJVO0VGYlI7RUFJQTtBZHFuQkY7O0FnQjVtQlU7RUZiUjtFQUlBO0FkMG5CRjs7QWdCam5CVTtFRmJSO0VBSUE7QWQrbkJGOztBZ0J0bkJVO0VGYlI7RUFJQTtBZG9vQkY7O0FnQjNuQlU7RUZiUjtFQUlBO0FkeW9CRjs7QWdCaG9CVTtFRmJSO0VBSUE7QWQ4b0JGOztBZ0IvbkJNO0VBQXdCO0FoQm1vQjlCOztBZ0Jqb0JNO0VBQXVCO0FoQnFvQjdCOztBZ0Jsb0JRO0VBQXdCLFFBRGI7QWhCdW9CbkI7O0FnQnRvQlE7RUFBd0IsUUFEYjtBaEIyb0JuQjs7QWdCMW9CUTtFQUF3QixRQURiO0FoQitvQm5COztBZ0I5b0JRO0VBQXdCLFFBRGI7QWhCbXBCbkI7O0FnQmxwQlE7RUFBd0IsUUFEYjtBaEJ1cEJuQjs7QWdCdHBCUTtFQUF3QixRQURiO0FoQjJwQm5COztBZ0IxcEJRO0VBQXdCLFFBRGI7QWhCK3BCbkI7O0FnQjlwQlE7RUFBd0IsUUFEYjtBaEJtcUJuQjs7QWdCbHFCUTtFQUF3QixRQURiO0FoQnVxQm5COztBZ0J0cUJRO0VBQXdCLFFBRGI7QWhCMnFCbkI7O0FnQjFxQlE7RUFBd0IsU0FEYjtBaEIrcUJuQjs7QWdCOXFCUTtFQUF3QixTQURiO0FoQm1yQm5COztBZ0JsckJRO0VBQXdCLFNBRGI7QWhCdXJCbkI7O0FnQi9xQlk7RUZoQlY7QWRtc0JGOztBZ0JuckJZO0VGaEJWO0FkdXNCRjs7QWdCdnJCWTtFRmhCVjtBZDJzQkY7O0FnQjNyQlk7RUZoQlY7QWQrc0JGOztBZ0IvckJZO0VGaEJWO0FkbXRCRjs7QWdCbnNCWTtFRmhCVjtBZHV0QkY7O0FnQnZzQlk7RUZoQlY7QWQydEJGOztBZ0Izc0JZO0VGaEJWO0FkK3RCRjs7QWdCL3NCWTtFRmhCVjtBZG11QkY7O0FnQm50Qlk7RUZoQlY7QWR1dUJGOztBZ0J2dEJZO0VGaEJWO0FkMnVCRjs7QWV0dUJJO0VDM0JFO0lBQ0U7SUFDQTtJQUNBO0VoQnF3Qk47O0VjenVCQTtJQUNFO0lBQ0E7RWQ0dUJGOztFYzl1QkE7SUFDRTtJQUNBO0VkaXZCRjs7RWNudkJBO0lBQ0U7SUFDQTtFZHN2QkY7O0VjeHZCQTtJQUNFO0lBQ0E7RWQydkJGOztFYzd2QkE7SUFDRTtJQUNBO0VkZ3dCRjs7RWNsd0JBO0lBQ0U7SUFDQTtFZHF3QkY7O0VnQnh4Qkk7SUZDSjtJQUNBO0lBQ0E7RWQyeEJBOztFZ0J4eEJRO0lGYlI7SUFJQTtFZHN5QkE7O0VnQjd4QlE7SUZiUjtJQUlBO0VkMnlCQTs7RWdCbHlCUTtJRmJSO0lBSUE7RWRnekJBOztFZ0J2eUJRO0lGYlI7SUFJQTtFZHF6QkE7O0VnQjV5QlE7SUZiUjtJQUlBO0VkMHpCQTs7RWdCanpCUTtJRmJSO0lBSUE7RWQrekJBOztFZ0J0ekJRO0lGYlI7SUFJQTtFZG8wQkE7O0VnQjN6QlE7SUZiUjtJQUlBO0VkeTBCQTs7RWdCaDBCUTtJRmJSO0lBSUE7RWQ4MEJBOztFZ0JyMEJRO0lGYlI7SUFJQTtFZG0xQkE7O0VnQjEwQlE7SUZiUjtJQUlBO0VkdzFCQTs7RWdCLzBCUTtJRmJSO0lBSUE7RWQ2MUJBOztFZ0I5MEJJO0lBQXdCO0VoQmsxQjVCOztFZ0JoMUJJO0lBQXVCO0VoQm8xQjNCOztFZ0JqMUJNO0lBQXdCLFFBRGI7RWhCczFCakI7O0VnQnIxQk07SUFBd0IsUUFEYjtFaEIwMUJqQjs7RWdCejFCTTtJQUF3QixRQURiO0VoQjgxQmpCOztFZ0I3MUJNO0lBQXdCLFFBRGI7RWhCazJCakI7O0VnQmoyQk07SUFBd0IsUUFEYjtFaEJzMkJqQjs7RWdCcjJCTTtJQUF3QixRQURiO0VoQjAyQmpCOztFZ0J6MkJNO0lBQXdCLFFBRGI7RWhCODJCakI7O0VnQjcyQk07SUFBd0IsUUFEYjtFaEJrM0JqQjs7RWdCajNCTTtJQUF3QixRQURiO0VoQnMzQmpCOztFZ0JyM0JNO0lBQXdCLFFBRGI7RWhCMDNCakI7O0VnQnozQk07SUFBd0IsU0FEYjtFaEI4M0JqQjs7RWdCNzNCTTtJQUF3QixTQURiO0VoQms0QmpCOztFZ0JqNEJNO0lBQXdCLFNBRGI7RWhCczRCakI7O0VnQjkzQlU7SUZoQlY7RWRrNUJBOztFZ0JsNEJVO0lGaEJWO0VkczVCQTs7RWdCdDRCVTtJRmhCVjtFZDA1QkE7O0VnQjE0QlU7SUZoQlY7RWQ4NUJBOztFZ0I5NEJVO0lGaEJWO0VkazZCQTs7RWdCbDVCVTtJRmhCVjtFZHM2QkE7O0VnQnQ1QlU7SUZoQlY7RWQwNkJBOztFZ0IxNUJVO0lGaEJWO0VkODZCQTs7RWdCOTVCVTtJRmhCVjtFZGs3QkE7O0VnQmw2QlU7SUZoQlY7RWRzN0JBOztFZ0J0NkJVO0lGaEJWO0VkMDdCQTs7RWdCMTZCVTtJRmhCVjtFZDg3QkE7QUFDRjtBZTE3Qkk7RUMzQkU7SUFDRTtJQUNBO0lBQ0E7RWhCdzlCTjs7RWM1N0JBO0lBQ0U7SUFDQTtFZCs3QkY7O0VjajhCQTtJQUNFO0lBQ0E7RWRvOEJGOztFY3Q4QkE7SUFDRTtJQUNBO0VkeThCRjs7RWMzOEJBO0lBQ0U7SUFDQTtFZDg4QkY7O0VjaDlCQTtJQUNFO0lBQ0E7RWRtOUJGOztFY3I5QkE7SUFDRTtJQUNBO0VkdzlCRjs7RWdCMytCSTtJRkNKO0lBQ0E7SUFDQTtFZDgrQkE7O0VnQjMrQlE7SUZiUjtJQUlBO0VkeS9CQTs7RWdCaC9CUTtJRmJSO0lBSUE7RWQ4L0JBOztFZ0JyL0JRO0lGYlI7SUFJQTtFZG1nQ0E7O0VnQjEvQlE7SUZiUjtJQUlBO0Vkd2dDQTs7RWdCLy9CUTtJRmJSO0lBSUE7RWQ2Z0NBOztFZ0JwZ0NRO0lGYlI7SUFJQTtFZGtoQ0E7O0VnQnpnQ1E7SUZiUjtJQUlBO0VkdWhDQTs7RWdCOWdDUTtJRmJSO0lBSUE7RWQ0aENBOztFZ0JuaENRO0lGYlI7SUFJQTtFZGlpQ0E7O0VnQnhoQ1E7SUZiUjtJQUlBO0Vkc2lDQTs7RWdCN2hDUTtJRmJSO0lBSUE7RWQyaUNBOztFZ0JsaUNRO0lGYlI7SUFJQTtFZGdqQ0E7O0VnQmppQ0k7SUFBd0I7RWhCcWlDNUI7O0VnQm5pQ0k7SUFBdUI7RWhCdWlDM0I7O0VnQnBpQ007SUFBd0IsUUFEYjtFaEJ5aUNqQjs7RWdCeGlDTTtJQUF3QixRQURiO0VoQjZpQ2pCOztFZ0I1aUNNO0lBQXdCLFFBRGI7RWhCaWpDakI7O0VnQmhqQ007SUFBd0IsUUFEYjtFaEJxakNqQjs7RWdCcGpDTTtJQUF3QixRQURiO0VoQnlqQ2pCOztFZ0J4akNNO0lBQXdCLFFBRGI7RWhCNmpDakI7O0VnQjVqQ007SUFBd0IsUUFEYjtFaEJpa0NqQjs7RWdCaGtDTTtJQUF3QixRQURiO0VoQnFrQ2pCOztFZ0Jwa0NNO0lBQXdCLFFBRGI7RWhCeWtDakI7O0VnQnhrQ007SUFBd0IsUUFEYjtFaEI2a0NqQjs7RWdCNWtDTTtJQUF3QixTQURiO0VoQmlsQ2pCOztFZ0JobENNO0lBQXdCLFNBRGI7RWhCcWxDakI7O0VnQnBsQ007SUFBd0IsU0FEYjtFaEJ5bENqQjs7RWdCamxDVTtJRmhCVjtFZHFtQ0E7O0VnQnJsQ1U7SUZoQlY7RWR5bUNBOztFZ0J6bENVO0lGaEJWO0VkNm1DQTs7RWdCN2xDVTtJRmhCVjtFZGluQ0E7O0VnQmptQ1U7SUZoQlY7RWRxbkNBOztFZ0JybUNVO0lGaEJWO0VkeW5DQTs7RWdCem1DVTtJRmhCVjtFZDZuQ0E7O0VnQjdtQ1U7SUZoQlY7RWRpb0NBOztFZ0JqbkNVO0lGaEJWO0VkcW9DQTs7RWdCcm5DVTtJRmhCVjtFZHlvQ0E7O0VnQnpuQ1U7SUZoQlY7RWQ2b0NBOztFZ0I3bkNVO0lGaEJWO0VkaXBDQTtBQUNGO0FlN29DSTtFQzNCRTtJQUNFO0lBQ0E7SUFDQTtFaEIycUNOOztFYy9vQ0E7SUFDRTtJQUNBO0Vka3BDRjs7RWNwcENBO0lBQ0U7SUFDQTtFZHVwQ0Y7O0VjenBDQTtJQUNFO0lBQ0E7RWQ0cENGOztFYzlwQ0E7SUFDRTtJQUNBO0VkaXFDRjs7RWNucUNBO0lBQ0U7SUFDQTtFZHNxQ0Y7O0VjeHFDQTtJQUNFO0lBQ0E7RWQycUNGOztFZ0I5ckNJO0lGQ0o7SUFDQTtJQUNBO0VkaXNDQTs7RWdCOXJDUTtJRmJSO0lBSUE7RWQ0c0NBOztFZ0Juc0NRO0lGYlI7SUFJQTtFZGl0Q0E7O0VnQnhzQ1E7SUZiUjtJQUlBO0Vkc3RDQTs7RWdCN3NDUTtJRmJSO0lBSUE7RWQydENBOztFZ0JsdENRO0lGYlI7SUFJQTtFZGd1Q0E7O0VnQnZ0Q1E7SUZiUjtJQUlBO0VkcXVDQTs7RWdCNXRDUTtJRmJSO0lBSUE7RWQwdUNBOztFZ0JqdUNRO0lGYlI7SUFJQTtFZCt1Q0E7O0VnQnR1Q1E7SUZiUjtJQUlBO0Vkb3ZDQTs7RWdCM3VDUTtJRmJSO0lBSUE7RWR5dkNBOztFZ0JodkNRO0lGYlI7SUFJQTtFZDh2Q0E7O0VnQnJ2Q1E7SUZiUjtJQUlBO0VkbXdDQTs7RWdCcHZDSTtJQUF3QjtFaEJ3dkM1Qjs7RWdCdHZDSTtJQUF1QjtFaEIwdkMzQjs7RWdCdnZDTTtJQUF3QixRQURiO0VoQjR2Q2pCOztFZ0IzdkNNO0lBQXdCLFFBRGI7RWhCZ3dDakI7O0VnQi92Q007SUFBd0IsUUFEYjtFaEJvd0NqQjs7RWdCbndDTTtJQUF3QixRQURiO0VoQnd3Q2pCOztFZ0J2d0NNO0lBQXdCLFFBRGI7RWhCNHdDakI7O0VnQjN3Q007SUFBd0IsUUFEYjtFaEJneENqQjs7RWdCL3dDTTtJQUF3QixRQURiO0VoQm94Q2pCOztFZ0JueENNO0lBQXdCLFFBRGI7RWhCd3hDakI7O0VnQnZ4Q007SUFBd0IsUUFEYjtFaEI0eENqQjs7RWdCM3hDTTtJQUF3QixRQURiO0VoQmd5Q2pCOztFZ0IveENNO0lBQXdCLFNBRGI7RWhCb3lDakI7O0VnQm55Q007SUFBd0IsU0FEYjtFaEJ3eUNqQjs7RWdCdnlDTTtJQUF3QixTQURiO0VoQjR5Q2pCOztFZ0JweUNVO0lGaEJWO0Vkd3pDQTs7RWdCeHlDVTtJRmhCVjtFZDR6Q0E7O0VnQjV5Q1U7SUZoQlY7RWRnMENBOztFZ0JoekNVO0lGaEJWO0VkbzBDQTs7RWdCcHpDVTtJRmhCVjtFZHcwQ0E7O0VnQnh6Q1U7SUZoQlY7RWQ0MENBOztFZ0I1ekNVO0lGaEJWO0VkZzFDQTs7RWdCaDBDVTtJRmhCVjtFZG8xQ0E7O0VnQnAwQ1U7SUZoQlY7RWR3MUNBOztFZ0J4MENVO0lGaEJWO0VkNDFDQTs7RWdCNTBDVTtJRmhCVjtFZGcyQ0E7O0VnQmgxQ1U7SUZoQlY7RWRvMkNBO0FBQ0Y7QWVoMkNJO0VDM0JFO0lBQ0U7SUFDQTtJQUNBO0VoQjgzQ047O0VjbDJDQTtJQUNFO0lBQ0E7RWRxMkNGOztFY3YyQ0E7SUFDRTtJQUNBO0VkMDJDRjs7RWM1MkNBO0lBQ0U7SUFDQTtFZCsyQ0Y7O0VjajNDQTtJQUNFO0lBQ0E7RWRvM0NGOztFY3QzQ0E7SUFDRTtJQUNBO0VkeTNDRjs7RWMzM0NBO0lBQ0U7SUFDQTtFZDgzQ0Y7O0VnQmo1Q0k7SUZDSjtJQUNBO0lBQ0E7RWRvNUNBOztFZ0JqNUNRO0lGYlI7SUFJQTtFZCs1Q0E7O0VnQnQ1Q1E7SUZiUjtJQUlBO0VkbzZDQTs7RWdCMzVDUTtJRmJSO0lBSUE7RWR5NkNBOztFZ0JoNkNRO0lGYlI7SUFJQTtFZDg2Q0E7O0VnQnI2Q1E7SUZiUjtJQUlBO0VkbTdDQTs7RWdCMTZDUTtJRmJSO0lBSUE7RWR3N0NBOztFZ0IvNkNRO0lGYlI7SUFJQTtFZDY3Q0E7O0VnQnA3Q1E7SUZiUjtJQUlBO0VkazhDQTs7RWdCejdDUTtJRmJSO0lBSUE7RWR1OENBOztFZ0I5N0NRO0lGYlI7SUFJQTtFZDQ4Q0E7O0VnQm44Q1E7SUZiUjtJQUlBO0VkaTlDQTs7RWdCeDhDUTtJRmJSO0lBSUE7RWRzOUNBOztFZ0J2OENJO0lBQXdCO0VoQjI4QzVCOztFZ0J6OENJO0lBQXVCO0VoQjY4QzNCOztFZ0IxOENNO0lBQXdCLFFBRGI7RWhCKzhDakI7O0VnQjk4Q007SUFBd0IsUUFEYjtFaEJtOUNqQjs7RWdCbDlDTTtJQUF3QixRQURiO0VoQnU5Q2pCOztFZ0J0OUNNO0lBQXdCLFFBRGI7RWhCMjlDakI7O0VnQjE5Q007SUFBd0IsUUFEYjtFaEIrOUNqQjs7RWdCOTlDTTtJQUF3QixRQURiO0VoQm0rQ2pCOztFZ0JsK0NNO0lBQXdCLFFBRGI7RWhCdStDakI7O0VnQnQrQ007SUFBd0IsUUFEYjtFaEIyK0NqQjs7RWdCMStDTTtJQUF3QixRQURiO0VoQisrQ2pCOztFZ0I5K0NNO0lBQXdCLFFBRGI7RWhCbS9DakI7O0VnQmwvQ007SUFBd0IsU0FEYjtFaEJ1L0NqQjs7RWdCdC9DTTtJQUF3QixTQURiO0VoQjIvQ2pCOztFZ0IxL0NNO0lBQXdCLFNBRGI7RWhCKy9DakI7O0VnQnYvQ1U7SUZoQlY7RWQyZ0RBOztFZ0IzL0NVO0lGaEJWO0VkK2dEQTs7RWdCLy9DVTtJRmhCVjtFZG1oREE7O0VnQm5nRFU7SUZoQlY7RWR1aERBOztFZ0J2Z0RVO0lGaEJWO0VkMmhEQTs7RWdCM2dEVTtJRmhCVjtFZCtoREE7O0VnQi9nRFU7SUZoQlY7RWRtaURBOztFZ0JuaERVO0lGaEJWO0VkdWlEQTs7RWdCdmhEVTtJRmhCVjtFZDJpREE7O0VnQjNoRFU7SUZoQlY7RWQraURBOztFZ0IvaERVO0lGaEJWO0VkbWpEQTs7RWdCbmlEVTtJRmhCVjtFZHVqREE7QUFDRjtBaUIzbURBO0VBQ0U7RUFDQSxtQmJpSU87RWFoSVAsY2JTUztBSm9tRFg7QWlCMW1ERTs7RUFFRSxnQmJrVjBCO0VhalYxQjtFQUNBO0FqQjRtREo7QWlCem1ERTtFQUNFO0VBQ0E7QWpCMm1ESjtBaUJ4bURFO0VBQ0U7QWpCMG1ESjs7QWlCaG1ERTs7RUFFRSxlYjRUMEI7QUp1eUM5Qjs7QWlCMWxEQTtFQUNFO0FqQjZsREY7QWlCM2xERTs7RUFFRTtBakI2bERKO0FpQnpsREk7O0VBRUU7QWpCMmxETjs7QWlCcmxERTs7OztFQUlFO0FqQndsREo7O0FpQi9rREU7RUFDRSxxQ2J3UjBCO0FKMHpDOUI7O0FNanBERTtFVzJFSSxjYnZFSztFYXdFTCxzQ2I2UXdCO0FKNnpDOUI7O0FrQjVwREk7OztFQUdFLHlCRDJGK0I7QWpCb2tEckM7QWtCM3BETTs7OztFQUlFLHFCRG1GeUU7QWpCMGtEakY7O0FNbHFERTtFWWlCTSx5QkFKZTtBbEJ5cER2QjtBa0JucERROztFQUVFLHlCQVJhO0FsQjZwRHZCOztBa0JockRJOzs7RUFHRSx5QkQyRitCO0FqQndsRHJDO0FrQi9xRE07Ozs7RUFJRSxxQkRtRnlFO0FqQjhsRGpGOztBTXRyREU7RVlpQk0seUJBSmU7QWxCNnFEdkI7QWtCdnFEUTs7RUFFRSx5QkFSYTtBbEJpckR2Qjs7QWtCcHNESTs7O0VBR0UseUJEMkYrQjtBakI0bURyQztBa0Juc0RNOzs7O0VBSUUscUJEbUZ5RTtBakJrbkRqRjs7QU0xc0RFO0VZaUJNLHlCQUplO0FsQmlzRHZCO0FrQjNyRFE7O0VBRUUseUJBUmE7QWxCcXNEdkI7O0FrQnh0REk7OztFQUdFLHlCRDJGK0I7QWpCZ29EckM7QWtCdnRETTs7OztFQUlFLHFCRG1GeUU7QWpCc29EakY7O0FNOXRERTtFWWlCTSx5QkFKZTtBbEJxdER2QjtBa0Ivc0RROztFQUVFLHlCQVJhO0FsQnl0RHZCOztBa0I1dURJOzs7RUFHRSx5QkQyRitCO0FqQm9wRHJDO0FrQjN1RE07Ozs7RUFJRSxxQkRtRnlFO0FqQjBwRGpGOztBTWx2REU7RVlpQk0seUJBSmU7QWxCeXVEdkI7QWtCbnVEUTs7RUFFRSx5QkFSYTtBbEI2dUR2Qjs7QWtCaHdESTs7O0VBR0UseUJEMkYrQjtBakJ3cURyQztBa0IvdkRNOzs7O0VBSUUscUJEbUZ5RTtBakI4cURqRjs7QU10d0RFO0VZaUJNLHlCQUplO0FsQjZ2RHZCO0FrQnZ2RFE7O0VBRUUseUJBUmE7QWxCaXdEdkI7O0FrQnB4REk7OztFQUdFLHlCRDJGK0I7QWpCNHJEckM7QWtCbnhETTs7OztFQUlFLHFCRG1GeUU7QWpCa3NEakY7O0FNMXhERTtFWWlCTSx5QkFKZTtBbEJpeER2QjtBa0Izd0RROztFQUVFLHlCQVJhO0FsQnF4RHZCOztBa0J4eURJOzs7RUFHRSx5QkQyRitCO0FqQmd0RHJDO0FrQnZ5RE07Ozs7RUFJRSxxQkRtRnlFO0FqQnN0RGpGOztBTTl5REU7RVlpQk0seUJBSmU7QWxCcXlEdkI7QWtCL3hEUTs7RUFFRSx5QkFSYTtBbEJ5eUR2Qjs7QWtCNXpESTs7O0VBR0Usc0NkNFZ3QjtBSm0rQzlCOztBTTV6REU7RVlpQk0sc0NBSmU7QWxCbXpEdkI7QWtCN3lEUTs7RUFFRSxzQ0FSYTtBbEJ1ekR2Qjs7QWlCL3RESTtFQUNFLFdiM0dLO0VhNEdMLHlCYnBHSztFYXFHTCxxQmJnUXdCO0FKaytDOUI7QWlCN3RESTtFQUNFLGNiNUdLO0VhNkdMLHlCYmxISztFYW1ITCxxQmJsSEs7QUppMURYOztBaUIxdERBO0VBQ0UsV2IzSFM7RWE0SFQseUJicEhTO0FKaTFEWDtBaUIzdERFOzs7RUFHRSxxQmI0TzBCO0FKaS9DOUI7QWlCMXRERTtFQUNFO0FqQjR0REo7QWlCeHRESTtFQUNFLDJDYmdPd0I7QUowL0M5QjtBTS8xREU7RVc0SU0sV2JqSkc7RWFrSkgsNENiME5zQjtBSjQvQzlCOztBZXR5REk7RUVpR0E7SUFFSTtJQUNBO0lBQ0E7SUFDQTtFakJ3c0ROO0VpQnJzRE07SUFDRTtFakJ1c0RSO0FBQ0Y7QWVsekRJO0VFaUdBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7RWpCbXRETjtFaUJodERNO0lBQ0U7RWpCa3REUjtBQUNGO0FlN3pESTtFRWlHQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0VqQjh0RE47RWlCM3RETTtJQUNFO0VqQjZ0RFI7QUFDRjtBZXgwREk7RUVpR0E7SUFFSTtJQUNBO0lBQ0E7SUFDQTtFakJ5dUROO0VpQnR1RE07SUFDRTtFakJ3dURSO0FBQ0Y7QWlCbHZESTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0FqQm12RFI7QWlCaHZEUTtFQUNFO0FqQmt2RFY7O0FtQi81REE7RUFDRTtFQUNBO0VBQ0EsbUNmMGVzQztFZXpldEM7RWRxSEksZUF0Q2E7RWM1RWpCLGdCZmtSNEI7RWVqUjVCLGdCZnNSNEI7RWVyUjVCLGNmRFM7RWVFVCxzQmZUUztFZVVUO0VBQ0E7RVJBRTtFU0ZFLHdFRFFKO0FuQjY1REY7QW9CajZETTtFRGROO0lDZVE7RXBCbzZETjtBQUNGO0FtQi81REU7RUFDRTtFQUNBO0FuQmk2REo7QW1CNzVERTtFQUNFO0VBQ0E7QW5CKzVESjtBcUJyN0RFO0VBQ0U7RUFDQSxzQmpCUk87RWlCU1AscUJqQnFkb0M7RWlCcGRwQztFQUtFLGdEakJvWHdCO0FKK2pEOUI7QW1CLzVERTtFQUNFLGNmOUJPO0VlZ0NQO0FuQmc2REo7QW1CeDVERTtFQUVFLHlCZjlDTztFZWdEUDtBbkJ3NURKOztBbUJoNURFOzs7O0VBQ0U7QW5CczVESjs7QW1CajVERTtFQU1FLGNmL0RPO0VlZ0VQLHNCZnZFTztBSnM5RFg7O0FtQjE0REE7O0VBRUU7RUFDQTtBbkI2NERGOztBbUJuNERBO0VBQ0U7RUFDQTtFQUNBO0VkM0JFO0VjNkJGLGdCZitMNEI7QUp1c0Q5Qjs7QW1CbjREQTtFQUNFO0VBQ0E7RWRxQkksa0JBdENhO0VjbUJqQixnQmY2SDRCO0FKeXdEOUI7O0FtQm40REE7RUFDRTtFQUNBO0VkY0ksbUJBdENhO0VjMEJqQixnQmZ1SDRCO0FKK3dEOUI7O0FtQjczREE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFZERJLGVBdENhO0VjeUNqQixnQmZrSzRCO0Vlaks1QixjZm5IUztFZW9IVDtFQUNBO0VBQ0E7QW5CZzRERjtBbUI5M0RFO0VBRUU7RUFDQTtBbkIrM0RKOztBbUJuM0RBO0VBQ0Usa0NmNFZzQztFZTNWdEM7RWQxQkksbUJBdENhO0Vja0VqQixnQmYrRTRCO0VPeE4xQjtBWGdnRUo7O0FtQm4zREE7RUFDRSxnQ2ZxVnNDO0VlcFZ0QztFZGxDSSxrQkF0Q2E7RWMwRWpCLGdCZnNFNEI7RU92TjFCO0FYd2dFSjs7QW1CajNERTtFQUVFO0FuQm0zREo7O0FtQi8yREE7RUFDRTtBbkJrM0RGOztBbUIxMkRBO0VBQ0UsbUJmMFVzQztBSm1pRHhDOztBbUIxMkRBO0VBQ0U7RUFDQSxtQmYyVHNDO0FKa2pEeEM7O0FtQnIyREE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbkJ3MkRGO0FtQnQyREU7O0VBRUU7RUFDQTtBbkJ3MkRKOztBbUIvMURBO0VBQ0U7RUFDQTtFQUNBLHFCZmdTc0M7QUpra0R4Qzs7QW1CLzFEQTtFQUNFO0VBQ0Esa0JmNFJzQztFZTNSdEM7QW5CazJERjtBbUIvMURFO0VBRUUsY2Z6Tk87QUp5akVYOztBbUI1MURBO0VBQ0U7QW5CKzFERjs7QW1CNTFEQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLHFCZjZRc0M7QUprbER4QztBbUI1MURFO0VBQ0U7RUFDQTtFQUNBLHVCZndRb0M7RWV2UXBDO0FuQjgxREo7O0FxQjNpRUU7RUFDRTtFQUNBO0VBQ0EsbUJqQjBjb0M7RUNqYnBDO0VnQnZCQSxjRnFOcUM7QW5CeTFEekM7O0FxQjNpRUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VoQm1FRSxtQkF0Q2E7RWdCM0JmLGdCakJzTzBCO0VpQnJPMUI7RUFDQTtFVjlDQTtBWDZsRUo7QXFCMWlFSTtFQUVFO0FyQjJpRU47O0FxQnRpRUk7Ozs7RUFFRTtBckIyaUVOOztBcUJ6bEVJO0VBb0RFLHFCRmtMbUM7RUUvS2pDLG9DakJ3WmdDO0VpQnZaaEM7RUFDQTtFQUNBO0VBQ0E7QXJCdWlFUjtBcUJwaUVNO0VBQ0UscUJGdUtpQztFRXRLakM7QXJCc2lFUjs7QXFCdG1FSTtFQXlFSSxvQ2pCc1lnQztFaUJyWWhDO0FyQmlpRVI7O0FxQjNtRUk7RUFpRkUscUJGcUptQztFRWxKakMsdUNqQnVkb0M7RWlCdGRwQztBckI0aEVSO0FxQnpoRU07RUFDRSxxQkY2SWlDO0VFNUlqQztBckIyaEVSOztBcUJwaEVNO0VBQ0UsY0ZvSWlDO0FuQm01RHpDO0FxQnBoRU07OztFQUVFO0FyQnVoRVI7O0FxQmhoRU07RUFDRSxjRnVIaUM7QW5CNDVEekM7QXFCamhFUTtFQUNFLHFCRm9IK0I7QW5CKzVEekM7QXFCOWdFUTtFQUNFO0VDbEpOLHlCRG1KMkI7QXJCZ2hFL0I7QXFCM2dFUTtFQUNFO0FyQjZnRVY7QXFCMWdFUTtFQUNFLHFCQVZxQjtBckJzaEUvQjs7QXFCbmdFTTtFQUNFLHFCQXBCdUI7QXJCMGhFL0I7QXFCbGdFUTtFQUNFLHFCQXpCcUI7RUEwQnJCO0FyQm9nRVY7O0FxQjNvRUU7RUFDRTtFQUNBO0VBQ0EsbUJqQjBjb0M7RUNqYnBDO0VnQnZCQSxjRnFOcUM7QW5CeTdEekM7O0FxQjNvRUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VoQm1FRSxtQkF0Q2E7RWdCM0JmLGdCakJzTzBCO0VpQnJPMUI7RUFDQTtFVjlDQTtBWDZyRUo7QXFCMW9FSTtFQUVFO0FyQjJvRU47O0FxQnRvRUk7Ozs7RUFFRTtBckIyb0VOOztBcUJ6ckVJO0VBb0RFLHFCRmtMbUM7RUUvS2pDLG9DakJ3WmdDO0VpQnZaaEM7RUFDQTtFQUNBO0VBQ0E7QXJCdW9FUjtBcUJwb0VNO0VBQ0UscUJGdUtpQztFRXRLakM7QXJCc29FUjs7QXFCdHNFSTtFQXlFSSxvQ2pCc1lnQztFaUJyWWhDO0FyQmlvRVI7O0FxQjNzRUk7RUFpRkUscUJGcUptQztFRWxKakMsdUNqQnVkb0M7RWlCdGRwQztBckI0bkVSO0FxQnpuRU07RUFDRSxxQkY2SWlDO0VFNUlqQztBckIybkVSOztBcUJwbkVNO0VBQ0UsY0ZvSWlDO0FuQm0vRHpDO0FxQnBuRU07OztFQUVFO0FyQnVuRVI7O0FxQmhuRU07RUFDRSxjRnVIaUM7QW5CNC9EekM7QXFCam5FUTtFQUNFLHFCRm9IK0I7QW5CKy9EekM7QXFCOW1FUTtFQUNFO0VDbEpOLHlCRG1KMkI7QXJCZ25FL0I7QXFCM21FUTtFQUNFO0FyQjZtRVY7QXFCMW1FUTtFQUNFLHFCQVZxQjtBckJzbkUvQjs7QXFCbm1FTTtFQUNFLHFCQXBCdUI7QXJCMG5FL0I7QXFCbG1FUTtFQUNFLHFCQXpCcUI7RUEwQnJCO0FyQm9tRVY7O0FtQnJnRUE7RUFDRTtFQUNBO0VBQ0E7QW5Cd2dFRjtBbUJuZ0VFO0VBQ0U7QW5CcWdFSjtBZXB1RUk7RUlvT0E7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFbkJtZ0VKO0VtQi8vREU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VuQmlnRUo7RW1CNy9ERTtJQUNFO0lBQ0E7SUFDQTtFbkIrL0RKO0VtQjMvREU7SUFDRTtFbkI2L0RKO0VtQjEvREU7O0lBRUU7RW5CNC9ESjtFbUJ2L0RFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbkJ5L0RKO0VtQnYvREU7SUFDRTtJQUNBO0lBQ0E7SUFDQSxxQmYrS2tDO0llOUtsQztFbkJ5L0RKO0VtQnQvREU7SUFDRTtJQUNBO0VuQncvREo7RW1CdC9ERTtJQUNFO0VuQncvREo7QUFDRjs7QXVCMTBFQTtFQUNFO0VBRUEsZ0JuQnNSNEI7RW1CclI1QixjbkJNUztFbUJMVDtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VDdUZBO0VuQnVCSSxlQXRDYTtFbUJpQmpCLGdCcEIwTDRCO0VPbFIxQjtFU0ZFLHFJR0dKO0F2QjYwRUY7QW9CNTBFTTtFR2ROO0lIZVE7RXBCKzBFTjtBQUNGO0FNejFFRTtFaUJVRSxjbkJOTztFbUJPUDtBdkJrMUVKO0F1Qi8wRUU7RUFFRTtFQUNBLGdEbkI2VzBCO0FKbStEOUI7QXVCNTBFRTtFQUVFLGFuQmlaMEI7QUo0N0Q5QjtBdUJ6MEVFO0VBQ0U7QXZCMjBFSjtBdUI3ekVBOztFQUVFO0F2Qit6RUY7O0F1QnR6RUU7RUMzREE7RUZBRSx5QmxCc0VXO0VvQnBFYixxQnBCb0VhO0FKaXpFZjtBTWozRUU7RWtCQUU7RUZOQSx5QkVEMkQ7RUFTM0QscUJBVHFHO0F4QjYzRXpHO0F3QmozRUU7RUFFRTtFRmJBLHlCRUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QXhCODJFTjtBd0J6MkVFO0VBRUU7RUFDQSx5QnBCMENXO0VvQnpDWCxxQnBCeUNXO0FKaTBFZjtBd0JuMkVFO0VBR0U7RUFDQSx5QkF6QytJO0VBNkMvSSxxQkE3Q3lMO0F4QjY0RTdMO0F3QjkxRUk7RUFLSTtBeEI0MUVSOztBdUJwMUVFO0VDM0RBO0VGQUUseUJsQnNFVztFb0JwRWIscUJwQm9FYTtBSiswRWY7QU0vNEVFO0VrQkFFO0VGTkEseUJFRDJEO0VBUzNELHFCQVRxRztBeEIyNUV6RztBd0IvNEVFO0VBRUU7RUZiQSx5QkVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0F4QjQ0RU47QXdCdjRFRTtFQUVFO0VBQ0EseUJwQjBDVztFb0J6Q1gscUJwQnlDVztBSisxRWY7QXdCajRFRTtFQUdFO0VBQ0EseUJBekMrSTtFQTZDL0kscUJBN0N5TDtBeEIyNkU3TDtBd0I1M0VJO0VBS0k7QXhCMDNFUjs7QXVCbDNFRTtFQzNEQTtFRkFFLHlCbEJzRVc7RW9CcEViLHFCcEJvRWE7QUo2MkVmO0FNNzZFRTtFa0JBRTtFRk5BLHlCRUQyRDtFQVMzRCxxQkFUcUc7QXhCeTdFekc7QXdCNzZFRTtFQUVFO0VGYkEseUJFRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBeEIwNkVOO0F3QnI2RUU7RUFFRTtFQUNBLHlCcEIwQ1c7RW9CekNYLHFCcEJ5Q1c7QUo2M0VmO0F3Qi81RUU7RUFHRTtFQUNBLHlCQXpDK0k7RUE2Qy9JLHFCQTdDeUw7QXhCeThFN0w7QXdCMTVFSTtFQUtJO0F4Qnc1RVI7O0F1Qmg1RUU7RUMzREE7RUZBRSx5QmxCc0VXO0VvQnBFYixxQnBCb0VhO0FKMjRFZjtBTTM4RUU7RWtCQUU7RUZOQSx5QkVEMkQ7RUFTM0QscUJBVHFHO0F4QnU5RXpHO0F3QjM4RUU7RUFFRTtFRmJBLHlCRUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QXhCdzhFTjtBd0JuOEVFO0VBRUU7RUFDQSx5QnBCMENXO0VvQnpDWCxxQnBCeUNXO0FKMjVFZjtBd0I3N0VFO0VBR0U7RUFDQSx5QkF6QytJO0VBNkMvSSxxQkE3Q3lMO0F4QnUrRTdMO0F3Qng3RUk7RUFLSTtBeEJzN0VSOztBdUI5NkVFO0VDM0RBO0VGQUUseUJsQnNFVztFb0JwRWIscUJwQm9FYTtBSnk2RWY7QU16K0VFO0VrQkFFO0VGTkEseUJFRDJEO0VBUzNELHFCQVRxRztBeEJxL0V6RztBd0J6K0VFO0VBRUU7RUZiQSx5QkVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0F4QnMrRU47QXdCaitFRTtFQUVFO0VBQ0EseUJwQjBDVztFb0J6Q1gscUJwQnlDVztBSnk3RWY7QXdCMzlFRTtFQUdFO0VBQ0EseUJBekMrSTtFQTZDL0kscUJBN0N5TDtBeEJxZ0Y3TDtBd0J0OUVJO0VBS0k7QXhCbzlFUjs7QXVCNThFRTtFQzNEQTtFRkFFLHlCbEJzRVc7RW9CcEViLHFCcEJvRWE7QUp1OEVmO0FNdmdGRTtFa0JBRTtFRk5BLHlCRUQyRDtFQVMzRCxxQkFUcUc7QXhCbWhGekc7QXdCdmdGRTtFQUVFO0VGYkEseUJFRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBeEJvZ0ZOO0F3Qi8vRUU7RUFFRTtFQUNBLHlCcEIwQ1c7RW9CekNYLHFCcEJ5Q1c7QUp1OUVmO0F3QnovRUU7RUFHRTtFQUNBLHlCQXpDK0k7RUE2Qy9JLHFCQTdDeUw7QXhCbWlGN0w7QXdCcC9FSTtFQUtJO0F4QmsvRVI7O0F1QjErRUU7RUMzREE7RUZBRSx5QmxCc0VXO0VvQnBFYixxQnBCb0VhO0FKcStFZjtBTXJpRkU7RWtCQUU7RUZOQSx5QkVEMkQ7RUFTM0QscUJBVHFHO0F4QmlqRnpHO0F3QnJpRkU7RUFFRTtFRmJBLHlCRUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QXhCa2lGTjtBd0I3aEZFO0VBRUU7RUFDQSx5QnBCMENXO0VvQnpDWCxxQnBCeUNXO0FKcS9FZjtBd0J2aEZFO0VBR0U7RUFDQSx5QkF6QytJO0VBNkMvSSxxQkE3Q3lMO0F4QmlrRjdMO0F3QmxoRkk7RUFLSTtBeEJnaEZSOztBdUJ4Z0ZFO0VDM0RBO0VGQUUseUJsQnNFVztFb0JwRWIscUJwQm9FYTtBSm1nRmY7QU1ua0ZFO0VrQkFFO0VGTkEseUJFRDJEO0VBUzNELHFCQVRxRztBeEIra0Z6RztBd0Jua0ZFO0VBRUU7RUZiQSx5QkVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0F4QmdrRk47QXdCM2pGRTtFQUVFO0VBQ0EseUJwQjBDVztFb0J6Q1gscUJwQnlDVztBSm1oRmY7QXdCcmpGRTtFQUdFO0VBQ0EseUJBekMrSTtFQTZDL0kscUJBN0N5TDtBeEIrbEY3TDtBd0JoakZJO0VBS0k7QXhCOGlGUjs7QXVCaGlGRTtFQ1BBLGNwQllhO0VvQlhiLHFCcEJXYTtBSmdpRmY7QU1obUZFO0VrQndERSxXQUxnRDtFQU1oRCx5QnBCT1c7RW9CTlgscUJwQk1XO0FKcWlGZjtBd0J4aUZFO0VBRUU7QXhCeWlGSjtBd0J0aUZFO0VBRUUsY3BCSlc7RW9CS1g7QXhCdWlGSjtBd0JwaUZFO0VBR0U7RUFDQSx5QnBCWlc7RW9CYVgscUJwQmJXO0FKaWpGZjtBd0JsaUZJO0VBS0k7QXhCZ2lGUjs7QXVCempGRTtFQ1BBLGNwQllhO0VvQlhiLHFCcEJXYTtBSnlqRmY7QU16bkZFO0VrQndERSxXQUxnRDtFQU1oRCx5QnBCT1c7RW9CTlgscUJwQk1XO0FKOGpGZjtBd0Jqa0ZFO0VBRUU7QXhCa2tGSjtBd0IvakZFO0VBRUUsY3BCSlc7RW9CS1g7QXhCZ2tGSjtBd0I3akZFO0VBR0U7RUFDQSx5QnBCWlc7RW9CYVgscUJwQmJXO0FKMGtGZjtBd0IzakZJO0VBS0k7QXhCeWpGUjs7QXVCbGxGRTtFQ1BBLGNwQllhO0VvQlhiLHFCcEJXYTtBSmtsRmY7QU1scEZFO0VrQndERSxXQUxnRDtFQU1oRCx5QnBCT1c7RW9CTlgscUJwQk1XO0FKdWxGZjtBd0IxbEZFO0VBRUU7QXhCMmxGSjtBd0J4bEZFO0VBRUUsY3BCSlc7RW9CS1g7QXhCeWxGSjtBd0J0bEZFO0VBR0U7RUFDQSx5QnBCWlc7RW9CYVgscUJwQmJXO0FKbW1GZjtBd0JwbEZJO0VBS0k7QXhCa2xGUjs7QXVCM21GRTtFQ1BBLGNwQllhO0VvQlhiLHFCcEJXYTtBSjJtRmY7QU0zcUZFO0VrQndERSxXQUxnRDtFQU1oRCx5QnBCT1c7RW9CTlgscUJwQk1XO0FKZ25GZjtBd0JubkZFO0VBRUU7QXhCb25GSjtBd0JqbkZFO0VBRUUsY3BCSlc7RW9CS1g7QXhCa25GSjtBd0IvbUZFO0VBR0U7RUFDQSx5QnBCWlc7RW9CYVgscUJwQmJXO0FKNG5GZjtBd0I3bUZJO0VBS0k7QXhCMm1GUjs7QXVCcG9GRTtFQ1BBLGNwQllhO0VvQlhiLHFCcEJXYTtBSm9vRmY7QU1wc0ZFO0VrQndERSxjQUxnRDtFQU1oRCx5QnBCT1c7RW9CTlgscUJwQk1XO0FKeW9GZjtBd0I1b0ZFO0VBRUU7QXhCNm9GSjtBd0Ixb0ZFO0VBRUUsY3BCSlc7RW9CS1g7QXhCMm9GSjtBd0J4b0ZFO0VBR0U7RUFDQSx5QnBCWlc7RW9CYVgscUJwQmJXO0FKcXBGZjtBd0J0b0ZJO0VBS0k7QXhCb29GUjs7QXVCN3BGRTtFQ1BBLGNwQllhO0VvQlhiLHFCcEJXYTtBSjZwRmY7QU03dEZFO0VrQndERSxXQUxnRDtFQU1oRCx5QnBCT1c7RW9CTlgscUJwQk1XO0FKa3FGZjtBd0JycUZFO0VBRUU7QXhCc3FGSjtBd0JucUZFO0VBRUUsY3BCSlc7RW9CS1g7QXhCb3FGSjtBd0JqcUZFO0VBR0U7RUFDQSx5QnBCWlc7RW9CYVgscUJwQmJXO0FKOHFGZjtBd0IvcEZJO0VBS0k7QXhCNnBGUjs7QXVCdHJGRTtFQ1BBLGNwQllhO0VvQlhiLHFCcEJXYTtBSnNyRmY7QU10dkZFO0VrQndERSxjQUxnRDtFQU1oRCx5QnBCT1c7RW9CTlgscUJwQk1XO0FKMnJGZjtBd0I5ckZFO0VBRUU7QXhCK3JGSjtBd0I1ckZFO0VBRUUsY3BCSlc7RW9CS1g7QXhCNnJGSjtBd0IxckZFO0VBR0U7RUFDQSx5QnBCWlc7RW9CYVgscUJwQmJXO0FKdXNGZjtBd0J4ckZJO0VBS0k7QXhCc3JGUjs7QXVCL3NGRTtFQ1BBLGNwQllhO0VvQlhiLHFCcEJXYTtBSitzRmY7QU0vd0ZFO0VrQndERSxXQUxnRDtFQU1oRCx5QnBCT1c7RW9CTlgscUJwQk1XO0FKb3RGZjtBd0J2dEZFO0VBRUU7QXhCd3RGSjtBd0JydEZFO0VBRUUsY3BCSlc7RW9CS1g7QXhCc3RGSjtBd0JudEZFO0VBR0U7RUFDQSx5QnBCWlc7RW9CYVgscUJwQmJXO0FKZ3VGZjtBd0JqdEZJO0VBS0k7QXhCK3NGUjs7QXVCN3RGQTtFQUNFLGdCbkI0TTRCO0VtQjNNNUIsY25CMkZ3QztFbUIxRnhDLHFCbkIyRndDO0FKcW9GMUM7QU16eUZFO0VpQjRFRSxjbkJ5RnNDO0VtQnhGdEMsMEJuQnlGc0M7QUp1b0YxQztBdUI3dEZFO0VBRUUsMEJuQm9Gc0M7QUowb0YxQztBdUIzdEZFO0VBRUUsY25CdEZPO0VtQnVGUDtBdkI0dEZKOztBdUJqdEZBO0VDUEU7RW5CdUJJLGtCQXRDYTtFbUJpQmpCLGdCcEIrSDRCO0VPdk4xQjtBWHF6Rko7O0F1QnB0RkE7RUNYRTtFbkJ1QkksbUJBdENhO0VtQmlCakIsZ0JwQmdJNEI7RU94TjFCO0FYNHpGSjs7QXVCbHRGQTtFQUNFO0VBQ0E7QXZCcXRGRjtBdUJsdEZFO0VBQ0Usa0JuQnVUMEI7QUo2NUU5Qjs7QXVCNXNGRTs7O0VBQ0U7QXZCaXRGSjs7QXlCNTFGQTtFTGdCTSxnQ0tmSjtBekIrMUZGO0FvQjUwRk07RUtwQk47SUxxQlE7RXBCKzBGTjtBQUNGO0F5QmwyRkU7RUFDRTtBekJvMkZKOztBeUIvMUZFO0VBQ0U7QXpCazJGSjs7QXlCOTFGQTtFQUNFO0VBQ0E7RUFDQTtFTERJLDZCS0VKO0F6QmkyRkY7QW9CLzFGTTtFS05OO0lMT1E7RXBCazJGTjtBQUNGOztBMEJ2M0ZBOzs7O0VBSUU7QTFCMDNGRjs7QTBCdjNGQTtFQUNFO0ExQjAzRkY7QTJCdDJGSTtFQUNFO0VBQ0Esb0J2QitOd0I7RXVCOU54Qix1QnZCNk53QjtFdUI1TnhCO0VBaENKO0VBQ0E7RUFDQTtFQUNBO0EzQnk0RkY7QTJCcDFGSTtFQUNFO0EzQnMxRk47O0EwQmg0RkE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxhdEJ3cEJrQztFc0J2cEJsQztFQUNBO0VBQ0EsZ0J0Qmd1QmtDO0VzQi90QmxDO0VBQ0E7RXJCc0dJLGVBdENhO0VxQjlEakIsY3RCWFM7RXNCWVQ7RUFDQTtFQUNBLHNCdEJ2QlM7RXNCd0JUO0VBQ0E7RWZkRTtBWGs1Rko7O0EwQjMzRkk7RUFDRTtFQUNBO0ExQjgzRk47O0EwQjMzRkk7RUFDRTtFQUNBO0ExQjgzRk47O0FlbDNGSTtFV25CQTtJQUNFO0lBQ0E7RTFCeTRGSjs7RTBCdDRGRTtJQUNFO0lBQ0E7RTFCeTRGSjtBQUNGO0FlOTNGSTtFV25CQTtJQUNFO0lBQ0E7RTFCbzVGSjs7RTBCajVGRTtJQUNFO0lBQ0E7RTFCbzVGSjtBQUNGO0FlejRGSTtFV25CQTtJQUNFO0lBQ0E7RTFCKzVGSjs7RTBCNTVGRTtJQUNFO0lBQ0E7RTFCKzVGSjtBQUNGO0FlcDVGSTtFV25CQTtJQUNFO0lBQ0E7RTFCMDZGSjs7RTBCdjZGRTtJQUNFO0lBQ0E7RTFCMDZGSjtBQUNGO0EwQm42RkU7RUFDRTtFQUNBO0VBQ0E7RUFDQSx1QnRCOHJCZ0M7QUp1dUVwQztBMkJwOEZJO0VBQ0U7RUFDQSxvQnZCK053QjtFdUI5TnhCLHVCdkI2TndCO0V1QjVOeEI7RUF6Qko7RUFDQTtFQUNBO0VBQ0E7QTNCZytGRjtBMkJsN0ZJO0VBQ0U7QTNCbzdGTjs7QTBCejZGRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EscUJ0QmdyQmdDO0FKNHZFcEM7QTJCejlGSTtFQUNFO0VBQ0Esb0J2QitOd0I7RXVCOU54Qix1QnZCNk53QjtFdUI1TnhCO0VBbEJKO0VBQ0E7RUFDQTtFQUNBO0EzQjgrRkY7QTJCdjhGSTtFQUNFO0EzQnk4Rk47QTBCcDdGSTtFQUNFO0ExQnM3Rk47O0EwQmg3RkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHNCdEIrcEJnQztBSm94RXBDO0EyQmovRkk7RUFDRTtFQUNBLG9CdkIrTndCO0V1QjlOeEIsdUJ2QjZOd0I7RXVCNU54QjtBM0JtL0ZOO0EyQngrRk07RUFDRTtBM0IwK0ZSO0EyQnYrRk07RUFDRTtFQUNBLHFCdkI0TXNCO0V1QjNNdEIsdUJ2QjBNc0I7RXVCek10QjtFQTlCTjtFQUNBO0VBQ0E7QTNCd2dHRjtBMkJ2K0ZJO0VBQ0U7QTNCeStGTjtBMEJuOEZJO0VBQ0U7QTFCcThGTjs7QTBCNzdGRTtFQUlFO0VBQ0E7QTFCNjdGSjs7QTBCeDdGQTtFRTlHRTtFQUNBO0VBQ0E7RUFDQTtBNUIwaUdGOztBMEJ4N0ZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxnQnRCZ0s0QjtFc0IvSjVCLGN0QmhIUztFc0JpSFQ7RUFFQTtFQUNBO0VBQ0E7QTFCMDdGRjtBTS9pR0U7RW9Cb0lFLGN0Qm1uQmdDO0VzQmxuQmhDO0VKL0lBLHlCbEJHTztBSjJqR1g7QTBCMzZGRTtFQUVFLFd0QnBKTztFc0JxSlA7RUp0SkEseUJsQm9QMEI7QUorMEY5QjtBMEJ6NkZFO0VBRUUsY3RCdEpPO0VzQnVKUDtFQUNBO0ExQjA2Rko7O0EwQmw2RkE7RUFDRTtBMUJxNkZGOztBMEJqNkZBO0VBQ0U7RUFDQSxzQnRCZ21Ca0M7RXNCL2xCbEM7RXJCckRJLG1CQXRDYTtFcUI2RmpCLGN0QnpLUztFc0IwS1Q7QTFCbzZGRjs7QTBCaDZGQTtFQUNFO0VBQ0E7RUFDQSxjdEI5S1M7QUppbEdYOztBNkI5bEdBOztFQUVFO0VBQ0E7RUFDQTtBN0JpbUdGO0E2Qi9sR0U7O0VBQ0U7RUFDQTtBN0JrbUdKO0FNam1HRTs7RXVCSUk7QTdCaW1HTjtBNkIvbEdJOzs7O0VBR0U7QTdCa21HTjs7QTZCNWxHQTtFQUNFO0VBQ0E7RUFDQTtBN0IrbEdGO0E2QjdsR0U7RUFDRTtBN0IrbEdKOztBNkJ6bEdFOztFQUVFO0E3QjRsR0o7QTZCeGxHRTs7RWxCWEU7RUFDQTtBWHVtR0o7QTZCeGxHRTs7RWxCRkU7RUFDQTtBWDhsR0o7O0E2QjNrR0E7RUFDRTtFQUNBO0E3QjhrR0Y7QTZCNWtHRTtFQUdFO0E3QjRrR0o7QTZCemtHRTtFQUNFO0E3QjJrR0o7O0E2QnZrR0E7RUFDRTtFQUNBO0E3QjBrR0Y7O0E2QnZrR0E7RUFDRTtFQUNBO0E3QjBrR0Y7O0E2QnRqR0E7RUFDRTtFQUNBO0VBQ0E7QTdCeWpHRjtBNkJ2akdFOztFQUVFO0E3QnlqR0o7QTZCdGpHRTs7RUFFRTtBN0J3akdKO0E2QnBqR0U7O0VsQnJGRTtFQUNBO0FYNm9HSjtBNkJwakdFOztFbEJ4R0U7RUFDQTtBWGdxR0o7O0E2QnJpR0U7O0VBRUU7QTdCd2lHSjtBNkJ0aUdJOzs7O0VBRUU7RUFDQTtFQUNBO0E3QjBpR047O0E4Qm5zR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5QnNzR0Y7QThCcHNHRTs7OztFQUlFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlCc3NHSjtBOEJwc0dJOzs7Ozs7Ozs7Ozs7RUFHRTtBOUIrc0dOO0E4QjFzR0U7OztFQUdFO0E5QjRzR0o7QThCeHNHRTtFQUNFO0E5QjBzR0o7QThCcnNHSTs7RW5CSUE7RUFDQTtBWHFzR0o7QThCcnNHRTtFQUNFO0VBQ0E7QTlCdXNHSjtBOEJyc0dJO0VuQkxBO0VBQ0E7QVg2c0dKO0E4QnBzR0k7OztFbkJ4QkE7RUFDQTtBWGl1R0o7QThCbHNHSTs7O0VuQmhDQTtFQUNBO0FYdXVHSjs7QThCenJHQTs7RUFFRTtBOUI0ckdGO0E4QnZyR0U7O0VBQ0U7RUFDQTtBOUIwckdKO0E4QnhyR0k7O0VBQ0U7QTlCMnJHTjtBOEJ2ckdFOzs7Ozs7OztFQUlFO0E5QjZyR0o7O0E4QnpyR0E7RUFBdUI7QTlCNnJHdkI7O0E4QjVyR0E7RUFBc0I7QTlCZ3NHdEI7O0E4QnhyR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFekJTSSxlQXRDYTtFeUIrQmpCLGdCMUJ1SzRCO0UwQnRLNUIsZ0IxQjJLNEI7RTBCMUs1QixjMUI1R1M7RTBCNkdUO0VBQ0E7RUFDQSx5QjFCcEhTO0UwQnFIVDtFbkI1R0U7QVh3eUdKO0E4QnhyR0U7O0VBRUU7QTlCMHJHSjs7QThCaHJHQTs7RUFFRSxnQzFCcVdzQztBSjgwRnhDOztBOEJockdBOzs7Ozs7RUFNRTtFekIxQkksa0JBdENhO0V5QmtFakIsZ0IxQjhFNEI7RU92TjFCO0FYNnpHSjs7QThCaHJHQTs7RUFFRSxrQzFCbVZzQztBSmcyRnhDOztBOEJockdBOzs7Ozs7RUFNRTtFekIzQ0ksbUJBdENhO0V5Qm1GakIsZ0IxQjhENEI7RU94TjFCO0FYODBHSjs7QThCaHJHQTs7RUFFRTtBOUJtckdGOztBOEJ4cUdBOzs7Ozs7OztFbkIzSkk7RUFDQTtBWDgwR0o7O0E4QnpxR0E7Ozs7OztFbkJ4Skk7RUFDQTtBWDAwR0o7O0ErQmwzR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9CcTNHRjs7QStCbDNHQTtFQUNFO0VBQ0Esa0IzQndmc0M7QUo2M0Z4Qzs7QStCbDNHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLFczQm9mc0M7RTJCbmZ0QztFQUNBO0EvQnEzR0Y7QStCbjNHRTtFQUNFLFczQnpCTztFMkIwQlAscUIzQnlOMEI7RWtCcFAxQix5QmxCb1AwQjtBSjZwRzlCO0ErQmozR0U7RUFLSSxnRDNCK1Z3QjtBSmdoRzlCO0ErQjMyR0U7RUFDRSxxQjNCcWJvQztBSnc3RnhDO0ErQjEyR0U7RUFDRSxXM0I3Q087RTJCOENQLHlCM0JpZjRDO0UyQmhmNUMscUIzQmdmNEM7QUo0M0ZoRDtBK0JyMkdJO0VBQ0UsYzNCakRLO0FKdzVHWDtBK0JyMkdNO0VBQ0UseUIzQnhERztBSis1R1g7O0ErQjcxR0E7RUFDRTtFQUNBO0VBRUE7QS9CKzFHRjtBK0IzMUdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXM0J1Ym9DO0UyQnRicEMsWTNCc2JvQztFMkJyYnBDO0VBQ0E7RUFDQSxzQjNCckZPO0UyQnNGUDtBL0I2MUdKO0ErQngxR0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFczQndhb0M7RTJCdmFwQyxZM0J1YW9DO0UyQnRhcEM7RUFDQTtBL0IwMUdKOztBK0JoMUdFO0VwQmxHRTtBWHM3R0o7QStCLzBHSTtFQUNFO0EvQmkxR047QStCNTBHSTtFQUNFLHFCM0IwSHdCO0VrQnBQMUIseUJsQm9QMEI7QUpxdEc5QjtBK0IzMEdJO0VBQ0U7QS9CNjBHTjtBK0J4MEdJO0VUcElBLHdDbEJ3aEI0QztBSnU3RmhEO0ErQngwR0k7RVR2SUEsd0NsQndoQjRDO0FKMDdGaEQ7O0ErQmgwR0U7RUFFRSxrQjNCeVo0QztBSnk2RmhEO0ErQjl6R0k7RUFDRTtBL0JnMEdOO0ErQjN6R0k7RVQ5SkEsd0NsQndoQjRDO0FKbzhGaEQ7O0ErQm56R0E7RUFDRTtBL0JzekdGO0ErQm56R0k7RUFDRTtFQUNBLGMzQmlZMEM7RTJCaFkxQztFQUVBLHFCM0IrWDBDO0FKcTdGaEQ7QStCanpHSTtFQUNFO0VBQ0E7RUFDQSx1QjNCMFgwQztFMkJ6WDFDLHdCM0J5WDBDO0UyQnhYMUMseUIzQnBMSztFMkJzTEwscUIzQnFYMEM7RWdCdmlCMUMseUlXbUxBO0EvQmt6R047QW9CaitHTTtFV3VLRjtJWHRLSTtFcEJvK0dOO0FBQ0Y7QStCbHpHSTtFQUNFLHNCM0JsTUs7RTJCbU1MO0EvQm96R047QStCL3lHSTtFVHpNQSx3Q2xCd2hCNEM7QUptK0ZoRDs7QStCcnlHQTtFQUNFO0VBQ0E7RUFDQSxtQzNCb1JzQztFMkJuUnRDO0UxQmpHSSxlQXRDYTtFMEIwSWpCLGdCM0I0RDRCO0UyQjNENUIsZ0IzQmdFNEI7RTJCL0Q1QixjM0J2TlM7RTJCd05UO0VBQ0E7RUFDQTtFcEJ0TkU7RW9CeU5GO0EvQnN5R0Y7QStCcHlHRTtFQUNFLHFCM0J1UG9DO0UyQnRQcEM7RUFLRSxnRDNCa1c4QjtBSmc4RnBDO0ErQi94R0k7RUFNRSxjM0IvT0s7RTJCZ1BMLHNCM0J2UEs7QUptaEhYO0ErQnh4R0U7RUFFRTtFQUNBLHNCM0I4SDBCO0UyQjdIMUI7QS9CeXhHSjtBK0J0eEdFO0VBQ0UsYzNCN1BPO0UyQjhQUCx5QjNCbFFPO0FKMGhIWDtBK0JweEdFO0VBQ0U7QS9Cc3hHSjtBK0JseEdFO0VBQ0U7RUFDQTtBL0JveEdKOztBK0JoeEdBO0VBQ0Usa0MzQnlOc0M7RTJCeE50QyxvQjNCZ0g0QjtFMkIvRzVCLHVCM0IrRzRCO0UyQjlHNUIsb0IzQitHNEI7RUM5UXhCLG1CQXRDYTtBTHk5R25COztBK0JoeEdBO0VBQ0UsZ0MzQmtOc0M7RTJCak50QyxtQjNCNkc0QjtFMkI1RzVCLHNCM0I0RzRCO0UyQjNHNUIsa0IzQjRHNEI7RUNuUnhCLGtCQXRDYTtBTGkrR25COztBK0Izd0dBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsbUMzQmdNc0M7RTJCL0x0QztBL0I4d0dGOztBK0Izd0dBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsbUMzQndMc0M7RTJCdkx0QztFQUNBO0VBQ0E7QS9COHdHRjtBK0I1d0dFO0VBQ0UscUIzQm9Lb0M7RTJCbktwQyxnRDNCd0UwQjtBSnNzRzlCO0ErQjF3R0U7RUFFRSx5QjNCL1RPO0FKMGtIWDtBK0J2d0dJO0VBQ0UsaUIzQjBUYTtBSis4Rm5CO0ErQnJ3R0U7RUFDRTtBL0J1d0dKOztBK0Jud0dBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1DM0J1SnNDO0UyQnRKdEM7RUFDQTtFQUVBLGdCM0JqRTRCO0UyQmtFNUIsZ0IzQjdENEI7RTJCOEQ1QixjM0JwVlM7RTJCcVZULHNCM0I1VlM7RTJCNlZUO0VwQmxWRTtBWHdsSEo7QStCbHdHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZCM0JnSW9DO0UyQi9IcEM7RUFDQSxnQjNCN0UwQjtFMkI4RTFCLGMzQnBXTztFMkJxV1A7RVQ3V0EseUJsQkdPO0UyQjRXUDtFcEJuV0E7QVh3bUhKOztBK0IxdkdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0I2dkdGO0ErQjN2R0U7RUFDRTtBL0I2dkdKO0ErQnp2R0k7RUFBMEIsZ0UzQm1PZTtBSnloRzdDO0ErQjN2R0k7RUFBMEIsZ0UzQmtPZTtBSjRoRzdDO0ErQjd2R0k7RUFBMEIsZ0UzQmlPZTtBSitoRzdDO0ErQjd2R0U7RUFDRTtBL0IrdkdKO0ErQjV2R0U7RUFDRSxXM0JtTnlDO0UyQmxOekMsWTNCa055QztFMkJqTnpDO0VUbFpBLHlCbEJvUDBCO0UyQmdLMUIsUzNCa055QztFTzFsQnpDO0VTRkUsNEdXNllGO0VBQ0E7QS9CNnZHSjtBb0J2b0hNO0VXaVlKO0lYaFlNO0VwQjBvSE47QUFDRjtBK0Jod0dJO0VUMVpBLHlCbEIybUJ5QztBSmtqRzdDO0ErQjl2R0U7RUFDRSxXM0I0TGdDO0UyQjNMaEMsYzNCNExnQztFMkIzTGhDO0VBQ0EsZTNCMkxnQztFMkIxTGhDLHlCM0JoYU87RTJCaWFQO0VwQnpaQTtBWDBwSEo7QStCNXZHRTtFQUNFLFczQndMeUM7RTJCdkx6QyxZM0J1THlDO0VrQm5tQnpDLHlCbEJvUDBCO0UyQjBMMUIsUzNCd0x5QztFTzFsQnpDO0VTRkUsNEdXdWFGO0VBQ0E7QS9CNnZHSjtBb0JqcUhNO0VXNFpKO0lYM1pNO0VwQm9xSE47QUFDRjtBK0Jod0dJO0VUcGJBLHlCbEIybUJ5QztBSjRrRzdDO0ErQjl2R0U7RUFDRSxXM0JrS2dDO0UyQmpLaEMsYzNCa0tnQztFMkJqS2hDO0VBQ0EsZTNCaUtnQztFMkJoS2hDLHlCM0IxYk87RTJCMmJQO0VwQm5iQTtBWG9ySEo7QStCNXZHRTtFQUNFLFczQjhKeUM7RTJCN0p6QyxZM0I2SnlDO0UyQjVKekM7RUFDQSxvQjNCdEUwQjtFMkJ1RTFCLG1CM0J2RTBCO0VrQmxZMUIseUJsQm9QMEI7RTJCdU4xQixTM0IySnlDO0VPMWxCekM7RVNGRSw0R1dvY0Y7RUFDQTtBL0I2dkdKO0FvQjlySE07RVdzYko7SVhyYk07RXBCaXNITjtBQUNGO0ErQmh3R0k7RVRqZEEseUJsQjJtQnlDO0FKeW1HN0M7QStCOXZHRTtFQUNFLFczQnFJZ0M7RTJCcEloQyxjM0JxSWdDO0UyQnBJaEM7RUFDQSxlM0JvSWdDO0UyQm5JaEM7RUFDQTtFQUNBO0EvQmd3R0o7QStCNXZHRTtFQUNFLHlCM0I5ZE87RU9RUDtBWHF0SEo7QStCM3ZHRTtFQUNFO0VBQ0EseUIzQnBlTztFT1FQO0FYMHRISjtBK0J6dkdJO0VBQ0UseUIzQnhlSztBSm11SFg7QStCeHZHSTtFQUNFO0EvQjB2R047QStCdnZHSTtFQUNFLHlCM0JoZks7QUp5dUhYO0ErQnR2R0k7RUFDRTtBL0J3dkdOO0ErQnJ2R0k7RUFDRSx5QjNCeGZLO0FKK3VIWDs7QStCbHZHQTs7O0VYemZNLDRHVzRmSjtBL0JxdkdGO0FvQjd1SE07RVdxZk47OztJWHBmUTtFcEJrdkhOO0FBQ0Y7O0FnQ253SEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQ3N3SEY7O0FnQ253SEE7RUFDRTtFQUNBO0FoQ3N3SEY7QU1yd0hFO0UwQkdFO0FoQ3F3SEo7QWdDandIRTtFQUNFLGM1QlhPO0U0QllQO0VBQ0E7QWhDbXdISjs7QWdDM3ZIQTtFQUNFO0FoQzh2SEY7QWdDNXZIRTtFQUNFO0VBQ0E7RXJCWkE7RUFDQTtBWDJ3SEo7QU12eEhFO0UwQjJCSSxxQzVCbXBCOEI7QUo0bUdwQztBZ0M1dkhJO0VBQ0UsYzVCbENLO0U0Qm1DTDtFQUNBO0FoQzh2SE47QWdDMXZIRTs7RUFFRSxjNUJ6Q087RTRCMENQLHNCNUJqRE87RTRCa0RQLGtDNUJ3b0JnQztBSm9uR3BDO0FnQ3p2SEU7RUFFRTtFckJuQ0E7RUFDQTtBWDh4SEo7O0FnQ2h2SEU7RXJCeERFO0FYNHlISjtBZ0NodkhFOztFQUVFLFc1QnpFTztFNEIwRVAseUI1QnlLMEI7QUp5a0g5Qjs7QWdDeHVIRTs7RUFFRTtFQUNBO0FoQzJ1SEo7O0FnQ3R1SEU7O0VBRUU7RUFDQTtFQUNBO0FoQ3l1SEo7O0FnQy90SEU7RUFDRTtBaENrdUhKO0FnQ2h1SEU7RUFDRTtBaENrdUhKOztBaUN0MEhBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ3kwSEY7QWlDcjBIRTs7Ozs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpDNDBISjtBaUN4ekhBO0VBQ0U7RUFDQSxzQjdCaXFCa0M7RTZCaHFCbEMseUI3QmdxQmtDO0U2Qi9wQmxDLGtCN0JnRk87RUNSSCxrQkF0Q2E7RTRCaENqQjtFQUNBO0FqQzB6SEY7QU1wMkhFO0UyQjZDRTtBakMwekhKOztBaUNqekhBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakNvekhGO0FpQ2x6SEU7RUFDRTtFQUNBO0FqQ296SEo7QWlDanpIRTtFQUNFO0VBQ0E7QWpDbXpISjs7QWlDMXlIQTtFQUNFO0VBQ0EsbUI3QndsQmtDO0U2QnZsQmxDLHNCN0J1bEJrQztBSnN0R3BDOztBaUNqeUhBO0VBQ0U7RUFDQTtFQUdBO0FqQ2t5SEY7O0FpQzl4SEE7RUFDRTtFNUJTSSxrQkF0Q2E7RTRCK0JqQjtFQUNBO0VBQ0E7RXRCeEdFO0FYMDRISjtBTTU0SEU7RTJCOEdFO0FqQ2l5SEo7O0FpQzN4SEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDOHhIRjs7QWlDM3hIQTtFQUNFLGdCN0Ira0JrQztFNkI5a0JsQztBakM4eEhGOztBZXAySEk7RWtCa0ZJOzs7Ozs7SUFDRTtJQUNBO0VqQzJ4SFI7QUFDRjtBZTczSEk7RWtCNkZBO0lBb0JJO0lBQ0E7RWpDZ3hITjtFaUM5d0hNO0lBQ0U7RWpDZ3hIUjtFaUM5d0hRO0lBQ0U7RWpDZ3hIVjtFaUM3d0hRO0lBQ0UscUI3QndoQndCO0k2QnZoQnhCLG9CN0J1aEJ3QjtFSnd2R2xDO0VpQzF3SE07Ozs7OztJQUNFO0VqQ2l4SFI7RWlDbndITTtJQUNFO0VqQ3F3SFI7RWlDbHdITTtJQUNFO0lBR0E7RWpDa3dIUjtFaUMvdkhNO0lBQ0U7RWpDaXdIUjtBQUNGO0FlbDVISTtFa0JrRkk7Ozs7OztJQUNFO0lBQ0E7RWpDdzBIUjtBQUNGO0FlMTZISTtFa0I2RkE7SUFvQkk7SUFDQTtFakM2ekhOO0VpQzN6SE07SUFDRTtFakM2ekhSO0VpQzN6SFE7SUFDRTtFakM2ekhWO0VpQzF6SFE7SUFDRSxxQjdCd2hCd0I7STZCdmhCeEIsb0I3QnVoQndCO0VKcXlHbEM7RWlDdnpITTs7Ozs7O0lBQ0U7RWpDOHpIUjtFaUNoekhNO0lBQ0U7RWpDa3pIUjtFaUMveUhNO0lBQ0U7SUFHQTtFakMreUhSO0VpQzV5SE07SUFDRTtFakM4eUhSO0FBQ0Y7QWUvN0hJO0VrQmtGSTs7Ozs7O0lBQ0U7SUFDQTtFakNxM0hSO0FBQ0Y7QWV2OUhJO0VrQjZGQTtJQW9CSTtJQUNBO0VqQzAySE47RWlDeDJITTtJQUNFO0VqQzAySFI7RWlDeDJIUTtJQUNFO0VqQzAySFY7RWlDdjJIUTtJQUNFLHFCN0J3aEJ3QjtJNkJ2aEJ4QixvQjdCdWhCd0I7RUprMUdsQztFaUNwMkhNOzs7Ozs7SUFDRTtFakMyMkhSO0VpQzcxSE07SUFDRTtFakMrMUhSO0VpQzUxSE07SUFDRTtJQUdBO0VqQzQxSFI7RWlDejFITTtJQUNFO0VqQzIxSFI7QUFDRjtBZTUrSEk7RWtCa0ZJOzs7Ozs7SUFDRTtJQUNBO0VqQ2s2SFI7QUFDRjtBZXBnSUk7RWtCNkZBO0lBb0JJO0lBQ0E7RWpDdTVITjtFaUNyNUhNO0lBQ0U7RWpDdTVIUjtFaUNyNUhRO0lBQ0U7RWpDdTVIVjtFaUNwNUhRO0lBQ0UscUI3QndoQndCO0k2QnZoQnhCLG9CN0J1aEJ3QjtFSiszR2xDO0VpQ2o1SE07Ozs7OztJQUNFO0VqQ3c1SFI7RWlDMTRITTtJQUNFO0VqQzQ0SFI7RWlDejRITTtJQUNFO0lBR0E7RWpDeTRIUjtFaUN0NEhNO0lBQ0U7RWpDdzRIUjtBQUNGO0FpQ3o4SEk7RUFvQkk7RUFDQTtBakN3N0hSO0FpQzM4SFE7Ozs7OztFQUNFO0VBQ0E7QWpDazlIVjtBaUMvN0hRO0VBQ0U7QWpDaThIVjtBaUMvN0hVO0VBQ0U7QWpDaThIWjtBaUM5N0hVO0VBQ0UscUI3QndoQndCO0U2QnZoQnhCLG9CN0J1aEJ3QjtBSnk2R3BDO0FpQzM3SFE7Ozs7OztFQUNFO0FqQ2s4SFY7QWlDcDdIUTtFQUNFO0FqQ3M3SFY7QWlDbjdIUTtFQUNFO0VBR0E7QWpDbTdIVjtBaUNoN0hRO0VBQ0U7QWpDazdIVjs7QWlDcDZIRTtFQUNFLHlCN0JnZ0JnQztBSnU2R3BDO0FNL25JRTtFMkIyTkkseUI3QjZmOEI7QUowNkdwQztBaUNsNkhJO0VBQ0UseUI3QnFmOEI7QUorNkdwQztBTXJvSUU7RTJCb09NLHlCN0JtZjRCO0FKaTdHcEM7QWlDajZITTtFQUNFLHlCN0JpZjRCO0FKazdHcEM7QWlDLzVISTs7OztFQUlFLHlCN0J3ZThCO0FKeTdHcEM7QWlDNzVIRTtFQUNFLHlCN0JpZWdDO0U2QmhlaEMsZ0M3QnFlZ0M7QUowN0dwQztBaUM1NUhFO0VBQ0U7QWpDODVISjtBaUMzNUhFO0VBQ0UseUI3QndkZ0M7QUpxOEdwQztBaUM1NUhJO0VBQ0UseUI3QndkOEI7QUpzOEdwQztBTTlwSUU7RTJCbVFNLHlCN0JxZDRCO0FKeThHcEM7O0FpQ3Q1SEU7RUFDRSxXN0JyUk87QUo4cUlYO0FNcnFJRTtFMkIrUUksVzdCeFJLO0FKaXJJWDtBaUNwNUhJO0VBQ0UsK0I3QjBiOEI7QUo0OUdwQztBTTNxSUU7RTJCd1JNLGdDN0J3YjRCO0FKODlHcEM7QWlDbjVITTtFQUNFLGdDN0JzYjRCO0FKKzlHcEM7QWlDajVISTs7OztFQUlFLFc3QjdTSztBSmdzSVg7QWlDLzRIRTtFQUNFLCtCN0JzYWdDO0U2QnJhaEMsc0M3QjBhZ0M7QUp1K0dwQztBaUM5NEhFO0VBQ0U7QWpDZzVISjtBaUM3NEhFO0VBQ0UsK0I3QjZaZ0M7QUprL0dwQztBaUM5NEhJO0VBQ0UsVzdCN1RLO0FKNnNJWDtBTXBzSUU7RTJCdVRNLFc3QmhVRztBSmd0SVg7O0FrQ250SUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0Esc0I5QkpTO0U4QktUO0VBQ0E7RXZCS0U7QVhpdElKO0FrQ250SUU7RUFDRTtFQUNBO0FsQ3F0SUo7QWtDbHRJRTtFQUNFO0VBQ0E7QWxDb3RJSjtBa0NsdElJO0VBQ0U7RXZCQ0Y7RUFDQTtBWG90SUo7QWtDbHRJSTtFQUNFO0V2QlVGO0VBQ0E7QVgyc0lKO0FrQy9zSUU7O0VBRUU7QWxDaXRJSjs7QWtDN3NJQTtFQUdFO0VBR0E7RUFDQSxnQjlCOHdCa0M7QUo4N0dwQzs7QWtDeHNJQTtFQUNFLHNCOUJ3d0JrQztBSm04R3BDOztBa0N4c0lBO0VBQ0U7RUFDQTtBbEMyc0lGOztBa0N4c0lBO0VBQ0U7QWxDMnNJRjs7QU1od0lFO0U0QjBERTtBbEMwc0lKO0FrQ3ZzSUU7RUFDRSxvQjlCdXZCZ0M7QUprOUdwQzs7QWtDanNJQTtFQUNFO0VBQ0E7RUFFQSxxQzlCZ3ZCa0M7RThCL3VCbEM7QWxDbXNJRjtBa0Nqc0lFO0V2QnZFRTtBWDJ3SUo7O0FrQy9ySUE7RUFDRTtFQUVBLHFDOUJxdUJrQztFOEJwdUJsQztBbENpc0lGO0FrQy9ySUU7RXZCbEZFO0FYb3hJSjs7QWtDeHJJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FsQzJySUY7O0FrQ3hySUE7RUFDRTtFQUNBO0FsQzJySUY7O0FrQ3ZySUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0I5QjJzQmtDO0VPMXpCaEM7QVgweUlKOztBa0N2cklBOzs7RUFHRTtFQUNBO0FsQzBySUY7O0FrQ3ZySUE7O0V2QmpISTtFQUNBO0FYNnlJSjs7QWtDeHJJQTs7RXZCeEdJO0VBQ0E7QVhxeUlKOztBa0NycklFO0VBQ0UsbUI5Qm1yQmdDO0FKcWdIcEM7QWV2eElJO0VtQjZGSjtJQU1JO0lBQ0E7SUFDQTtJQUNBO0VsQ3dySUY7RWtDdHJJRTtJQUVFO0lBQ0Esa0I5QnVxQjhCO0k4QnRxQjlCO0lBQ0EsaUI5QnFxQjhCO0VKa2hIbEM7QUFDRjs7QWtDM3FJRTtFQUNFLG1COUJ1cEJnQztBSnVoSHBDO0FlenlJSTtFbUJ1SEo7SUFRSTtJQUNBO0VsQzhxSUY7RWtDM3FJRTtJQUVFO0lBQ0E7RWxDNHFJSjtFa0MxcUlJO0lBQ0U7SUFDQTtFbEM0cUlOO0VrQ3ZxSU07SXZCektKO0lBQ0E7RVhtMUlGO0VrQ3hxSVE7O0lBR0U7RWxDeXFJVjtFa0N2cUlROztJQUdFO0VsQ3dxSVY7RWtDcHFJTTtJdkIxS0o7SUFDQTtFWGkxSUY7RWtDcnFJUTs7SUFHRTtFbENzcUlWO0VrQ3BxSVE7O0lBR0U7RWxDcXFJVjtBQUNGOztBa0N4cElFO0VBQ0Usc0I5QjRrQmdDO0FKK2tIcEM7QWVuMUlJO0VtQnNMSjtJQU1JLGU5QnlsQmdDO0k4QnhsQmhDLG1COUJ5bEJnQztJOEJ4bEJoQztJQUNBO0VsQzJwSUY7RWtDenBJRTtJQUNFO0lBQ0E7RWxDMnBJSjtBQUNGOztBa0NscElBO0VBQ0U7QWxDcXBJRjtBa0NucElFO0VBQ0U7QWxDcXBJSjtBa0NucElJO0VBQ0U7RXZCdk9GO0VBQ0E7QVg2M0lKO0FrQ25wSUk7RXZCelBBO0VBQ0E7QVgrNElKO0FrQ25wSUk7RXZCdFFBO0V1QndRRTtBbENxcElOOztBbUMvNklBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsbUIvQm1pQ2tDO0UrQmppQ2xDO0VBQ0EseUIvQkVTO0VPU1A7QVh1NklKOztBbUM1NklFO0VBQ0Usb0IvQnVoQ2dDO0FKdzVHcEM7QW1DNzZJSTtFQUNFO0VBQ0EscUIvQm1oQzhCO0UrQmxoQzlCLGMvQk5LO0UrQk9MO0FuQys2SU47QW1DcjZJRTtFQUNFO0FuQ3U2SUo7QW1DcDZJRTtFQUNFO0FuQ3M2SUo7QW1DbjZJRTtFQUNFLGMvQjFCTztBSis3SVg7O0FvQzU4SUE7RUFDRTtFNUJHQTtFQUNBO0VHYUU7QVhpOElKOztBb0M3OElBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxpQmhDbXhCa0M7RWdDbHhCbEMsY2hDbUt3QztFZ0NqS3hDLHNCaENQUztFZ0NRVDtBcEMrOElGO0FvQzc4SUU7RUFDRTtFQUNBLGNoQzhKc0M7RWdDN0p0QztFQUNBLHlCaENaTztFZ0NhUCxxQmhDWk87QUoyOUlYO0FvQzU4SUU7RUFDRTtFQUNBLFVoQzJ3QmdDO0VnQzF3QmhDLGdEaEM4VzBCO0FKZ21JOUI7O0FvQ3g4SUk7RUFDRTtFekJhRjtFQUNBO0FYKzdJSjtBb0N4OElJO0V6Qk5BO0VBQ0E7QVhpOUlKO0FvQ3Y4SUU7RUFDRTtFQUNBLFdoQ3hDTztFZ0N5Q1AseUJoQzBNMEI7RWdDek0xQixxQmhDeU0wQjtBSmd3STlCO0FvQ3Q4SUU7RUFDRSxjaEN4Q087RWdDeUNQO0VBRUE7RUFDQSxzQmhDbERPO0VnQ21EUCxxQmhDaERPO0FKdS9JWDs7QXFDOS9JRTtFQUNFO0VoQzJIRSxrQkF0Q2E7RWdDbkZmLGdCakNtTzBCO0FKOHhJOUI7QXFDNS9JTTtFMUJxQ0Y7RUFDQTtBWDA5SUo7QXFDMy9JTTtFMUJrQkY7RUFDQTtBWDQrSUo7O0FxQzVnSkU7RUFDRTtFaEMySEUsbUJBdENhO0VnQ25GZixnQmpDb08wQjtBSjJ5STlCO0FxQzFnSk07RTFCcUNGO0VBQ0E7QVh3K0lKO0FxQ3pnSk07RTFCa0JGO0VBQ0E7QVgwL0lKOztBc0N4aEpBO0VBQ0U7RUFDQTtFakNpRUU7RWlDL0RGLGdCbEN1UjRCO0VrQ3RSNUI7RUFDQTtFQUNBO0VBQ0E7RTNCS0U7RVNGRSxxSWtCREo7QXRDMmhKRjtBb0J0aEpNO0VrQmZOO0lsQmdCUTtFcEJ5aEpOO0FBQ0Y7QU0vaEpFO0VnQ0dJO0F0QytoSk47O0FzQzFoSkU7RUFDRTtBdEM2aEpKOztBc0N4aEpBO0VBQ0U7RUFDQTtBdEMyaEpGOztBc0NwaEpBO0VBQ0Usb0JsQyszQmtDO0VrQzkzQmxDLG1CbEM4M0JrQztFT3I1QmhDO0FYK2lKSjs7QXNDL2dKRTtFQ2pEQTtFQUNBLHlCbkMwRWE7QUowL0lmO0FNdGpKRTtFaUNWSTtFQUNBO0F2Q21rSk47QXVDaGtKSTtFQUVFO0VBQ0E7QXZDaWtKTjs7QXNDNWhKRTtFQ2pEQTtFQUNBLHlCbkMwRWE7QUp1Z0pmO0FNbmtKRTtFaUNWSTtFQUNBO0F2Q2dsSk47QXVDN2tKSTtFQUVFO0VBQ0E7QXZDOGtKTjs7QXNDemlKRTtFQ2pEQTtFQUNBLHlCbkMwRWE7QUpvaEpmO0FNaGxKRTtFaUNWSTtFQUNBO0F2QzZsSk47QXVDMWxKSTtFQUVFO0VBQ0E7QXZDMmxKTjs7QXNDdGpKRTtFQ2pEQTtFQUNBLHlCbkMwRWE7QUppaUpmO0FNN2xKRTtFaUNWSTtFQUNBO0F2QzBtSk47QXVDdm1KSTtFQUVFO0VBQ0E7QXZDd21KTjs7QXNDbmtKRTtFQ2pEQTtFQUNBLHlCbkMwRWE7QUo4aUpmO0FNMW1KRTtFaUNWSTtFQUNBO0F2Q3VuSk47QXVDcG5KSTtFQUVFO0VBQ0E7QXZDcW5KTjs7QXNDaGxKRTtFQ2pEQTtFQUNBLHlCbkMwRWE7QUoyakpmO0FNdm5KRTtFaUNWSTtFQUNBO0F2Q29vSk47QXVDam9KSTtFQUVFO0VBQ0E7QXZDa29KTjs7QXNDN2xKRTtFQ2pEQTtFQUNBLHlCbkMwRWE7QUp3a0pmO0FNcG9KRTtFaUNWSTtFQUNBO0F2Q2lwSk47QXVDOW9KSTtFQUVFO0VBQ0E7QXZDK29KTjs7QXNDMW1KRTtFQ2pEQTtFQUNBLHlCbkMwRWE7QUpxbEpmO0FNanBKRTtFaUNWSTtFQUNBO0F2QzhwSk47QXVDM3BKSTtFQUVFO0VBQ0E7QXZDNHBKTjs7QXdDenFKQTtFQUNFO0VBQ0EsbUJwQ3V6QmtDO0VvQ3J6QmxDLHlCcENLUztFT1NQO0FYOHBKSjtBZXBuSkk7RXlCNURKO0lBUUk7RXhDNHFKRjtBQUNGOztBd0N6cUpBO0VBQ0U7RUFDQTtFN0JJRTtBWHlxSko7O0F5Q3ZySkE7RUFDRTtFQUNBO0VBQ0EsbUJyQ3U5QmtDO0VxQ3Q5QmxDO0U5QlVFO0FYaXJKSjs7QXlDdHJKQTtFQUVFO0F6Q3dySkY7O0F5Q3BySkE7RUFDRSxnQnJDNFE0QjtBSjI2STlCOztBeUMvcUpBO0VBQ0U7QXpDa3JKRjtBeUMvcUpFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6Q2lySko7O0F5Q3ZxSkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QXpDNHFKdkU7QTBDeHRKRTtFQUNFO0ExQzB0Sko7QTBDdnRKRTtFQUNFO0ExQ3l0Sko7O0F5Q25ySkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QXpDd3JKdkU7QTBDcHVKRTtFQUNFO0ExQ3N1Sko7QTBDbnVKRTtFQUNFO0ExQ3F1Sko7O0F5Qy9ySkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QXpDb3NKdkU7QTBDaHZKRTtFQUNFO0ExQ2t2Sko7QTBDL3VKRTtFQUNFO0ExQ2l2Sko7O0F5QzNzSkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QXpDZ3RKdkU7QTBDNXZKRTtFQUNFO0ExQzh2Sko7QTBDM3ZKRTtFQUNFO0ExQzZ2Sko7O0F5Q3Z0SkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QXpDNHRKdkU7QTBDeHdKRTtFQUNFO0ExQzB3Sko7QTBDdndKRTtFQUNFO0ExQ3l3Sko7O0F5Q251SkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QXpDd3VKdkU7QTBDcHhKRTtFQUNFO0ExQ3N4Sko7QTBDbnhKRTtFQUNFO0ExQ3F4Sko7O0F5Qy91SkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QXpDb3ZKdkU7QTBDaHlKRTtFQUNFO0ExQ2t5Sko7QTBDL3hKRTtFQUNFO0ExQ2l5Sko7O0F5QzN2SkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QXpDZ3dKdkU7QTBDNXlKRTtFQUNFO0ExQzh5Sko7QTBDM3lKRTtFQUNFO0ExQzZ5Sko7O0EyQ3J6SkU7RUFDRTtJQUFPO0UzQ3l6SlQ7RTJDeHpKRTtJQUFLO0UzQzJ6SlA7QUFDRjtBMkN4ekpBO0VBQ0U7RUFDQSxZdkNnK0JrQztFdUMvOUJsQztFQUNBO0V0Q21ISSxrQkF0Q2E7RXNDM0VqQix5QnZDTFM7RU9TUDtBWHV6Sko7O0EyQ3R6SkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFd2Q2pCUztFdUNrQlQ7RUFDQTtFQUNBLHlCdkNxOUJrQztFZ0JoK0I5QiwyQnVCWUo7QTNDeXpKRjtBb0JqMEpNO0V1QkROO0l2QkVRO0VwQm8wSk47QUFDRjs7QTJDM3pKQTtFckJZRTtFcUJWQTtBM0M4ekpGOztBMkMxekpFO0VBQ0U7QTNDNnpKSjtBMkMxekpNO0VBSko7SUFLTTtFM0M2ekpOO0FBQ0Y7O0E0Q3gySkE7RUFDRTtFQUNBO0E1QzIySkY7O0E0Q3gySkE7RUFDRTtBNUMyMkpGOztBNkM3MkpBO0VBQ0U7RUFDQTtFQUdBO0VBQ0E7RWxDUUU7QVh1MkpKOztBNkNyMkpBO0VBQ0U7RUFDQSxjekNSUztFeUNTVDtBN0N3MkpGO0FNLzJKRTtFdUNXRTtFQUNBLGN6Q2RPO0V5Q2VQO0VBQ0EseUJ6Q3RCTztBSjYzSlg7QTZDcDJKRTtFQUNFLGN6Q2xCTztFeUNtQlAseUJ6QzFCTztBSmc0Slg7O0E2QzcxSkE7RUFDRTtFQUNBO0VBQ0E7RUFHQSxzQnpDM0NTO0V5QzRDVDtBN0M4MUpGO0E2QzUxSkU7RWxDMUJFO0VBQ0E7QVh5M0pKO0E2QzUxSkU7RWxDaEJFO0VBQ0E7QVgrMkpKO0E2QzUxSkU7RUFFRSxjekNsRE87RXlDbURQO0VBQ0Esc0J6QzFETztBSnU1Slg7QTZDejFKRTtFQUNFO0VBQ0EsV3pDaEVPO0V5Q2lFUCx5QnpDa0wwQjtFeUNqTDFCLHFCekNpTDBCO0FKMHFKOUI7QTZDeDFKRTtFQUNFO0E3QzAxSko7QTZDeDFKSTtFQUNFO0VBQ0EscUJ6QzJKd0I7QUorcko5Qjs7QTZDNTBKSTtFQUNFO0E3QyswSk47QTZDNTBKUTtFbEMxQko7RUFaQTtBWHMzSko7QTZDMzBKUTtFbEMzQ0o7RUFZQTtBWDgySko7QTZDMTBKUTtFQUNFO0E3QzQwSlY7QTZDejBKUTtFQUNFLHFCekMwSG9CO0V5Q3pIcEI7QTdDMjBKVjtBNkN6MEpVO0VBQ0U7RUFDQSxzQnpDcUhrQjtBSnN0SjlCOztBZXQ0Skk7RThCbUNBO0lBQ0U7RTdDdTJKSjtFNkNwMkpNO0lsQzFCSjtJQVpBO0VYODRKRjtFNkNuMkpNO0lsQzNDSjtJQVlBO0VYczRKRjtFNkNsMkpNO0lBQ0U7RTdDbzJKUjtFNkNqMkpNO0lBQ0UscUJ6QzBIb0I7SXlDekhwQjtFN0NtMkpSO0U2Q2oySlE7SUFDRTtJQUNBLHNCekNxSGtCO0VKOHVKNUI7QUFDRjtBZS81Skk7RThCbUNBO0lBQ0U7RTdDKzNKSjtFNkM1M0pNO0lsQzFCSjtJQVpBO0VYczZKRjtFNkMzM0pNO0lsQzNDSjtJQVlBO0VYODVKRjtFNkMxM0pNO0lBQ0U7RTdDNDNKUjtFNkN6M0pNO0lBQ0UscUJ6QzBIb0I7SXlDekhwQjtFN0MyM0pSO0U2Q3ozSlE7SUFDRTtJQUNBLHNCekNxSGtCO0VKc3dKNUI7QUFDRjtBZXY3Skk7RThCbUNBO0lBQ0U7RTdDdTVKSjtFNkNwNUpNO0lsQzFCSjtJQVpBO0VYODdKRjtFNkNuNUpNO0lsQzNDSjtJQVlBO0VYczdKRjtFNkNsNUpNO0lBQ0U7RTdDbzVKUjtFNkNqNUpNO0lBQ0UscUJ6QzBIb0I7SXlDekhwQjtFN0NtNUpSO0U2Q2o1SlE7SUFDRTtJQUNBLHNCekNxSGtCO0VKOHhKNUI7QUFDRjtBZS84Skk7RThCbUNBO0lBQ0U7RTdDKzZKSjtFNkM1NkpNO0lsQzFCSjtJQVpBO0VYczlKRjtFNkMzNkpNO0lsQzNDSjtJQVlBO0VYODhKRjtFNkMxNkpNO0lBQ0U7RTdDNDZKUjtFNkN6NkpNO0lBQ0UscUJ6QzBIb0I7SXlDekhwQjtFN0MyNkpSO0U2Q3o2SlE7SUFDRTtJQUNBLHNCekNxSGtCO0VKc3pKNUI7QUFDRjtBNkM5NUpBO0VsQ25ISTtBWG9oS0o7QTZDOTVKRTtFQUNFO0E3Q2c2Sko7QTZDOTVKSTtFQUNFO0E3Q2c2Sk47O0E4Q3ppS0U7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QTdDeTVKM0M7QU1qaUtFO0V3Q1BNLGNEK0lrRTtFQzlJbEU7QTlDMmlLUjtBOEN4aUtNO0VBQ0UsVzFDUEc7RTBDUUgseUJEeUlrRTtFQ3hJbEUscUJEd0lrRTtBN0NrNkoxRTs7QThDdmpLRTtFQUNFLGNEb0pzRTtFQ25KdEUseUJEbUp1QztBN0N1NkozQztBTS9pS0U7RXdDUE0sY0QrSWtFO0VDOUlsRTtBOUN5aktSO0E4Q3RqS007RUFDRSxXMUNQRztFMENRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0E3Q2c3SjFFOztBOENya0tFO0VBQ0UsY0RvSnNFO0VDbkp0RSx5QkRtSnVDO0E3Q3E3SjNDO0FNN2pLRTtFd0NQTSxjRCtJa0U7RUM5SWxFO0E5Q3VrS1I7QThDcGtLTTtFQUNFLFcxQ1BHO0UwQ1FILHlCRHlJa0U7RUN4SWxFLHFCRHdJa0U7QTdDODdKMUU7O0E4Q25sS0U7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QTdDbThKM0M7QU0za0tFO0V3Q1BNLGNEK0lrRTtFQzlJbEU7QTlDcWxLUjtBOENsbEtNO0VBQ0UsVzFDUEc7RTBDUUgseUJEeUlrRTtFQ3hJbEUscUJEd0lrRTtBN0M0OEoxRTs7QThDam1LRTtFQUNFLGNEb0pzRTtFQ25KdEUseUJEbUp1QztBN0NpOUozQztBTXpsS0U7RXdDUE0sY0QrSWtFO0VDOUlsRTtBOUNtbUtSO0E4Q2htS007RUFDRSxXMUNQRztFMENRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0E3QzA5SjFFOztBOEMvbUtFO0VBQ0UsY0RvSnNFO0VDbkp0RSx5QkRtSnVDO0E3Qys5SjNDO0FNdm1LRTtFd0NQTSxjRCtJa0U7RUM5SWxFO0E5Q2luS1I7QThDOW1LTTtFQUNFLFcxQ1BHO0UwQ1FILHlCRHlJa0U7RUN4SWxFLHFCRHdJa0U7QTdDdytKMUU7O0E4QzduS0U7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QTdDNitKM0M7QU1ybktFO0V3Q1BNLGNEK0lrRTtFQzlJbEU7QTlDK25LUjtBOEM1bktNO0VBQ0UsVzFDUEc7RTBDUUgseUJEeUlrRTtFQ3hJbEUscUJEd0lrRTtBN0NzL0oxRTs7QThDM29LRTtFQUNFLGNEb0pzRTtFQ25KdEUseUJEbUp1QztBN0MyL0ozQztBTW5vS0U7RXdDUE0sY0QrSWtFO0VDOUlsRTtBOUM2b0tSO0E4QzFvS007RUFDRSxXMUNQRztFMENRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0E3Q29nSzFFOztBK0M1cEtBO0VBQ0U7RTFDOEhJLGlCQXRDYTtFMEN0RmpCLGdCM0M2UjRCO0UyQzVSNUI7RUFDQSxXM0NZUztFMkNYVCx5QjNDc2xDa0M7RTJDcmxDbEM7QS9DK3BLRjtBTTFwS0U7RXlDREUsVzNDTU87RTJDTFA7QS9DOHBLSjtBTTFwS0U7RXlDQ0k7QS9DNHBLTjs7QStDanBLQTtFQUNFO0VBQ0E7RUFDQTtBL0NvcEtGOztBK0M5b0tBO0VBQ0U7QS9DaXBLRjs7QWdEdnJLQTtFQUdFLGlCNUN5NEJrQztFNEN4NEJsQyxnQjVDdzRCa0M7RUM3d0I5QixtQkF0Q2E7RTJDbEZqQiwyQzVDMDRCa0M7RTRDejRCbEM7RUFDQTtFQUNBLGdENUMyNEJrQztFNEMxNEJsQztFckNPRTtBWGlyS0o7QWdEcnJLRTtFQUNFLHNCNUM4M0JnQztBSnl6SXBDO0FnRHByS0U7RUFDRTtBaERzcktKO0FnRG5yS0U7RUFDRTtFQUNBO0FoRHFyS0o7QWdEbHJLRTtFQUNFO0FoRG9yS0o7O0FnRGhyS0E7RUFDRTtFQUNBO0VBQ0E7RUFDQSxjNUN2QlM7RTRDd0JULDJDNUNtM0JrQztFNENsM0JsQztFQUNBO0VyQ1pFO0VBQ0E7QVhnc0tKOztBZ0RqcktBO0VBQ0UsZ0I1Q2kyQmtDO0FKbTFJcEM7O0FpRDF0S0E7RUFFRTtBakQ0dEtGO0FpRDF0S0U7RUFDRTtFQUNBO0FqRDR0S0o7O0FpRHZ0S0E7RUFDRTtFQUNBO0VBQ0E7RUFDQSxhN0MycEJrQztFNkMxcEJsQztFQUNBO0VBQ0E7RUFDQTtFQUdBO0FqRHd0S0Y7O0FpRGp0S0E7RUFDRTtFQUNBO0VBQ0EsYzdDKzRCa0M7RTZDNzRCbEM7QWpEbXRLRjtBaURodEtFO0U3QjNCSSxtQzZCNEJGO0VBQ0EsOEI3Q3E2QmdDO0FKNnlJcEM7QW9CM3VLTTtFNkJ1Qko7STdCdEJNO0VwQjh1S047QUFDRjtBaURydEtFO0VBQ0UsZTdDbTZCZ0M7QUpveklwQztBaURudEtFO0VBQ0Usc0I3Q2c2QmdDO0FKcXpJcEM7O0FpRGp0S0E7RUFDRTtFQUNBO0FqRG90S0Y7QWlEbHRLRTtFQUNFO0VBQ0E7QWpEb3RLSjtBaURqdEtFOztFQUVFO0FqRG10S0o7QWlEaHRLRTtFQUNFO0FqRGt0S0o7O0FpRDlzS0E7RUFDRTtFQUNBO0VBQ0E7QWpEaXRLRjtBaUQ5c0tFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpEZ3RLSjtBaUQ1c0tFO0VBQ0U7RUFDQTtFQUNBO0FqRDhzS0o7QWlENXNLSTtFQUNFO0FqRDhzS047QWlEM3NLSTtFQUNFO0FqRDZzS047O0FpRHZzS0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0Esc0I3QzNHUztFNkM0R1Q7RUFDQTtFdENsR0U7RXNDc0dGO0FqRHNzS0Y7O0FpRGxzS0E7RUFDRTtFQUNBO0VBQ0E7RUFDQSxhN0MraUJrQztFNkM5aUJsQztFQUNBO0VBQ0Esc0I3Q2xIUztBSnV6S1g7QWlEbHNLRTtFQUFTO0FqRHFzS1g7QWlEcHNLRTtFQUFTLFk3QzZ6QnlCO0FKMDRJcEM7O0FpRGxzS0E7RUFDRTtFQUNBO0VBQ0E7RUFDQSxrQjdDMnpCa0M7RTZDMXpCbEM7RXRDdEhFO0VBQ0E7QVg0ektKO0FpRHBzS0U7RUFDRSxrQjdDc3pCZ0M7RTZDcHpCaEM7QWpEcXNLSjs7QWlEaHNLQTtFQUNFO0VBQ0EsZ0I3Q3NJNEI7QUo2aks5Qjs7QWlEOXJLQTtFQUNFO0VBR0E7RUFDQSxhN0N3d0JrQztBSnU3SXBDOztBaUQzcktBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V0Q3pJRTtFQUNBO0FYdzBLSjtBaUQxcktFO0VBQ0U7QWpENHJLSjs7QWlEdnJLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpEMHJLRjs7QWVqMEtJO0VrQzZJRjtJQUNFLGdCN0Nxd0JnQztJNkNwd0JoQztFakR3cktGOztFaURycktBO0lBQ0U7RWpEd3JLRjtFaUR0cktFO0lBQ0U7RWpEd3JLSjs7RWlEcHJLQTtJQUNFO0VqRHVyS0Y7RWlEcnJLRTtJQUNFO0lBQ0E7RWpEdXJLSjs7RWlEL3FLQTtJQUFZLGdCN0M2dUJzQjtFSnM4SWxDO0FBQ0Y7QWUzMUtJO0VrQzJLRjs7SUFFRSxnQjdDcXVCZ0M7RUo4OElsQztBQUNGO0FlajJLSTtFa0NrTEY7SUFBWSxpQjdDK3RCc0I7RUpvOUlsQztBQUNGO0FrRGo2S0E7RUFDRTtFQUNBLGE5QytxQmtDO0U4QzlxQmxDO0VBQ0EsUzlDMjFCa0M7RStDLzFCbEMscU4vQ21SNEI7RStDalI1QjtFQUNBLGdCL0MyUjRCO0UrQzFSNUIsZ0IvQytSNEI7RStDOVI1QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFOUNnSEksbUJBdENhO0U2QzlFakI7RUFDQTtBbEQ2NktGO0FrRDM2S0U7RUFBUyxZOUMrMEJ5QjtBSitsSnBDO0FrRDU2S0U7RUFDRTtFQUNBO0VBQ0EsYTlDKzBCZ0M7RThDOTBCaEMsYzlDKzBCZ0M7QUorbEpwQztBa0Q1NktJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWxEODZLTjs7QWtEejZLQTtFQUNFO0FsRDQ2S0Y7QWtEMTZLRTtFQUNFO0FsRDQ2S0o7QWtEMTZLSTtFQUNFO0VBQ0E7RUFDQSxzQjlDdkJLO0FKbThLWDs7QWtEdjZLQTtFQUNFO0FsRDA2S0Y7QWtEeDZLRTtFQUNFO0VBQ0EsYTlDaXpCZ0M7RThDaHpCaEMsYzlDK3lCZ0M7QUoybkpwQztBa0R4NktJO0VBQ0U7RUFDQTtFQUNBLHdCOUN2Q0s7QUppOUtYOztBa0RyNktBO0VBQ0U7QWxEdzZLRjtBa0R0NktFO0VBQ0U7QWxEdzZLSjtBa0R0NktJO0VBQ0U7RUFDQTtFQUNBLHlCOUNyREs7QUo2OUtYOztBa0RuNktBO0VBQ0U7QWxEczZLRjtBa0RwNktFO0VBQ0U7RUFDQSxhOUNteEJnQztFOENseEJoQyxjOUNpeEJnQztBSnFwSnBDO0FrRHA2S0k7RUFDRTtFQUNBO0VBQ0EsdUI5Q3JFSztBSjIrS1g7O0FrRGo1S0E7RUFDRSxnQjlDNnVCa0M7RThDNXVCbEM7RUFDQSxXOUN2R1M7RThDd0dUO0VBQ0Esc0I5Qy9GUztFT0NQO0FYbS9LSjs7QW9EcmdMQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGFoRDZxQmtDO0VnRDVxQmxDO0VBQ0EsZ0JoRDYyQmtDO0UrQ2wzQmxDLHFOL0NtUjRCO0UrQ2pSNUI7RUFDQSxnQi9DMlI0QjtFK0MxUjVCLGdCL0MrUjRCO0UrQzlSNUI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTlDZ0hJLG1CQXRDYTtFK0M3RWpCO0VBQ0Esc0JoRE5TO0VnRE9UO0VBQ0E7RXpDR0U7QVhnaExKO0FvRC9nTEU7RUFDRTtFQUNBO0VBQ0EsV2hENjJCZ0M7RWdENTJCaEMsY2hENjJCZ0M7RWdENTJCaEM7QXBEaWhMSjtBb0QvZ0xJO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcERnaExOOztBb0QzZ0xBO0VBQ0UscUJoRDgxQmtDO0FKZ3JKcEM7QW9ENWdMRTtFQUNFO0FwRDhnTEo7QW9ENWdMSTtFQUNFO0VBQ0E7RUFDQSxxQ2hEeTFCOEI7QUpxckpwQztBb0QzZ0xJO0VBQ0UsV2hEMEx3QjtFZ0R6THhCO0VBQ0Esc0JoRDdDSztBSjBqTFg7O0FvRHhnTEE7RUFDRSxtQmhEMDBCa0M7QUppc0pwQztBb0R6Z0xFO0VBQ0U7RUFDQSxhaERzMEJnQztFZ0RyMEJoQyxZaERvMEJnQztFZ0RuMEJoQztBcEQyZ0xKO0FvRHpnTEk7RUFDRTtFQUNBO0VBQ0EsdUNoRGswQjhCO0FKeXNKcEM7QW9EeGdMSTtFQUNFLFNoRG1Ld0I7RWdEbEt4QjtFQUNBLHdCaERwRUs7QUo4a0xYOztBb0RyZ0xBO0VBQ0Usa0JoRG16QmtDO0FKcXRKcEM7QW9EdGdMRTtFQUNFO0FwRHdnTEo7QW9EdGdMSTtFQUNFO0VBQ0E7RUFDQSx3Q2hEOHlCOEI7QUowdEpwQztBb0RyZ0xJO0VBQ0UsUWhEK0l3QjtFZ0Q5SXhCO0VBQ0EseUJoRHhGSztBSitsTFg7QW9EbGdMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV2hEMHhCZ0M7RWdEenhCaEM7RUFDQTtFQUNBO0FwRG9nTEo7O0FvRGhnTEE7RUFDRSxvQmhEbXhCa0M7QUpndkpwQztBb0RqZ0xFO0VBQ0U7RUFDQSxhaEQrd0JnQztFZ0Q5d0JoQyxZaEQ2d0JnQztFZ0Q1d0JoQztBcERtZ0xKO0FvRGpnTEk7RUFDRTtFQUNBO0VBQ0Esc0NoRDJ3QjhCO0FKd3ZKcEM7QW9EaGdMSTtFQUNFLFVoRDRHd0I7RWdEM0d4QjtFQUNBLHVCaEQzSEs7QUo2bkxYOztBb0Q1K0tBO0VBQ0U7RUFDQTtFL0MzQkksZUF0Q2E7RStDb0VqQix5QmhENnRCa0M7RWdENXRCbEM7RXpDbklFO0VBQ0E7QVhrbkxKO0FvRDcrS0U7RUFDRTtBcEQrK0tKOztBb0QzK0tBO0VBQ0U7RUFDQSxjaER4SlM7QUpzb0xYOztBcUR6b0xBO0VBQ0U7QXJENG9MRjs7QXFEem9MQTtFQUNFO0FyRDRvTEY7O0FxRHpvTEE7RUFDRTtFQUNBO0VBQ0E7QXJENG9MRjtBc0RucUxFO0VBQ0U7RUFDQTtFQUNBO0F0RHFxTEo7O0FxRDdvTEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWpDbEJJLHNDaUNtQko7QXJEZ3BMRjtBb0IvcExNO0VpQ1FOO0lqQ1BRO0VwQmtxTE47QUFDRjs7QXFEbHBMQTs7O0VBR0U7QXJEcXBMRjs7QXFEbHBMQTs7RUFFRTtBckRxcExGOztBcURscExBOztFQUVFO0FyRHFwTEY7O0FxRDVvTEU7RUFDRTtFQUNBO0VBQ0E7QXJEK29MSjtBcUQ1b0xFOzs7RUFHRTtFQUNBO0FyRDhvTEo7QXFEM29MRTs7RUFFRTtFQUNBO0VqQzVERSwyQmlDNkRGO0FyRDZvTEo7QW9CdHNMTTtFaUNxREo7O0lqQ3BETTtFcEIwc0xOO0FBQ0Y7O0FxRDFvTEE7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQSxVakRvOUJtQztFaURuOUJuQyxXakQxRlM7RWlEMkZUO0VBQ0EsWWpEazlCbUM7RWdCcmlDL0IsOEJpQ29GSjtBckQ0b0xGO0FvQjV0TE07RWlDa0VOOztJakNqRVE7RXBCZ3VMTjtBQUNGO0FNdHVMRTs7O0UrQ3dGRSxXakRqR087RWlEa0dQO0VBQ0E7RUFDQSxZakQyOEJpQztBSndzSnJDOztBcURocExBO0VBQ0U7QXJEbXBMRjs7QXFEOW9MQTtFQUNFO0FyRGlwTEY7O0FxRDFvTEE7O0VBRUU7RUFDQSxXakRvOEJtQztFaURuOEJuQyxZakRtOEJtQztFaURsOEJuQztBckQ2b0xGOztBcUQzb0xBO0VBQ0U7QXJEOG9MRjs7QXFENW9MQTtFQUNFO0FyRCtvTEY7O0FxRHRvTEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUEsaUJqRDA1Qm1DO0VpRHo1Qm5DLGdCakR5NUJtQztFaUR4NUJuQztBckR3b0xGO0FxRHRvTEU7RUFDRTtFQUNBO0VBQ0EsV2pEdzVCaUM7RWlEdjVCakMsV2pEdzVCaUM7RWlEdjVCakMsaUJqRHk1QmlDO0VpRHg1QmpDLGdCakR3NUJpQztFaUR2NUJqQztFQUNBO0VBQ0Esc0JqRGhLTztFaURpS1A7RUFFQTtFQUNBO0VBQ0E7RWpDNUpFLDZCaUM2SkY7QXJEdW9MSjtBb0JoeUxNO0VpQzBJSjtJakN6SU07RXBCbXlMTjtBQUNGO0FxRHpvTEU7RUFDRTtBckQyb0xKOztBcURsb0xBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXakQzTFM7RWlENExUO0FyRHFvTEY7O0F1RHAwTEE7RUFDRTtJQUFLO0V2RHcwTEw7QUFDRjtBdUR0MExBO0VBQ0U7RUFDQSxXbkRva0NzQjtFbURua0N0QixZbkRta0NzQjtFbURsa0N0QjtFQUNBO0VBQ0E7RUFFQTtFQUNBO0F2RHUwTEY7O0F1RHAwTEE7RUFDRSxXbkQ2akN3QjtFbUQ1akN4QixZbkQ0akN3QjtFbUQzakN4QixtQm5ENmpDd0I7QUowd0oxQjs7QXVEaDBMQTtFQUNFO0lBQ0U7RXZEbTBMRjtFdURqMExBO0lBQ0U7SUFDQTtFdkRtMExGO0FBQ0Y7QXVEaDBMQTtFQUNFO0VBQ0EsV25Eb2lDc0I7RW1EbmlDdEIsWW5EbWlDc0I7RW1EbGlDdEI7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBdkRpMExGOztBdUQ5ekxBO0VBQ0UsV25ENmhDd0I7RW1ENWhDeEIsWW5ENGhDd0I7QUpxeUoxQjs7QXVEN3pMRTtFQUNFOztJQUVFO0V2RGcwTEo7QUFDRjtBd0Q1M0xBO0VBQXFCO0F4RCszTHJCOztBd0Q5M0xBO0VBQXFCO0F4RGs0THJCOztBd0RqNExBO0VBQXFCO0F4RHE0THJCOztBd0RwNExBO0VBQXFCO0F4RHc0THJCOztBd0R2NExBO0VBQXFCO0F4RDI0THJCOztBd0QxNExBO0VBQXFCO0F4RDg0THJCOztBeURoNUxFO0VBQ0U7QXpEbTVMSjs7QU16NExFOzs7RW1ETEk7QXpEbzVMTjs7QXlEMTVMRTtFQUNFO0F6RDY1TEo7O0FNbjVMRTs7O0VtRExJO0F6RDg1TE47O0F5RHA2TEU7RUFDRTtBekR1NkxKOztBTTc1TEU7OztFbURMSTtBekR3NkxOOztBeUQ5NkxFO0VBQ0U7QXpEaTdMSjs7QU12NkxFOzs7RW1ETEk7QXpEazdMTjs7QXlEeDdMRTtFQUNFO0F6RDI3TEo7O0FNajdMRTs7O0VtRExJO0F6RDQ3TE47O0F5RGw4TEU7RUFDRTtBekRxOExKOztBTTM3TEU7OztFbURMSTtBekRzOExOOztBeUQ1OExFO0VBQ0U7QXpEKzhMSjs7QU1yOExFOzs7RW1ETEk7QXpEZzlMTjs7QXlEdDlMRTtFQUNFO0F6RHk5TEo7O0FNLzhMRTs7O0VtRExJO0F6RDA5TE47O0EwRHo5TEE7RUFDRTtBMUQ0OUxGOztBMER6OUxBO0VBQ0U7QTFENDlMRjs7QTJEditMQTtFQUFrQjtBM0QyK0xsQjs7QTJEMStMQTtFQUFrQjtBM0Q4K0xsQjs7QTJENytMQTtFQUFrQjtBM0RpL0xsQjs7QTJEaC9MQTtFQUFrQjtBM0RvL0xsQjs7QTJEbi9MQTtFQUFrQjtBM0R1L0xsQjs7QTJEci9MQTtFQUFtQjtBM0R5L0xuQjs7QTJEeC9MQTtFQUFtQjtBM0Q0L0xuQjs7QTJEMy9MQTtFQUFtQjtBM0QrL0xuQjs7QTJEOS9MQTtFQUFtQjtBM0RrZ01uQjs7QTJEamdNQTtFQUFtQjtBM0RxZ01uQjs7QTJEbGdNRTtFQUNFO0EzRHFnTUo7O0EyRHRnTUU7RUFDRTtBM0R5Z01KOztBMkQxZ01FO0VBQ0U7QTNENmdNSjs7QTJEOWdNRTtFQUNFO0EzRGloTUo7O0EyRGxoTUU7RUFDRTtBM0RxaE1KOztBMkR0aE1FO0VBQ0U7QTNEeWhNSjs7QTJEMWhNRTtFQUNFO0EzRDZoTUo7O0EyRDloTUU7RUFDRTtBM0RpaU1KOztBMkQ3aE1BO0VBQ0U7QTNEZ2lNRjs7QTJEemhNQTtFQUNFO0EzRDRoTUY7O0EyRHpoTUE7RUFDRTtBM0Q0aE1GOztBMkR6aE1BO0VBQ0U7RUFDQTtBM0Q0aE1GOztBMkR6aE1BO0VBQ0U7RUFDQTtBM0Q0aE1GOztBMkR6aE1BO0VBQ0U7RUFDQTtBM0Q0aE1GOztBMkR6aE1BO0VBQ0U7RUFDQTtBM0Q0aE1GOztBMkR6aE1BO0VBQ0U7QTNENGhNRjs7QTJEemhNQTtFQUNFO0EzRDRoTUY7O0EyRHpoTUE7RUFDRTtBM0Q0aE1GOztBMkR6aE1BO0VBQ0U7QTNENGhNRjs7QXNEcG1NRTtFQUNFO0VBQ0E7RUFDQTtBdER1bU1KOztBNERobU1NO0VBQXdCO0E1RG9tTTlCOztBNERwbU1NO0VBQXdCO0E1RHdtTTlCOztBNER4bU1NO0VBQXdCO0E1RDRtTTlCOztBNEQ1bU1NO0VBQXdCO0E1RGduTTlCOztBNERobk1NO0VBQXdCO0E1RG9uTTlCOztBNERwbk1NO0VBQXdCO0E1RHduTTlCOztBNER4bk1NO0VBQXdCO0E1RDRuTTlCOztBNEQ1bk1NO0VBQXdCO0E1RGdvTTlCOztBNERob01NO0VBQXdCO0E1RG9vTTlCOztBZW5sTUk7RTZDakRFO0lBQXdCO0U1RHlvTTVCOztFNER6b01JO0lBQXdCO0U1RDZvTTVCOztFNEQ3b01JO0lBQXdCO0U1RGlwTTVCOztFNERqcE1JO0lBQXdCO0U1RHFwTTVCOztFNERycE1JO0lBQXdCO0U1RHlwTTVCOztFNER6cE1JO0lBQXdCO0U1RDZwTTVCOztFNEQ3cE1JO0lBQXdCO0U1RGlxTTVCOztFNERqcU1JO0lBQXdCO0U1RHFxTTVCOztFNERycU1JO0lBQXdCO0U1RHlxTTVCO0FBQ0Y7QWV6bk1JO0U2Q2pERTtJQUF3QjtFNUQ4cU01Qjs7RTREOXFNSTtJQUF3QjtFNURrck01Qjs7RTREbHJNSTtJQUF3QjtFNURzck01Qjs7RTREdHJNSTtJQUF3QjtFNUQwck01Qjs7RTREMXJNSTtJQUF3QjtFNUQ4ck01Qjs7RTREOXJNSTtJQUF3QjtFNURrc001Qjs7RTREbHNNSTtJQUF3QjtFNURzc001Qjs7RTREdHNNSTtJQUF3QjtFNUQwc001Qjs7RTREMXNNSTtJQUF3QjtFNUQ4c001QjtBQUNGO0FlOXBNSTtFNkNqREU7SUFBd0I7RTVEbXRNNUI7O0U0RG50TUk7SUFBd0I7RTVEdXRNNUI7O0U0RHZ0TUk7SUFBd0I7RTVEMnRNNUI7O0U0RDN0TUk7SUFBd0I7RTVEK3RNNUI7O0U0RC90TUk7SUFBd0I7RTVEbXVNNUI7O0U0RG51TUk7SUFBd0I7RTVEdXVNNUI7O0U0RHZ1TUk7SUFBd0I7RTVEMnVNNUI7O0U0RDN1TUk7SUFBd0I7RTVEK3VNNUI7O0U0RC91TUk7SUFBd0I7RTVEbXZNNUI7QUFDRjtBZW5zTUk7RTZDakRFO0lBQXdCO0U1RHd2TTVCOztFNER4dk1JO0lBQXdCO0U1RDR2TTVCOztFNEQ1dk1JO0lBQXdCO0U1RGd3TTVCOztFNERod01JO0lBQXdCO0U1RG93TTVCOztFNERwd01JO0lBQXdCO0U1RHd3TTVCOztFNER4d01JO0lBQXdCO0U1RDR3TTVCOztFNEQ1d01JO0lBQXdCO0U1RGd4TTVCOztFNERoeE1JO0lBQXdCO0U1RG94TTVCOztFNERweE1JO0lBQXdCO0U1RHd4TTVCO0FBQ0Y7QTREL3dNQTtFQUVJO0lBQXFCO0U1RGl4TXZCOztFNERqeE1FO0lBQXFCO0U1RHF4TXZCOztFNERyeE1FO0lBQXFCO0U1RHl4TXZCOztFNER6eE1FO0lBQXFCO0U1RDZ4TXZCOztFNEQ3eE1FO0lBQXFCO0U1RGl5TXZCOztFNERqeU1FO0lBQXFCO0U1RHF5TXZCOztFNERyeU1FO0lBQXFCO0U1RHl5TXZCOztFNER6eU1FO0lBQXFCO0U1RDZ5TXZCOztFNEQ3eU1FO0lBQXFCO0U1RGl6TXZCO0FBQ0Y7QTZEdjBNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdEeTBNRjtBNkR2ME1FO0VBQ0U7RUFDQTtBN0R5ME1KO0E2RHQwTUU7Ozs7O0VBS0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdEdzBNSjs7QTZEL3pNSTtFQUNFO0E3RGswTU47O0E2RG4wTUk7RUFDRTtBN0RzME1OOztBNkR2ME1JO0VBQ0U7QTdEMDBNTjs7QTZEMzBNSTtFQUNFO0E3RDgwTU47O0E4RHYyTUk7RUFBZ0M7QTlEMjJNcEM7O0E4RDEyTUk7RUFBZ0M7QTlEODJNcEM7O0E4RDcyTUk7RUFBZ0M7QTlEaTNNcEM7O0E4RGgzTUk7RUFBZ0M7QTlEbzNNcEM7O0E4RGwzTUk7RUFBOEI7QTlEczNNbEM7O0E4RHIzTUk7RUFBOEI7QTlEeTNNbEM7O0E4RHgzTUk7RUFBOEI7QTlENDNNbEM7O0E4RDMzTUk7RUFBOEI7QTlEKzNNbEM7O0E4RDkzTUk7RUFBOEI7QTlEazRNbEM7O0E4RGo0TUk7RUFBOEI7QTlEcTRNbEM7O0E4RHA0TUk7RUFBOEI7QTlEdzRNbEM7O0E4RHY0TUk7RUFBOEI7QTlEMjRNbEM7O0E4RHo0TUk7RUFBb0M7QTlENjRNeEM7O0E4RDU0TUk7RUFBb0M7QTlEZzVNeEM7O0E4RC80TUk7RUFBb0M7QTlEbTVNeEM7O0E4RGw1TUk7RUFBb0M7QTlEczVNeEM7O0E4RHI1TUk7RUFBb0M7QTlEeTVNeEM7O0E4RHY1TUk7RUFBaUM7QTlEMjVNckM7O0E4RDE1TUk7RUFBaUM7QTlEODVNckM7O0E4RDc1TUk7RUFBaUM7QTlEaTZNckM7O0E4RGg2TUk7RUFBaUM7QTlEbzZNckM7O0E4RG42TUk7RUFBaUM7QTlEdTZNckM7O0E4RHI2TUk7RUFBa0M7QTlEeTZNdEM7O0E4RHg2TUk7RUFBa0M7QTlENDZNdEM7O0E4RDM2TUk7RUFBa0M7QTlEKzZNdEM7O0E4RDk2TUk7RUFBa0M7QTlEazdNdEM7O0E4RGo3TUk7RUFBa0M7QTlEcTdNdEM7O0E4RHA3TUk7RUFBa0M7QTlEdzdNdEM7O0E4RHQ3TUk7RUFBZ0M7QTlEMDdNcEM7O0E4RHo3TUk7RUFBZ0M7QTlENjdNcEM7O0E4RDU3TUk7RUFBZ0M7QTlEZzhNcEM7O0E4RC83TUk7RUFBZ0M7QTlEbThNcEM7O0E4RGw4TUk7RUFBZ0M7QTlEczhNcEM7O0E4RHI4TUk7RUFBZ0M7QTlEeThNcEM7O0FlNzdNSTtFK0NsREE7SUFBZ0M7RTlEby9NbEM7O0U4RG4vTUU7SUFBZ0M7RTlEdS9NbEM7O0U4RHQvTUU7SUFBZ0M7RTlEMC9NbEM7O0U4RHovTUU7SUFBZ0M7RTlENi9NbEM7O0U4RDMvTUU7SUFBOEI7RTlEKy9NaEM7O0U4RDkvTUU7SUFBOEI7RTlEa2dOaEM7O0U4RGpnTkU7SUFBOEI7RTlEcWdOaEM7O0U4RHBnTkU7SUFBOEI7RTlEd2dOaEM7O0U4RHZnTkU7SUFBOEI7RTlEMmdOaEM7O0U4RDFnTkU7SUFBOEI7RTlEOGdOaEM7O0U4RDdnTkU7SUFBOEI7RTlEaWhOaEM7O0U4RGhoTkU7SUFBOEI7RTlEb2hOaEM7O0U4RGxoTkU7SUFBb0M7RTlEc2hOdEM7O0U4RHJoTkU7SUFBb0M7RTlEeWhOdEM7O0U4RHhoTkU7SUFBb0M7RTlENGhOdEM7O0U4RDNoTkU7SUFBb0M7RTlEK2hOdEM7O0U4RDloTkU7SUFBb0M7RTlEa2lOdEM7O0U4RGhpTkU7SUFBaUM7RTlEb2lObkM7O0U4RG5pTkU7SUFBaUM7RTlEdWlObkM7O0U4RHRpTkU7SUFBaUM7RTlEMGlObkM7O0U4RHppTkU7SUFBaUM7RTlENmlObkM7O0U4RDVpTkU7SUFBaUM7RTlEZ2pObkM7O0U4RDlpTkU7SUFBa0M7RTlEa2pOcEM7O0U4RGpqTkU7SUFBa0M7RTlEcWpOcEM7O0U4RHBqTkU7SUFBa0M7RTlEd2pOcEM7O0U4RHZqTkU7SUFBa0M7RTlEMmpOcEM7O0U4RDFqTkU7SUFBa0M7RTlEOGpOcEM7O0U4RDdqTkU7SUFBa0M7RTlEaWtOcEM7O0U4RC9qTkU7SUFBZ0M7RTlEbWtObEM7O0U4RGxrTkU7SUFBZ0M7RTlEc2tObEM7O0U4RHJrTkU7SUFBZ0M7RTlEeWtObEM7O0U4RHhrTkU7SUFBZ0M7RTlENGtObEM7O0U4RDNrTkU7SUFBZ0M7RTlEK2tObEM7O0U4RDlrTkU7SUFBZ0M7RTlEa2xObEM7QUFDRjtBZXZrTkk7RStDbERBO0lBQWdDO0U5RDZuTmxDOztFOEQ1bk5FO0lBQWdDO0U5RGdvTmxDOztFOEQvbk5FO0lBQWdDO0U5RG1vTmxDOztFOERsb05FO0lBQWdDO0U5RHNvTmxDOztFOERwb05FO0lBQThCO0U5RHdvTmhDOztFOER2b05FO0lBQThCO0U5RDJvTmhDOztFOEQxb05FO0lBQThCO0U5RDhvTmhDOztFOEQ3b05FO0lBQThCO0U5RGlwTmhDOztFOERocE5FO0lBQThCO0U5RG9wTmhDOztFOERucE5FO0lBQThCO0U5RHVwTmhDOztFOER0cE5FO0lBQThCO0U5RDBwTmhDOztFOER6cE5FO0lBQThCO0U5RDZwTmhDOztFOEQzcE5FO0lBQW9DO0U5RCtwTnRDOztFOEQ5cE5FO0lBQW9DO0U5RGtxTnRDOztFOERqcU5FO0lBQW9DO0U5RHFxTnRDOztFOERwcU5FO0lBQW9DO0U5RHdxTnRDOztFOER2cU5FO0lBQW9DO0U5RDJxTnRDOztFOER6cU5FO0lBQWlDO0U5RDZxTm5DOztFOEQ1cU5FO0lBQWlDO0U5RGdyTm5DOztFOEQvcU5FO0lBQWlDO0U5RG1yTm5DOztFOERsck5FO0lBQWlDO0U5RHNyTm5DOztFOERyck5FO0lBQWlDO0U5RHlyTm5DOztFOER2ck5FO0lBQWtDO0U5RDJyTnBDOztFOEQxck5FO0lBQWtDO0U5RDhyTnBDOztFOEQ3ck5FO0lBQWtDO0U5RGlzTnBDOztFOERoc05FO0lBQWtDO0U5RG9zTnBDOztFOERuc05FO0lBQWtDO0U5RHVzTnBDOztFOER0c05FO0lBQWtDO0U5RDBzTnBDOztFOER4c05FO0lBQWdDO0U5RDRzTmxDOztFOEQzc05FO0lBQWdDO0U5RCtzTmxDOztFOEQ5c05FO0lBQWdDO0U5RGt0TmxDOztFOERqdE5FO0lBQWdDO0U5RHF0TmxDOztFOERwdE5FO0lBQWdDO0U5RHd0TmxDOztFOER2dE5FO0lBQWdDO0U5RDJ0TmxDO0FBQ0Y7QWVodE5JO0UrQ2xEQTtJQUFnQztFOURzd05sQzs7RThEcndORTtJQUFnQztFOUR5d05sQzs7RThEeHdORTtJQUFnQztFOUQ0d05sQzs7RThEM3dORTtJQUFnQztFOUQrd05sQzs7RThEN3dORTtJQUE4QjtFOURpeE5oQzs7RThEaHhORTtJQUE4QjtFOURveE5oQzs7RThEbnhORTtJQUE4QjtFOUR1eE5oQzs7RThEdHhORTtJQUE4QjtFOUQweE5oQzs7RThEenhORTtJQUE4QjtFOUQ2eE5oQzs7RThENXhORTtJQUE4QjtFOURneU5oQzs7RThEL3hORTtJQUE4QjtFOURteU5oQzs7RThEbHlORTtJQUE4QjtFOURzeU5oQzs7RThEcHlORTtJQUFvQztFOUR3eU50Qzs7RThEdnlORTtJQUFvQztFOUQyeU50Qzs7RThEMXlORTtJQUFvQztFOUQ4eU50Qzs7RThEN3lORTtJQUFvQztFOURpek50Qzs7RThEaHpORTtJQUFvQztFOURvek50Qzs7RThEbHpORTtJQUFpQztFOURzek5uQzs7RThEcnpORTtJQUFpQztFOUR5ek5uQzs7RThEeHpORTtJQUFpQztFOUQ0ek5uQzs7RThEM3pORTtJQUFpQztFOUQrek5uQzs7RThEOXpORTtJQUFpQztFOURrME5uQzs7RThEaDBORTtJQUFrQztFOURvME5wQzs7RThEbjBORTtJQUFrQztFOUR1ME5wQzs7RThEdDBORTtJQUFrQztFOUQwME5wQzs7RThEejBORTtJQUFrQztFOUQ2ME5wQzs7RThENTBORTtJQUFrQztFOURnMU5wQzs7RThELzBORTtJQUFrQztFOURtMU5wQzs7RThEajFORTtJQUFnQztFOURxMU5sQzs7RThEcDFORTtJQUFnQztFOUR3MU5sQzs7RThEdjFORTtJQUFnQztFOUQyMU5sQzs7RThEMTFORTtJQUFnQztFOUQ4MU5sQzs7RThENzFORTtJQUFnQztFOURpMk5sQzs7RThEaDJORTtJQUFnQztFOURvMk5sQztBQUNGO0FlejFOSTtFK0NsREE7SUFBZ0M7RTlEKzRObEM7O0U4RDk0TkU7SUFBZ0M7RTlEazVObEM7O0U4RGo1TkU7SUFBZ0M7RTlEcTVObEM7O0U4RHA1TkU7SUFBZ0M7RTlEdzVObEM7O0U4RHQ1TkU7SUFBOEI7RTlEMDVOaEM7O0U4RHo1TkU7SUFBOEI7RTlENjVOaEM7O0U4RDU1TkU7SUFBOEI7RTlEZzZOaEM7O0U4RC81TkU7SUFBOEI7RTlEbTZOaEM7O0U4RGw2TkU7SUFBOEI7RTlEczZOaEM7O0U4RHI2TkU7SUFBOEI7RTlEeTZOaEM7O0U4RHg2TkU7SUFBOEI7RTlENDZOaEM7O0U4RDM2TkU7SUFBOEI7RTlEKzZOaEM7O0U4RDc2TkU7SUFBb0M7RTlEaTdOdEM7O0U4RGg3TkU7SUFBb0M7RTlEbzdOdEM7O0U4RG43TkU7SUFBb0M7RTlEdTdOdEM7O0U4RHQ3TkU7SUFBb0M7RTlEMDdOdEM7O0U4RHo3TkU7SUFBb0M7RTlENjdOdEM7O0U4RDM3TkU7SUFBaUM7RTlEKzdObkM7O0U4RDk3TkU7SUFBaUM7RTlEazhObkM7O0U4RGo4TkU7SUFBaUM7RTlEcThObkM7O0U4RHA4TkU7SUFBaUM7RTlEdzhObkM7O0U4RHY4TkU7SUFBaUM7RTlEMjhObkM7O0U4RHo4TkU7SUFBa0M7RTlENjhOcEM7O0U4RDU4TkU7SUFBa0M7RTlEZzlOcEM7O0U4RC84TkU7SUFBa0M7RTlEbTlOcEM7O0U4RGw5TkU7SUFBa0M7RTlEczlOcEM7O0U4RHI5TkU7SUFBa0M7RTlEeTlOcEM7O0U4RHg5TkU7SUFBa0M7RTlENDlOcEM7O0U4RDE5TkU7SUFBZ0M7RTlEODlObEM7O0U4RDc5TkU7SUFBZ0M7RTlEaStObEM7O0U4RGgrTkU7SUFBZ0M7RTlEbytObEM7O0U4RG4rTkU7SUFBZ0M7RTlEdStObEM7O0U4RHQrTkU7SUFBZ0M7RTlEMCtObEM7O0U4RHorTkU7SUFBZ0M7RTlENitObEM7QUFDRjtBK0R4aE9JO0VBQXdCO0EvRDJoTzVCOztBK0QxaE9JO0VBQXdCO0EvRDhoTzVCOztBK0Q3aE9JO0VBQXdCO0EvRGlpTzVCOztBZTcrTkk7RWdEdERBO0lBQXdCO0UvRHdpTzFCOztFK0R2aU9FO0lBQXdCO0UvRDJpTzFCOztFK0QxaU9FO0lBQXdCO0UvRDhpTzFCO0FBQ0Y7QWUzL05JO0VnRHREQTtJQUF3QjtFL0Rxak8xQjs7RStEcGpPRTtJQUF3QjtFL0R3ak8xQjs7RStEdmpPRTtJQUF3QjtFL0Qyak8xQjtBQUNGO0FleGdPSTtFZ0R0REE7SUFBd0I7RS9Ea2tPMUI7O0UrRGprT0U7SUFBd0I7RS9EcWtPMUI7O0UrRHBrT0U7SUFBd0I7RS9Ed2tPMUI7QUFDRjtBZXJoT0k7RWdEdERBO0lBQXdCO0UvRCtrTzFCOztFK0Q5a09FO0lBQXdCO0UvRGtsTzFCOztFK0RqbE9FO0lBQXdCO0UvRHFsTzFCO0FBQ0Y7QWdFM2xPRTtFQUF5QjtBaEU4bE8zQjs7QWdFOWxPRTtFQUF5QjtBaEVrbU8zQjs7QWdFbG1PRTtFQUF5QjtBaEVzbU8zQjs7QWlFdG1PRTtFQUFzQjtBakUwbU94Qjs7QWlFMW1PRTtFQUFzQjtBakU4bU94Qjs7QWtFN21PRTtFQUF5QjtBbEVpbk8zQjs7QWtFam5PRTtFQUF5QjtBbEVxbk8zQjs7QWtFcm5PRTtFQUF5QjtBbEV5bk8zQjs7QWtFem5PRTtFQUF5QjtBbEU2bk8zQjs7QWtFN25PRTtFQUF5QjtBbEVpb08zQjs7QWtFNW5PQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYTlEZ3FCa0M7QUorOU1wQzs7QWtFNW5PQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYTlEd3BCa0M7QUp1K01wQzs7QWtFM25PRTtFQURGO0lBRUk7SUFDQTtJQUNBLGE5RGdwQmdDO0VKKytNbEM7QUFDRjs7QW1FenBPQTtFQ0VFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEUycE9GOztBb0VqcE9FO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRW1wT0o7O0FxRWhyT0E7RUFBYTtBckVvck9iOztBcUVuck9BO0VBQVU7QXJFdXJPVjs7QXFFdHJPQTtFQUFhO0FyRTByT2I7O0FxRXpyT0E7RUFBZTtBckU2ck9mOztBc0U1ck9JO0VBQXVCO0F0RWdzTzNCOztBc0Voc09JO0VBQXVCO0F0RW9zTzNCOztBc0Vwc09JO0VBQXVCO0F0RXdzTzNCOztBc0V4c09JO0VBQXVCO0F0RTRzTzNCOztBc0U1c09JO0VBQXVCO0F0RWd0TzNCOztBc0VodE9JO0VBQXVCO0F0RW90TzNCOztBc0VwdE9JO0VBQXVCO0F0RXd0TzNCOztBc0V4dE9JO0VBQXVCO0F0RTR0TzNCOztBc0U1dE9JO0VBQXVCO0F0RWd1TzNCOztBc0VodU9JO0VBQXVCO0F0RW91TzNCOztBc0VodU9BO0VBQVU7QXRFb3VPVjs7QXNFbnVPQTtFQUFVO0F0RXV1T1Y7O0FzRW51T0E7RUFBYztBdEV1dU9kOztBc0V0dU9BO0VBQWM7QXRFMHVPZDs7QXNFeHVPQTtFQUFVO0F0RTR1T1Y7O0FzRTN1T0E7RUFBVTtBdEUrdU9WOztBdUV4dk9RO0VBQWdDO0F2RTR2T3hDOztBdUUzdk9ROztFQUVFO0F2RTh2T1Y7O0F1RTV2T1E7O0VBRUU7QXZFK3ZPVjs7QXVFN3ZPUTs7RUFFRTtBdkVnd09WOztBdUU5dk9ROztFQUVFO0F2RWl3T1Y7O0F1RWh4T1E7RUFBZ0M7QXZFb3hPeEM7O0F1RW54T1E7O0VBRUU7QXZFc3hPVjs7QXVFcHhPUTs7RUFFRTtBdkV1eE9WOztBdUVyeE9ROztFQUVFO0F2RXd4T1Y7O0F1RXR4T1E7O0VBRUU7QXZFeXhPVjs7QXVFeHlPUTtFQUFnQztBdkU0eU94Qzs7QXVFM3lPUTs7RUFFRTtBdkU4eU9WOztBdUU1eU9ROztFQUVFO0F2RSt5T1Y7O0F1RTd5T1E7O0VBRUU7QXZFZ3pPVjs7QXVFOXlPUTs7RUFFRTtBdkVpek9WOztBdUVoME9RO0VBQWdDO0F2RW8wT3hDOztBdUVuME9ROztFQUVFO0F2RXMwT1Y7O0F1RXAwT1E7O0VBRUU7QXZFdTBPVjs7QXVFcjBPUTs7RUFFRTtBdkV3ME9WOztBdUV0ME9ROztFQUVFO0F2RXkwT1Y7O0F1RXgxT1E7RUFBZ0M7QXZFNDFPeEM7O0F1RTMxT1E7O0VBRUU7QXZFODFPVjs7QXVFNTFPUTs7RUFFRTtBdkUrMU9WOztBdUU3MU9ROztFQUVFO0F2RWcyT1Y7O0F1RTkxT1E7O0VBRUU7QXZFaTJPVjs7QXVFaDNPUTtFQUFnQztBdkVvM094Qzs7QXVFbjNPUTs7RUFFRTtBdkVzM09WOztBdUVwM09ROztFQUVFO0F2RXUzT1Y7O0F1RXIzT1E7O0VBRUU7QXZFdzNPVjs7QXVFdDNPUTs7RUFFRTtBdkV5M09WOztBdUV4NE9RO0VBQWdDO0F2RTQ0T3hDOztBdUUzNE9ROztFQUVFO0F2RTg0T1Y7O0F1RTU0T1E7O0VBRUU7QXZFKzRPVjs7QXVFNzRPUTs7RUFFRTtBdkVnNU9WOztBdUU5NE9ROztFQUVFO0F2RWk1T1Y7O0F1RWg2T1E7RUFBZ0M7QXZFbzZPeEM7O0F1RW42T1E7O0VBRUU7QXZFczZPVjs7QXVFcDZPUTs7RUFFRTtBdkV1Nk9WOztBdUVyNk9ROztFQUVFO0F2RXc2T1Y7O0F1RXQ2T1E7O0VBRUU7QXZFeTZPVjs7QXVFeDdPUTtFQUFnQztBdkU0N094Qzs7QXVFMzdPUTs7RUFFRTtBdkU4N09WOztBdUU1N09ROztFQUVFO0F2RSs3T1Y7O0F1RTc3T1E7O0VBRUU7QXZFZzhPVjs7QXVFOTdPUTs7RUFFRTtBdkVpOE9WOztBdUVoOU9RO0VBQWdDO0F2RW85T3hDOztBdUVuOU9ROztFQUVFO0F2RXM5T1Y7O0F1RXA5T1E7O0VBRUU7QXZFdTlPVjs7QXVFcjlPUTs7RUFFRTtBdkV3OU9WOztBdUV0OU9ROztFQUVFO0F2RXk5T1Y7O0F1RXgrT1E7RUFBZ0M7QXZFNCtPeEM7O0F1RTMrT1E7O0VBRUU7QXZFOCtPVjs7QXVFNStPUTs7RUFFRTtBdkUrK09WOztBdUU3K09ROztFQUVFO0F2RWcvT1Y7O0F1RTkrT1E7O0VBRUU7QXZFaS9PVjs7QXVFaGdQUTtFQUFnQztBdkVvZ1B4Qzs7QXVFbmdQUTs7RUFFRTtBdkVzZ1BWOztBdUVwZ1BROztFQUVFO0F2RXVnUFY7O0F1RXJnUFE7O0VBRUU7QXZFd2dQVjs7QXVFdGdQUTs7RUFFRTtBdkV5Z1BWOztBdUVqZ1BRO0VBQXdCO0F2RXFnUGhDOztBdUVwZ1BROztFQUVFO0F2RXVnUFY7O0F1RXJnUFE7O0VBRUU7QXZFd2dQVjs7QXVFdGdQUTs7RUFFRTtBdkV5Z1BWOztBdUV2Z1BROztFQUVFO0F2RTBnUFY7O0F1RXpoUFE7RUFBd0I7QXZFNmhQaEM7O0F1RTVoUFE7O0VBRUU7QXZFK2hQVjs7QXVFN2hQUTs7RUFFRTtBdkVnaVBWOztBdUU5aFBROztFQUVFO0F2RWlpUFY7O0F1RS9oUFE7O0VBRUU7QXZFa2lQVjs7QXVFampQUTtFQUF3QjtBdkVxalBoQzs7QXVFcGpQUTs7RUFFRTtBdkV1alBWOztBdUVyalBROztFQUVFO0F2RXdqUFY7O0F1RXRqUFE7O0VBRUU7QXZFeWpQVjs7QXVFdmpQUTs7RUFFRTtBdkUwalBWOztBdUV6a1BRO0VBQXdCO0F2RTZrUGhDOztBdUU1a1BROztFQUVFO0F2RStrUFY7O0F1RTdrUFE7O0VBRUU7QXZFZ2xQVjs7QXVFOWtQUTs7RUFFRTtBdkVpbFBWOztBdUUva1BROztFQUVFO0F2RWtsUFY7O0F1RWptUFE7RUFBd0I7QXZFcW1QaEM7O0F1RXBtUFE7O0VBRUU7QXZFdW1QVjs7QXVFcm1QUTs7RUFFRTtBdkV3bVBWOztBdUV0bVBROztFQUVFO0F2RXltUFY7O0F1RXZtUFE7O0VBRUU7QXZFMG1QVjs7QXVFcG1QSTtFQUFtQjtBdkV3bVB2Qjs7QXVFdm1QSTs7RUFFRTtBdkUwbVBOOztBdUV4bVBJOztFQUVFO0F2RTJtUE47O0F1RXptUEk7O0VBRUU7QXZFNG1QTjs7QXVFMW1QSTs7RUFFRTtBdkU2bVBOOztBZXRuUEk7RXdEbERJO0lBQWdDO0V2RTZxUHRDOztFdUU1cVBNOztJQUVFO0V2RStxUFI7O0V1RTdxUE07O0lBRUU7RXZFZ3JQUjs7RXVFOXFQTTs7SUFFRTtFdkVpclBSOztFdUUvcVBNOztJQUVFO0V2RWtyUFI7O0V1RWpzUE07SUFBZ0M7RXZFcXNQdEM7O0V1RXBzUE07O0lBRUU7RXZFdXNQUjs7RXVFcnNQTTs7SUFFRTtFdkV3c1BSOztFdUV0c1BNOztJQUVFO0V2RXlzUFI7O0V1RXZzUE07O0lBRUU7RXZFMHNQUjs7RXVFenRQTTtJQUFnQztFdkU2dFB0Qzs7RXVFNXRQTTs7SUFFRTtFdkUrdFBSOztFdUU3dFBNOztJQUVFO0V2RWd1UFI7O0V1RTl0UE07O0lBRUU7RXZFaXVQUjs7RXVFL3RQTTs7SUFFRTtFdkVrdVBSOztFdUVqdlBNO0lBQWdDO0V2RXF2UHRDOztFdUVwdlBNOztJQUVFO0V2RXV2UFI7O0V1RXJ2UE07O0lBRUU7RXZFd3ZQUjs7RXVFdHZQTTs7SUFFRTtFdkV5dlBSOztFdUV2dlBNOztJQUVFO0V2RTB2UFI7O0V1RXp3UE07SUFBZ0M7RXZFNndQdEM7O0V1RTV3UE07O0lBRUU7RXZFK3dQUjs7RXVFN3dQTTs7SUFFRTtFdkVneFBSOztFdUU5d1BNOztJQUVFO0V2RWl4UFI7O0V1RS93UE07O0lBRUU7RXZFa3hQUjs7RXVFanlQTTtJQUFnQztFdkVxeVB0Qzs7RXVFcHlQTTs7SUFFRTtFdkV1eVBSOztFdUVyeVBNOztJQUVFO0V2RXd5UFI7O0V1RXR5UE07O0lBRUU7RXZFeXlQUjs7RXVFdnlQTTs7SUFFRTtFdkUweVBSOztFdUV6elBNO0lBQWdDO0V2RTZ6UHRDOztFdUU1elBNOztJQUVFO0V2RSt6UFI7O0V1RTd6UE07O0lBRUU7RXZFZzBQUjs7RXVFOXpQTTs7SUFFRTtFdkVpMFBSOztFdUUvelBNOztJQUVFO0V2RWswUFI7O0V1RWoxUE07SUFBZ0M7RXZFcTFQdEM7O0V1RXAxUE07O0lBRUU7RXZFdTFQUjs7RXVFcjFQTTs7SUFFRTtFdkV3MVBSOztFdUV0MVBNOztJQUVFO0V2RXkxUFI7O0V1RXYxUE07O0lBRUU7RXZFMDFQUjs7RXVFejJQTTtJQUFnQztFdkU2MlB0Qzs7RXVFNTJQTTs7SUFFRTtFdkUrMlBSOztFdUU3MlBNOztJQUVFO0V2RWczUFI7O0V1RTkyUE07O0lBRUU7RXZFaTNQUjs7RXVFLzJQTTs7SUFFRTtFdkVrM1BSOztFdUVqNFBNO0lBQWdDO0V2RXE0UHRDOztFdUVwNFBNOztJQUVFO0V2RXU0UFI7O0V1RXI0UE07O0lBRUU7RXZFdzRQUjs7RXVFdDRQTTs7SUFFRTtFdkV5NFBSOztFdUV2NFBNOztJQUVFO0V2RTA0UFI7O0V1RXo1UE07SUFBZ0M7RXZFNjVQdEM7O0V1RTU1UE07O0lBRUU7RXZFKzVQUjs7RXVFNzVQTTs7SUFFRTtFdkVnNlBSOztFdUU5NVBNOztJQUVFO0V2RWk2UFI7O0V1RS81UE07O0lBRUU7RXZFazZQUjs7RXVFajdQTTtJQUFnQztFdkVxN1B0Qzs7RXVFcDdQTTs7SUFFRTtFdkV1N1BSOztFdUVyN1BNOztJQUVFO0V2RXc3UFI7O0V1RXQ3UE07O0lBRUU7RXZFeTdQUjs7RXVFdjdQTTs7SUFFRTtFdkUwN1BSOztFdUVsN1BNO0lBQXdCO0V2RXM3UDlCOztFdUVyN1BNOztJQUVFO0V2RXc3UFI7O0V1RXQ3UE07O0lBRUU7RXZFeTdQUjs7RXVFdjdQTTs7SUFFRTtFdkUwN1BSOztFdUV4N1BNOztJQUVFO0V2RTI3UFI7O0V1RTE4UE07SUFBd0I7RXZFODhQOUI7O0V1RTc4UE07O0lBRUU7RXZFZzlQUjs7RXVFOThQTTs7SUFFRTtFdkVpOVBSOztFdUUvOFBNOztJQUVFO0V2RWs5UFI7O0V1RWg5UE07O0lBRUU7RXZFbTlQUjs7RXVFbCtQTTtJQUF3QjtFdkVzK1A5Qjs7RXVFcitQTTs7SUFFRTtFdkV3K1BSOztFdUV0K1BNOztJQUVFO0V2RXkrUFI7O0V1RXYrUE07O0lBRUU7RXZFMCtQUjs7RXVFeCtQTTs7SUFFRTtFdkUyK1BSOztFdUUxL1BNO0lBQXdCO0V2RTgvUDlCOztFdUU3L1BNOztJQUVFO0V2RWdnUVI7O0V1RTkvUE07O0lBRUU7RXZFaWdRUjs7RXVFLy9QTTs7SUFFRTtFdkVrZ1FSOztFdUVoZ1FNOztJQUVFO0V2RW1nUVI7O0V1RWxoUU07SUFBd0I7RXZFc2hROUI7O0V1RXJoUU07O0lBRUU7RXZFd2hRUjs7RXVFdGhRTTs7SUFFRTtFdkV5aFFSOztFdUV2aFFNOztJQUVFO0V2RTBoUVI7O0V1RXhoUU07O0lBRUU7RXZFMmhRUjs7RXVFcmhRRTtJQUFtQjtFdkV5aFFyQjs7RXVFeGhRRTs7SUFFRTtFdkUyaFFKOztFdUV6aFFFOztJQUVFO0V2RTRoUUo7O0V1RTFoUUU7O0lBRUU7RXZFNmhRSjs7RXVFM2hRRTs7SUFFRTtFdkU4aFFKO0FBQ0Y7QWV4aVFJO0V3RGxESTtJQUFnQztFdkU4bFF0Qzs7RXVFN2xRTTs7SUFFRTtFdkVnbVFSOztFdUU5bFFNOztJQUVFO0V2RWltUVI7O0V1RS9sUU07O0lBRUU7RXZFa21RUjs7RXVFaG1RTTs7SUFFRTtFdkVtbVFSOztFdUVsblFNO0lBQWdDO0V2RXNuUXRDOztFdUVyblFNOztJQUVFO0V2RXduUVI7O0V1RXRuUU07O0lBRUU7RXZFeW5RUjs7RXVFdm5RTTs7SUFFRTtFdkUwblFSOztFdUV4blFNOztJQUVFO0V2RTJuUVI7O0V1RTFvUU07SUFBZ0M7RXZFOG9RdEM7O0V1RTdvUU07O0lBRUU7RXZFZ3BRUjs7RXVFOW9RTTs7SUFFRTtFdkVpcFFSOztFdUUvb1FNOztJQUVFO0V2RWtwUVI7O0V1RWhwUU07O0lBRUU7RXZFbXBRUjs7RXVFbHFRTTtJQUFnQztFdkVzcVF0Qzs7RXVFcnFRTTs7SUFFRTtFdkV3cVFSOztFdUV0cVFNOztJQUVFO0V2RXlxUVI7O0V1RXZxUU07O0lBRUU7RXZFMHFRUjs7RXVFeHFRTTs7SUFFRTtFdkUycVFSOztFdUUxclFNO0lBQWdDO0V2RThyUXRDOztFdUU3clFNOztJQUVFO0V2RWdzUVI7O0V1RTlyUU07O0lBRUU7RXZFaXNRUjs7RXVFL3JRTTs7SUFFRTtFdkVrc1FSOztFdUVoc1FNOztJQUVFO0V2RW1zUVI7O0V1RWx0UU07SUFBZ0M7RXZFc3RRdEM7O0V1RXJ0UU07O0lBRUU7RXZFd3RRUjs7RXVFdHRRTTs7SUFFRTtFdkV5dFFSOztFdUV2dFFNOztJQUVFO0V2RTB0UVI7O0V1RXh0UU07O0lBRUU7RXZFMnRRUjs7RXVFMXVRTTtJQUFnQztFdkU4dVF0Qzs7RXVFN3VRTTs7SUFFRTtFdkVndlFSOztFdUU5dVFNOztJQUVFO0V2RWl2UVI7O0V1RS91UU07O0lBRUU7RXZFa3ZRUjs7RXVFaHZRTTs7SUFFRTtFdkVtdlFSOztFdUVsd1FNO0lBQWdDO0V2RXN3UXRDOztFdUVyd1FNOztJQUVFO0V2RXd3UVI7O0V1RXR3UU07O0lBRUU7RXZFeXdRUjs7RXVFdndRTTs7SUFFRTtFdkUwd1FSOztFdUV4d1FNOztJQUVFO0V2RTJ3UVI7O0V1RTF4UU07SUFBZ0M7RXZFOHhRdEM7O0V1RTd4UU07O0lBRUU7RXZFZ3lRUjs7RXVFOXhRTTs7SUFFRTtFdkVpeVFSOztFdUUveFFNOztJQUVFO0V2RWt5UVI7O0V1RWh5UU07O0lBRUU7RXZFbXlRUjs7RXVFbHpRTTtJQUFnQztFdkVzelF0Qzs7RXVFcnpRTTs7SUFFRTtFdkV3elFSOztFdUV0elFNOztJQUVFO0V2RXl6UVI7O0V1RXZ6UU07O0lBRUU7RXZFMHpRUjs7RXVFeHpRTTs7SUFFRTtFdkUyelFSOztFdUUxMFFNO0lBQWdDO0V2RTgwUXRDOztFdUU3MFFNOztJQUVFO0V2RWcxUVI7O0V1RTkwUU07O0lBRUU7RXZFaTFRUjs7RXVFLzBRTTs7SUFFRTtFdkVrMVFSOztFdUVoMVFNOztJQUVFO0V2RW0xUVI7O0V1RWwyUU07SUFBZ0M7RXZFczJRdEM7O0V1RXIyUU07O0lBRUU7RXZFdzJRUjs7RXVFdDJRTTs7SUFFRTtFdkV5MlFSOztFdUV2MlFNOztJQUVFO0V2RTAyUVI7O0V1RXgyUU07O0lBRUU7RXZFMjJRUjs7RXVFbjJRTTtJQUF3QjtFdkV1MlE5Qjs7RXVFdDJRTTs7SUFFRTtFdkV5MlFSOztFdUV2MlFNOztJQUVFO0V2RTAyUVI7O0V1RXgyUU07O0lBRUU7RXZFMjJRUjs7RXVFejJRTTs7SUFFRTtFdkU0MlFSOztFdUUzM1FNO0lBQXdCO0V2RSszUTlCOztFdUU5M1FNOztJQUVFO0V2RWk0UVI7O0V1RS8zUU07O0lBRUU7RXZFazRRUjs7RXVFaDRRTTs7SUFFRTtFdkVtNFFSOztFdUVqNFFNOztJQUVFO0V2RW80UVI7O0V1RW41UU07SUFBd0I7RXZFdTVROUI7O0V1RXQ1UU07O0lBRUU7RXZFeTVRUjs7RXVFdjVRTTs7SUFFRTtFdkUwNVFSOztFdUV4NVFNOztJQUVFO0V2RTI1UVI7O0V1RXo1UU07O0lBRUU7RXZFNDVRUjs7RXVFMzZRTTtJQUF3QjtFdkUrNlE5Qjs7RXVFOTZRTTs7SUFFRTtFdkVpN1FSOztFdUUvNlFNOztJQUVFO0V2RWs3UVI7O0V1RWg3UU07O0lBRUU7RXZFbTdRUjs7RXVFajdRTTs7SUFFRTtFdkVvN1FSOztFdUVuOFFNO0lBQXdCO0V2RXU4UTlCOztFdUV0OFFNOztJQUVFO0V2RXk4UVI7O0V1RXY4UU07O0lBRUU7RXZFMDhRUjs7RXVFeDhRTTs7SUFFRTtFdkUyOFFSOztFdUV6OFFNOztJQUVFO0V2RTQ4UVI7O0V1RXQ4UUU7SUFBbUI7RXZFMDhRckI7O0V1RXo4UUU7O0lBRUU7RXZFNDhRSjs7RXVFMThRRTs7SUFFRTtFdkU2OFFKOztFdUUzOFFFOztJQUVFO0V2RTg4UUo7O0V1RTU4UUU7O0lBRUU7RXZFKzhRSjtBQUNGO0FlejlRSTtFd0RsREk7SUFBZ0M7RXZFK2dSdEM7O0V1RTlnUk07O0lBRUU7RXZFaWhSUjs7RXVFL2dSTTs7SUFFRTtFdkVraFJSOztFdUVoaFJNOztJQUVFO0V2RW1oUlI7O0V1RWpoUk07O0lBRUU7RXZFb2hSUjs7RXVFbmlSTTtJQUFnQztFdkV1aVJ0Qzs7RXVFdGlSTTs7SUFFRTtFdkV5aVJSOztFdUV2aVJNOztJQUVFO0V2RTBpUlI7O0V1RXhpUk07O0lBRUU7RXZFMmlSUjs7RXVFemlSTTs7SUFFRTtFdkU0aVJSOztFdUUzalJNO0lBQWdDO0V2RStqUnRDOztFdUU5alJNOztJQUVFO0V2RWlrUlI7O0V1RS9qUk07O0lBRUU7RXZFa2tSUjs7RXVFaGtSTTs7SUFFRTtFdkVta1JSOztFdUVqa1JNOztJQUVFO0V2RW9rUlI7O0V1RW5sUk07SUFBZ0M7RXZFdWxSdEM7O0V1RXRsUk07O0lBRUU7RXZFeWxSUjs7RXVFdmxSTTs7SUFFRTtFdkUwbFJSOztFdUV4bFJNOztJQUVFO0V2RTJsUlI7O0V1RXpsUk07O0lBRUU7RXZFNGxSUjs7RXVFM21STTtJQUFnQztFdkUrbVJ0Qzs7RXVFOW1STTs7SUFFRTtFdkVpblJSOztFdUUvbVJNOztJQUVFO0V2RWtuUlI7O0V1RWhuUk07O0lBRUU7RXZFbW5SUjs7RXVFam5STTs7SUFFRTtFdkVvblJSOztFdUVub1JNO0lBQWdDO0V2RXVvUnRDOztFdUV0b1JNOztJQUVFO0V2RXlvUlI7O0V1RXZvUk07O0lBRUU7RXZFMG9SUjs7RXVFeG9STTs7SUFFRTtFdkUyb1JSOztFdUV6b1JNOztJQUVFO0V2RTRvUlI7O0V1RTNwUk07SUFBZ0M7RXZFK3BSdEM7O0V1RTlwUk07O0lBRUU7RXZFaXFSUjs7RXVFL3BSTTs7SUFFRTtFdkVrcVJSOztFdUVocVJNOztJQUVFO0V2RW1xUlI7O0V1RWpxUk07O0lBRUU7RXZFb3FSUjs7RXVFbnJSTTtJQUFnQztFdkV1clJ0Qzs7RXVFdHJSTTs7SUFFRTtFdkV5clJSOztFdUV2clJNOztJQUVFO0V2RTByUlI7O0V1RXhyUk07O0lBRUU7RXZFMnJSUjs7RXVFenJSTTs7SUFFRTtFdkU0clJSOztFdUUzc1JNO0lBQWdDO0V2RStzUnRDOztFdUU5c1JNOztJQUVFO0V2RWl0UlI7O0V1RS9zUk07O0lBRUU7RXZFa3RSUjs7RXVFaHRSTTs7SUFFRTtFdkVtdFJSOztFdUVqdFJNOztJQUVFO0V2RW90UlI7O0V1RW51Uk07SUFBZ0M7RXZFdXVSdEM7O0V1RXR1Uk07O0lBRUU7RXZFeXVSUjs7RXVFdnVSTTs7SUFFRTtFdkUwdVJSOztFdUV4dVJNOztJQUVFO0V2RTJ1UlI7O0V1RXp1Uk07O0lBRUU7RXZFNHVSUjs7RXVFM3ZSTTtJQUFnQztFdkUrdlJ0Qzs7RXVFOXZSTTs7SUFFRTtFdkVpd1JSOztFdUUvdlJNOztJQUVFO0V2RWt3UlI7O0V1RWh3Uk07O0lBRUU7RXZFbXdSUjs7RXVFandSTTs7SUFFRTtFdkVvd1JSOztFdUVueFJNO0lBQWdDO0V2RXV4UnRDOztFdUV0eFJNOztJQUVFO0V2RXl4UlI7O0V1RXZ4Uk07O0lBRUU7RXZFMHhSUjs7RXVFeHhSTTs7SUFFRTtFdkUyeFJSOztFdUV6eFJNOztJQUVFO0V2RTR4UlI7O0V1RXB4Uk07SUFBd0I7RXZFd3hSOUI7O0V1RXZ4Uk07O0lBRUU7RXZFMHhSUjs7RXVFeHhSTTs7SUFFRTtFdkUyeFJSOztFdUV6eFJNOztJQUVFO0V2RTR4UlI7O0V1RTF4Uk07O0lBRUU7RXZFNnhSUjs7RXVFNXlSTTtJQUF3QjtFdkVnelI5Qjs7RXVFL3lSTTs7SUFFRTtFdkVrelJSOztFdUVoelJNOztJQUVFO0V2RW16UlI7O0V1RWp6Uk07O0lBRUU7RXZFb3pSUjs7RXVFbHpSTTs7SUFFRTtFdkVxelJSOztFdUVwMFJNO0lBQXdCO0V2RXcwUjlCOztFdUV2MFJNOztJQUVFO0V2RTAwUlI7O0V1RXgwUk07O0lBRUU7RXZFMjBSUjs7RXVFejBSTTs7SUFFRTtFdkU0MFJSOztFdUUxMFJNOztJQUVFO0V2RTYwUlI7O0V1RTUxUk07SUFBd0I7RXZFZzJSOUI7O0V1RS8xUk07O0lBRUU7RXZFazJSUjs7RXVFaDJSTTs7SUFFRTtFdkVtMlJSOztFdUVqMlJNOztJQUVFO0V2RW8yUlI7O0V1RWwyUk07O0lBRUU7RXZFcTJSUjs7RXVFcDNSTTtJQUF3QjtFdkV3M1I5Qjs7RXVFdjNSTTs7SUFFRTtFdkUwM1JSOztFdUV4M1JNOztJQUVFO0V2RTIzUlI7O0V1RXozUk07O0lBRUU7RXZFNDNSUjs7RXVFMTNSTTs7SUFFRTtFdkU2M1JSOztFdUV2M1JFO0lBQW1CO0V2RTIzUnJCOztFdUUxM1JFOztJQUVFO0V2RTYzUko7O0V1RTMzUkU7O0lBRUU7RXZFODNSSjs7RXVFNTNSRTs7SUFFRTtFdkUrM1JKOztFdUU3M1JFOztJQUVFO0V2RWc0Uko7QUFDRjtBZTE0Ukk7RXdEbERJO0lBQWdDO0V2RWc4UnRDOztFdUUvN1JNOztJQUVFO0V2RWs4UlI7O0V1RWg4Uk07O0lBRUU7RXZFbThSUjs7RXVFajhSTTs7SUFFRTtFdkVvOFJSOztFdUVsOFJNOztJQUVFO0V2RXE4UlI7O0V1RXA5Uk07SUFBZ0M7RXZFdzlSdEM7O0V1RXY5Uk07O0lBRUU7RXZFMDlSUjs7RXVFeDlSTTs7SUFFRTtFdkUyOVJSOztFdUV6OVJNOztJQUVFO0V2RTQ5UlI7O0V1RTE5Uk07O0lBRUU7RXZFNjlSUjs7RXVFNStSTTtJQUFnQztFdkVnL1J0Qzs7RXVFLytSTTs7SUFFRTtFdkVrL1JSOztFdUVoL1JNOztJQUVFO0V2RW0vUlI7O0V1RWovUk07O0lBRUU7RXZFby9SUjs7RXVFbC9STTs7SUFFRTtFdkVxL1JSOztFdUVwZ1NNO0lBQWdDO0V2RXdnU3RDOztFdUV2Z1NNOztJQUVFO0V2RTBnU1I7O0V1RXhnU007O0lBRUU7RXZFMmdTUjs7RXVFemdTTTs7SUFFRTtFdkU0Z1NSOztFdUUxZ1NNOztJQUVFO0V2RTZnU1I7O0V1RTVoU007SUFBZ0M7RXZFZ2lTdEM7O0V1RS9oU007O0lBRUU7RXZFa2lTUjs7RXVFaGlTTTs7SUFFRTtFdkVtaVNSOztFdUVqaVNNOztJQUVFO0V2RW9pU1I7O0V1RWxpU007O0lBRUU7RXZFcWlTUjs7RXVFcGpTTTtJQUFnQztFdkV3alN0Qzs7RXVFdmpTTTs7SUFFRTtFdkUwalNSOztFdUV4alNNOztJQUVFO0V2RTJqU1I7O0V1RXpqU007O0lBRUU7RXZFNGpTUjs7RXVFMWpTTTs7SUFFRTtFdkU2alNSOztFdUU1a1NNO0lBQWdDO0V2RWdsU3RDOztFdUUva1NNOztJQUVFO0V2RWtsU1I7O0V1RWhsU007O0lBRUU7RXZFbWxTUjs7RXVFamxTTTs7SUFFRTtFdkVvbFNSOztFdUVsbFNNOztJQUVFO0V2RXFsU1I7O0V1RXBtU007SUFBZ0M7RXZFd21TdEM7O0V1RXZtU007O0lBRUU7RXZFMG1TUjs7RXVFeG1TTTs7SUFFRTtFdkUybVNSOztFdUV6bVNNOztJQUVFO0V2RTRtU1I7O0V1RTFtU007O0lBRUU7RXZFNm1TUjs7RXVFNW5TTTtJQUFnQztFdkVnb1N0Qzs7RXVFL25TTTs7SUFFRTtFdkVrb1NSOztFdUVob1NNOztJQUVFO0V2RW1vU1I7O0V1RWpvU007O0lBRUU7RXZFb29TUjs7RXVFbG9TTTs7SUFFRTtFdkVxb1NSOztFdUVwcFNNO0lBQWdDO0V2RXdwU3RDOztFdUV2cFNNOztJQUVFO0V2RTBwU1I7O0V1RXhwU007O0lBRUU7RXZFMnBTUjs7RXVFenBTTTs7SUFFRTtFdkU0cFNSOztFdUUxcFNNOztJQUVFO0V2RTZwU1I7O0V1RTVxU007SUFBZ0M7RXZFZ3JTdEM7O0V1RS9xU007O0lBRUU7RXZFa3JTUjs7RXVFaHJTTTs7SUFFRTtFdkVtclNSOztFdUVqclNNOztJQUVFO0V2RW9yU1I7O0V1RWxyU007O0lBRUU7RXZFcXJTUjs7RXVFcHNTTTtJQUFnQztFdkV3c1N0Qzs7RXVFdnNTTTs7SUFFRTtFdkUwc1NSOztFdUV4c1NNOztJQUVFO0V2RTJzU1I7O0V1RXpzU007O0lBRUU7RXZFNHNTUjs7RXVFMXNTTTs7SUFFRTtFdkU2c1NSOztFdUVyc1NNO0lBQXdCO0V2RXlzUzlCOztFdUV4c1NNOztJQUVFO0V2RTJzU1I7O0V1RXpzU007O0lBRUU7RXZFNHNTUjs7RXVFMXNTTTs7SUFFRTtFdkU2c1NSOztFdUUzc1NNOztJQUVFO0V2RThzU1I7O0V1RTd0U007SUFBd0I7RXZFaXVTOUI7O0V1RWh1U007O0lBRUU7RXZFbXVTUjs7RXVFanVTTTs7SUFFRTtFdkVvdVNSOztFdUVsdVNNOztJQUVFO0V2RXF1U1I7O0V1RW51U007O0lBRUU7RXZFc3VTUjs7RXVFcnZTTTtJQUF3QjtFdkV5dlM5Qjs7RXVFeHZTTTs7SUFFRTtFdkUydlNSOztFdUV6dlNNOztJQUVFO0V2RTR2U1I7O0V1RTF2U007O0lBRUU7RXZFNnZTUjs7RXVFM3ZTTTs7SUFFRTtFdkU4dlNSOztFdUU3d1NNO0lBQXdCO0V2RWl4UzlCOztFdUVoeFNNOztJQUVFO0V2RW14U1I7O0V1RWp4U007O0lBRUU7RXZFb3hTUjs7RXVFbHhTTTs7SUFFRTtFdkVxeFNSOztFdUVueFNNOztJQUVFO0V2RXN4U1I7O0V1RXJ5U007SUFBd0I7RXZFeXlTOUI7O0V1RXh5U007O0lBRUU7RXZFMnlTUjs7RXVFenlTTTs7SUFFRTtFdkU0eVNSOztFdUUxeVNNOztJQUVFO0V2RTZ5U1I7O0V1RTN5U007O0lBRUU7RXZFOHlTUjs7RXVFeHlTRTtJQUFtQjtFdkU0eVNyQjs7RXVFM3lTRTs7SUFFRTtFdkU4eVNKOztFdUU1eVNFOztJQUVFO0V2RSt5U0o7O0V1RTd5U0U7O0lBRUU7RXZFZ3pTSjs7RXVFOXlTRTs7SUFFRTtFdkVpelNKO0FBQ0Y7QXdFbDNTRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtBeEVrM1NKOztBeUU1M1NBO0VBQWtCO0F6RWc0U2xCOztBeUU1M1NBO0VBQWlCO0F6RWc0U2pCOztBeUUvM1NBO0VBQWlCO0F6RW00U2pCOztBeUVsNFNBO0VBQWlCO0F6RXM0U2pCOztBeUVyNFNBO0VDVEU7RUFDQTtFQUNBO0ExRWs1U0Y7O0F5RW40U0k7RUFBd0I7QXpFdTRTNUI7O0F5RXQ0U0k7RUFBd0I7QXpFMDRTNUI7O0F5RXo0U0k7RUFBd0I7QXpFNjRTNUI7O0FleDJTSTtFMER2Q0E7SUFBd0I7RXpFbzVTMUI7O0V5RW41U0U7SUFBd0I7RXpFdTVTMUI7O0V5RXQ1U0U7SUFBd0I7RXpFMDVTMUI7QUFDRjtBZXQzU0k7RTBEdkNBO0lBQXdCO0V6RWk2UzFCOztFeUVoNlNFO0lBQXdCO0V6RW82UzFCOztFeUVuNlNFO0lBQXdCO0V6RXU2UzFCO0FBQ0Y7QWVuNFNJO0UwRHZDQTtJQUF3QjtFekU4NlMxQjs7RXlFNzZTRTtJQUF3QjtFekVpN1MxQjs7RXlFaDdTRTtJQUF3QjtFekVvN1MxQjtBQUNGO0FlaDVTSTtFMER2Q0E7SUFBd0I7RXpFMjdTMUI7O0V5RTE3U0U7SUFBd0I7RXpFODdTMUI7O0V5RTc3U0U7SUFBd0I7RXpFaThTMUI7QUFDRjtBeUU1N1NBO0VBQW1CO0F6RSs3U25COztBeUU5N1NBO0VBQW1CO0F6RWs4U25COztBeUVqOFNBO0VBQW1CO0F6RXE4U25COztBeUVqOFNBO0VBQXVCO0F6RXE4U3ZCOztBeUVwOFNBO0VBQXVCO0F6RXc4U3ZCOztBeUV2OFNBO0VBQXVCO0F6RTI4U3ZCOztBeUUxOFNBO0VBQXVCO0F6RTg4U3ZCOztBeUU3OFNBO0VBQXVCO0F6RWk5U3ZCOztBeUVoOVNBO0VBQXVCO0F6RW85U3ZCOztBeUVoOVNBO0VBQWM7QXpFbzlTZDs7QTJFMy9TRTtFQUNFO0EzRTgvU0o7O0FNcC9TRTtFcUVMTTtBM0U2L1NSOztBMkVuZ1RFO0VBQ0U7QTNFc2dUSjs7QU01L1NFO0VxRUxNO0EzRXFnVFI7O0EyRTNnVEU7RUFDRTtBM0U4Z1RKOztBTXBnVEU7RXFFTE07QTNFNmdUUjs7QTJFbmhURTtFQUNFO0EzRXNoVEo7O0FNNWdURTtFcUVMTTtBM0VxaFRSOztBMkUzaFRFO0VBQ0U7QTNFOGhUSjs7QU1waFRFO0VxRUxNO0EzRTZoVFI7O0EyRW5pVEU7RUFDRTtBM0VzaVRKOztBTTVoVEU7RXFFTE07QTNFcWlUUjs7QTJFM2lURTtFQUNFO0EzRThpVEo7O0FNcGlURTtFcUVMTTtBM0U2aVRSOztBMkVualRFO0VBQ0U7QTNFc2pUSjs7QU01aVRFO0VxRUxNO0EzRXFqVFI7O0F5RTlnVEE7RUFBYTtBekVraFRiOztBeUVqaFRBO0VBQWM7QXpFcWhUZDs7QXlFbmhUQTtFQUFpQjtBekV1aFRqQjs7QXlFdGhUQTtFQUFpQjtBekUwaFRqQjs7QXlFdGhUQTtFR3ZERTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RWlsVEY7O0F5RTFoVEE7RUFBd0I7QXpFOGhUeEI7O0F5RTVoVEE7RUFDRTtFQUNBO0F6RStoVEY7O0F5RTFoVEE7RUFBYztBekU4aFRkOztBNkUvbFRBO0VBQ0U7QTdFa21URjs7QTZFL2xUQTtFQUNFO0E3RWttVEY7O0E4RWxtVEU7RUFDRTs7O0lBS0U7SUFFQTtFOUVrbVRKOztFOEU5bFRJO0lBQ0U7RTlFaW1UTjs7RThFeGxURTtJQUNFO0U5RTJsVEo7O0U4RTdrVEU7SUFDRTtFOUVnbFRKOztFOEU5a1RFOztJQUVFO0lBQ0E7RTlFaWxUSjs7RThFemtURTtJQUNFO0U5RTRrVEo7O0U4RXprVEU7O0lBRUU7RTlFNGtUSjs7RThFemtURTs7O0lBR0U7SUFDQTtFOUU0a1RKOztFOEV6a1RFOztJQUVFO0U5RTRrVEo7O0U4RXBrVEU7SUFDRSxRMUUraEM4QjtFSndpUmxDO0U4RXJrVEU7SUFDRTtFOUV1a1RKOztFOEVya1RFO0lBQ0U7RTlFd2tUSjs7RThFcGtURTtJQUNFO0U5RXVrVEo7O0U4RXJrVEU7SUFDRTtFOUV3a1RKOztFOEVya1RFO0lBQ0U7RTlFd2tUSjtFOEV0a1RJOztJQUVFO0U5RXdrVE47O0U4RW5rVEk7O0lBRUU7RTlFc2tUTjs7RThFbGtURTtJQUNFO0U5RXFrVEo7RThFbmtUSTs7OztJQUlFLHFCMUV2SEc7RUo0clRUOztFOEVqa1RFO0lBQ0U7SUFDQSxxQjFFN0hLO0VKaXNUVDtBQUNGO0ErRTNzVEE7Ozs7Q0FBQTtBQVFBOztDQUFBO0FBS0E7RUFDQTtFQUNBO0VBTUE7QS9FbXNUQTtBK0Vqc1RBO0VBQ0E7RUFDQTtFQU1BO0EvRThyVEE7QStFNXJUQTtFQUNBO0VBQ0E7RUFNQTtBL0V5clRBO0ErRXZyVEE7RUFDQTtFQUNBO0VBTUE7QS9Fb3JUQTtBK0VsclRBO0VBQ0E7RUFDQTtFQU1BO0EvRStxVEE7QStFNXFUQTtFQUNBO0VBQ0E7RUFNQTtFQUNBO0EvRXlxVEE7QStFemxUQTtFQUFXO0EvRTRsVFg7O0ErRTNsVEE7RUFBYztBL0UrbFRkOztBK0U5bFRBO0VBRUU7RUFDQTtBL0VnbVRGOztBK0U3bFRBO0VBQ0U7RUFDQTtFQUNBO0VBRUE7QS9FK2xURjtBK0U5bFRFO0VBQ0U7RUFDQTtBL0VnbVRKO0ErRTlsVEU7RUFDRTtBL0VnbVRKOztBK0UzbFRBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRThsVEY7QStFN2xURTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0U4bFRKOztBK0V4bFRBO0VBQTBCO0EvRTRsVDFCOztBK0V6bFRBO0VBQWEseUJBdEdIO0EvRW1zVFY7O0ErRTVsVEE7RUFBZSxjQXZHTDtBL0V1c1RWOztBK0U5bFRBO0VBQWUseUJBeEdBO0EvRTBzVGY7O0ErRWptVEE7RUFBa0IsY0F6R0g7QS9FOHNUZjs7QStFcG1UQTtFQUFnQix5QkF2R0U7QS9FK3NUbEI7O0ErRXZtVEE7RUFBbUIsY0F4R0Q7QS9FbXRUbEI7O0ErRXptVEE7RUFBZSx5QkF6R0M7QS9Fc3RUaEI7O0ErRTVtVEE7RUFBaUIsY0ExR0Q7QS9FMHRUaEI7O0ErRS9tVEE7RUFBZSx5QkExR0c7QS9FNnRUbEI7O0ErRWxuVEE7RUFBa0IsY0EzR0E7QS9FaXVUbEI7O0ErRXBuVEE7RUFBZSx5QkFuR0g7QS9FMnRUWjs7QStFdm5UQTtFQUFpQixjQXBHTDtBL0UrdFRaOztBK0UxblRBO0VBQWlCLHlCQXBHQTtBL0VrdVRqQjs7QStFN25UQTtFQUFtQixjQXJHRjtBL0VzdVRqQjs7QStFaG9UQTtFQUFrQix5QkFyR0M7QS9FeXVUbkI7O0ErRW5vVEE7RUFBb0IsY0F0R0Q7QS9FNnVUbkI7O0ErRXRvVEE7RUFBaUIseUJBdEdBO0EvRWd2VGpCOztBK0V6b1RBO0VBQW1CLGNBdkdGO0EvRW92VGpCOztBK0U1b1RBO0VBQWtCLHlCQXZHQztBL0V1dlRuQjs7QStFL29UQTtFQUFvQixjQXhHRDtBL0UydlRuQjs7QStFbHBUQTtFQUFtQix5QkF4R0M7QS9FOHZUcEI7O0ErRXJwVEE7RUFBcUIsY0F6R0Q7QS9Fa3dUcEI7O0ErRXZwVEE7RUFBVyx5QkE3SUg7QS9Fd3lUUjs7QStFMXBUQTtFQUFhLGNBOUlMO0EvRTR5VFI7O0ErRTdwVEE7RUFBVSx5QkFyRkg7QS9Fc3ZUUDs7QStFaHFUQTtFQUFZLGNBdEZMO0EvRTB2VFA7O0ErRWxxVEE7RUFBWSxvREFsR0M7QS9Fd3dUYjs7QStFcnFUQTtFQUFjLG9EQWxHQztBL0Uyd1RmOztBK0V2cVRBO0VBQWdCLHlCQTVGSDtBL0V1d1RiOztBK0UxcVRBO0VBQWtCLGNBN0ZMO0EvRTJ3VGI7O0ErRTNxVEE7RUFBVztBL0UrcVRYOztBK0U5cVRBO0VBQWE7QS9Fa3JUYjs7QStFL3FUQTtFQUFTLHlCQTNKSDtBL0U4MFROOztBK0VsclRBO0VBQVc7QS9Fc3JUWDs7QStFcHJUQTtFQUFXLHlCQXhKSDtBL0VnMVRSOztBK0V2clRBO0VBQWE7QS9FMnJUYjs7QStFenJUQTtFQUFNO0VBQ047QS9FNnJUQTs7QStFdnJURTtFQUNFO0VBQ0E7QS9FMHJUSjs7QStFdnJUQTtFQUNFO0EvRTByVEY7O0ErRXRyVEE7RUFFRTtBL0V3clRGO0ErRXZyVEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBL0V5clRKOztBK0V0clRBO0VBQ0U7QS9FeXJURjs7QStFcnJUQTtFQUVFO0EvRXVyVEY7QStFdHJURTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EvRXdyVEo7O0ErRWxyVEE7RUFDRTtBL0VxclRGOztBK0VqclRBO0VBRUUscUJBMUxVO0EvRTYyVFo7O0ErRWpyVEE7RUFDRTtBL0VvclRGOztBK0UxcVRBO0VBRUU7QS9FNHFURjs7QStFenFUQTtFQUNFLHlCQTdNVTtFQThNVixjQWpPSztBL0U2NFRQO0ErRTFxVEU7RUFDRSx5QkEzTmM7RUE0TmQ7RUFDQTtBL0U0cVRKOztBK0V6cVRBO0VBQ0U7RUFDQTtFQUNBLGNBNU9LO0VBNk9MO0EvRTRxVEY7QStFM3FURTtFQUNFLHlCQXRPYztFQXVPZDtFQUNBO0EvRTZxVEo7O0ErRXZxVEE7RUFBaUI7QS9FMnFUakI7O0ErRTFxVEE7RUFBbUI7QS9FOHFUbkI7O0ErRTdxVEE7RUFBbUI7QS9FaXJUbkI7O0ErRWhyVEE7RUFBbUI7QS9Fb3JUbkI7O0ErRW5yVEE7RUFBcUI7QS9FdXJUckI7O0ErRXRyVEE7RUFBcUI7QS9FMHJUckI7O0ErRXhyVEE7RUFBcUI7QS9FNHJUckI7O0ErRTNyVEE7RUFBdUI7QS9FK3JUdkI7O0ErRTlyVEE7RUFBdUI7QS9Fa3NUdkI7O0ErRWpzVEE7RUFBdUI7QS9FcXNUdkI7O0ErRXBzVEE7RUFBeUI7QS9Fd3NUekI7O0ErRXZzVEE7RUFBeUI7QS9FMnNUekI7O0ErRXpzVEE7RUFBWTtBL0U2c1RaOztBK0U1c1RBO0VBQVk7QS9FZ3RUWjs7QStFOXNUQTtFQUNHO0EvRWl0VEg7O0ErRTlzVEU7RUFDRTtBL0VpdFRKOztBK0VsdFRFO0VBQ0U7QS9FcXRUSjs7QStFdHRURTtFQUNFO0EvRXl0VEo7O0ErRTF0VEU7RUFDRTtBL0U2dFRKOztBK0U5dFRFO0VBQ0U7QS9FaXVUSjs7QStFbHVURTtFQUNFO0EvRXF1VEo7O0ErRXR1VEU7RUFDRTtBL0V5dVRKOztBK0UxdVRFO0VBQ0U7QS9FNnVUSjs7QStFOXVURTtFQUNFO0EvRWl2VEo7O0ErRWx2VEU7RUFDRTtBL0VxdlRKOztBK0VqdlRFO0VBQ0U7QS9Fb3ZUSjs7QStFcnZURTtFQUNFO0EvRXd2VEo7O0ErRXp2VEU7RUFDRTtBL0U0dlRKOztBK0U3dlRFO0VBQ0U7QS9FZ3dUSjs7QStFandURTtFQUNFO0EvRW93VEo7O0ErRXJ3VEU7RUFDRTtBL0V3d1RKOztBK0V6d1RFO0VBQ0U7QS9FNHdUSjs7QStFN3dURTtFQUNFO0EvRWd4VEo7O0ErRWp4VEU7RUFDRTtBL0VveFRKOztBK0VyeFRFO0VBQ0U7QS9Fd3hUSjs7QStFenhURTtFQUNFO0EvRTR4VEo7O0ErRTd4VEU7RUFDRTtBL0VneVRKOztBK0VqeVRFO0VBQ0U7QS9Fb3lUSjs7QStFcnlURTtFQUNFO0EvRXd5VEo7O0ErRXp5VEU7RUFDRTtBL0U0eVRKOztBK0U3eVRFO0VBQ0U7QS9FZ3pUSjs7QStFanpURTtFQUNFO0EvRW96VEo7O0ErRXJ6VEU7RUFDRTtBL0V3elRKOztBK0V6elRFO0VBQ0U7QS9FNHpUSjs7QStFN3pURTtFQUNFO0EvRWcwVEo7O0ErRWowVEU7RUFDRTtBL0VvMFRKOztBK0VyMFRFO0VBQ0U7QS9FdzBUSjs7QStFejBURTtFQUNFO0EvRTQwVEo7O0ErRTcwVEU7RUFDRTtBL0VnMVRKOztBK0VqMVRFO0VBQ0U7QS9FbzFUSjs7QStFcjFURTtFQUNFO0EvRXcxVEo7O0ErRXoxVEU7RUFDRTtBL0U0MVRKOztBK0U3MVRFO0VBQ0U7QS9FZzJUSjs7QStFajJURTtFQUNFO0EvRW8yVEo7O0ErRXIyVEU7RUFDRTtBL0V3MlRKOztBK0V6MlRFO0VBQ0U7QS9FNDJUSjs7QStFNzJURTtFQUNFO0EvRWczVEo7O0ErRWozVEU7RUFDRTtBL0VvM1RKOztBK0VyM1RFO0VBQ0U7QS9FdzNUSjs7QStFejNURTtFQUNFO0EvRTQzVEo7O0ErRTczVEU7RUFDRTtBL0VnNFRKOztBK0VqNFRFO0VBQ0U7QS9FbzRUSjs7QStFcjRURTtFQUNFO0EvRXc0VEo7O0ErRXo0VEU7RUFDRTtBL0U0NFRKOztBK0U3NFRFO0VBQ0U7QS9FZzVUSjs7QStFajVURTtFQUNFO0EvRW81VEo7O0ErRXI1VEU7RUFDRTtBL0V3NVRKOztBK0V6NVRFO0VBQ0U7QS9FNDVUSjs7QStFNzVURTtFQUNFO0EvRWc2VEo7O0ErRWo2VEU7RUFDRTtBL0VvNlRKOztBK0VyNlRFO0VBQ0U7QS9FdzZUSjs7QStFejZURTtFQUNFO0EvRTQ2VEo7O0ErRTc2VEU7RUFDRTtBL0VnN1RKOztBK0VqN1RFO0VBQ0U7QS9FbzdUSjs7QStFcjdURTtFQUNFO0EvRXc3VEo7O0ErRXo3VEU7RUFDRTtBL0U0N1RKOztBK0U3N1RFO0VBQ0U7QS9FZzhUSjs7QStFajhURTtFQUNFO0EvRW84VEo7O0ErRXI4VEU7RUFDRTtBL0V3OFRKOztBK0V6OFRFO0VBQ0U7QS9FNDhUSjs7QStFNzhURTtFQUNFO0EvRWc5VEo7O0ErRWo5VEU7RUFDRTtBL0VvOVRKOztBK0VyOVRFO0VBQ0U7QS9FdzlUSjs7QStFejlURTtFQUNFO0EvRTQ5VEo7O0ErRTc5VEU7RUFDRTtBL0VnK1RKOztBK0VqK1RFO0VBQ0U7QS9FbytUSjs7QStFcitURTtFQUNFO0EvRXcrVEo7O0ErRXorVEU7RUFDRTtBL0U0K1RKOztBK0U3K1RFO0VBQ0U7QS9FZy9USjs7QStFNytUQTtFQUVJO0lBQ0U7RS9FKytUSjs7RStFaC9URTtJQUNFO0UvRW0vVEo7O0UrRXAvVEU7SUFDRTtFL0V1L1RKOztFK0V4L1RFO0lBQ0U7RS9FMi9USjs7RStFNS9URTtJQUNFO0UvRSsvVEo7O0UrRWhnVUU7SUFDRTtFL0VtZ1VKOztFK0VwZ1VFO0lBQ0U7RS9FdWdVSjs7RStFeGdVRTtJQUNFO0UvRTJnVUo7O0UrRTVnVUU7SUFDRTtFL0UrZ1VKOztFK0VoaFVFO0lBQ0U7RS9FbWhVSjs7RStFcGhVRTtJQUNFO0UvRXVoVUo7O0UrRXhoVUU7SUFDRTtFL0UyaFVKOztFK0U1aFVFO0lBQ0U7RS9FK2hVSjs7RStFaGlVRTtJQUNFO0UvRW1pVUo7O0UrRXBpVUU7SUFDRTtFL0V1aVVKOztFK0V4aVVFO0lBQ0U7RS9FMmlVSjs7RStFNWlVRTtJQUNFO0UvRStpVUo7O0UrRWhqVUU7SUFDRTtFL0VtalVKOztFK0VwalVFO0lBQ0U7RS9FdWpVSjs7RStFeGpVRTtJQUNFO0UvRTJqVUo7O0UrRTVqVUU7SUFDRTtFL0UralVKOztFK0Voa1VFO0lBQ0U7RS9FbWtVSjs7RStFcGtVRTtJQUNFO0UvRXVrVUo7O0UrRXhrVUU7SUFDRTtFL0Uya1VKOztFK0U1a1VFO0lBQ0U7RS9FK2tVSjs7RStFaGxVRTtJQUNFO0UvRW1sVUo7O0UrRXBsVUU7SUFDRTtFL0V1bFVKOztFK0V4bFVFO0lBQ0U7RS9FMmxVSjs7RStFNWxVRTtJQUNFO0UvRStsVUo7O0UrRWhtVUU7SUFDRTtFL0VtbVVKOztFK0VwbVVFO0lBQ0U7RS9FdW1VSjs7RStFeG1VRTtJQUNFO0UvRTJtVUo7O0UrRTVtVUU7SUFDRTtFL0UrbVVKOztFK0VoblVFO0lBQ0U7RS9FbW5VSjs7RStFcG5VRTtJQUNFO0UvRXVuVUo7O0UrRXhuVUU7SUFDRTtFL0UyblVKOztFK0U1blVFO0lBQ0U7RS9FK25VSjs7RStFaG9VRTtJQUNFO0UvRW1vVUo7O0UrRXBvVUU7SUFDRTtFL0V1b1VKOztFK0V4b1VFO0lBQ0U7RS9FMm9VSjs7RStFNW9VRTtJQUNFO0UvRStvVUo7O0UrRWhwVUU7SUFDRTtFL0VtcFVKOztFK0VwcFVFO0lBQ0U7RS9FdXBVSjs7RStFeHBVRTtJQUNFO0UvRTJwVUo7O0UrRTVwVUU7SUFDRTtFL0UrcFVKOztFK0VocVVFO0lBQ0U7RS9FbXFVSjs7RStFcHFVRTtJQUNFO0UvRXVxVUo7O0UrRXhxVUU7SUFDRTtFL0UycVVKOztFK0U1cVVFO0lBQ0U7RS9FK3FVSjs7RStFaHJVRTtJQUNFO0UvRW1yVUo7O0UrRXByVUU7SUFDRTtFL0V1clVKOztFK0V4clVFO0lBQ0U7RS9FMnJVSjs7RStFNXJVRTtJQUNFO0UvRStyVUo7O0UrRWhzVUU7SUFDRTtFL0Vtc1VKOztFK0Vwc1VFO0lBQ0U7RS9FdXNVSjs7RStFeHNVRTtJQUNFO0UvRTJzVUo7O0UrRTVzVUU7SUFDRTtFL0Urc1VKOztFK0VodFVFO0lBQ0U7RS9FbXRVSjs7RStFcHRVRTtJQUNFO0UvRXV0VUo7O0UrRXh0VUU7SUFDRTtFL0UydFVKOztFK0U1dFVFO0lBQ0U7RS9FK3RVSjs7RStFaHVVRTtJQUNFO0UvRW11VUo7O0UrRXB1VUU7SUFDRTtFL0V1dVVKOztFK0V4dVVFO0lBQ0U7RS9FMnVVSjtBQUNGO0ErRXh1VUE7RUFBWTtBL0UydVVaOztBK0UxdVVBO0VBQWE7QS9FOHVVYjs7QStFN3VVQTtFQUFhO0EvRWl2VWI7O0ErRWh2VUE7RUFBYTtBL0VvdlViOztBK0VudlVBO0VBQWE7QS9FdXZVYjs7QStFdHZVQTtFQUFhO0EvRTB2VWI7O0ErRXp2VUE7RUFBYTtBL0U2dlViOztBK0U1dlVBO0VBQWE7QS9FZ3dVYjs7QStFL3ZVQTtFQUFjO0EvRW13VWQ7O0FnRm5vVkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRnNvVkQ7O0FnRnBvVkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRnVvVkQ7O0FnRm5vVkE7QUFDQTtFQUF1QjtJQUFPO0VoRndvVjVCO0FBQ0Y7QWdGeG9WQTtFQUEwQjtJQUFPO0VoRjRvVi9CO0FBQ0Y7QWdGNW9WQTtFQUFrQjtJQUFPO0lBQW1DO0VoRmlwVjFEO0FBQ0Y7QWdGaHBWQTtFQUErQjtJQUFPO0VoRm9wVnBDO0FBQ0Y7QWdGcHBWQTtFQUFrQztJQUFPO0VoRndwVnZDO0FBQ0Y7QWdGeHBWQTtFQUEwQjtJQUFPO0lBQW9DO0VoRjZwVm5FO0FBQ0Y7QWdGM3BWQztFQUNDO0VBQ0E7RUFDQTtBaEY2cFZGOztBZ0Z6cFZDO0VBQ0M7RUFDQTtFQUNBO0FoRjRwVkY7O0FnRnRxVkM7RUFDQztFQUNBO0VBQ0E7QWhGeXFWRjs7QWdGcnFWQztFQUNDO0VBQ0E7RUFDQTtBaEZ3cVZGOztBZ0ZsclZDO0VBQ0M7RUFDQTtFQUNBO0FoRnFyVkY7O0FnRmpyVkM7RUFDQztFQUNBO0VBQ0E7QWhGb3JWRjs7QWdGOXJWQztFQUNDO0VBQ0E7RUFDQTtBaEZpc1ZGOztBZ0Y3clZDO0VBQ0M7RUFDQTtFQUNBO0FoRmdzVkY7O0FnRjFzVkM7RUFDQztFQUNBO0VBQ0E7QWhGNnNWRjs7QWdGenNWQztFQUNDO0VBQ0E7RUFDQTtBaEY0c1ZGOztBZ0Z0dFZDO0VBQ0M7RUFDQTtFQUNBO0FoRnl0VkY7O0FnRnJ0VkM7RUFDQztFQUNBO0VBQ0E7QWhGd3RWRjs7QWdGbHVWQztFQUNDO0VBQ0E7RUFDQTtBaEZxdVZGOztBZ0ZqdVZDO0VBQ0M7RUFDQTtFQUNBO0FoRm91VkY7O0FnRjl1VkM7RUFDQztFQUNBO0VBQ0E7QWhGaXZWRjs7QWdGN3VWQztFQUNDO0VBQ0E7RUFDQTtBaEZndlZGOztBZ0YxdlZDO0VBQ0M7RUFDQTtFQUNBO0FoRjZ2VkY7O0FnRnp2VkM7RUFDQztFQUNBO0VBQ0E7QWhGNHZWRjs7QWdGdHdWQztFQUNDO0VBQ0E7RUFDQTtBaEZ5d1ZGOztBZ0Zyd1ZDO0VBQ0M7RUFDQTtFQUNBO0FoRnd3VkY7O0FnRmx4VkM7RUFDQztFQUNBO0VBQ0E7QWhGcXhWRjs7QWdGanhWQztFQUNDO0VBQ0E7RUFDQTtBaEZveFZGOztBZ0Y5eFZDO0VBQ0M7RUFDQTtFQUNBO0FoRml5VkY7O0FnRjd4VkM7RUFDQztFQUNBO0VBQ0E7QWhGZ3lWRjs7QWdGMXlWQztFQUNDO0VBQ0E7RUFDQTtBaEY2eVZGOztBZ0Z6eVZDO0VBQ0M7RUFDQTtFQUNBO0FoRjR5VkY7O0FnRnR6VkM7RUFDQztFQUNBO0VBQ0E7QWhGeXpWRjs7QWdGcnpWQztFQUNDO0VBQ0E7RUFDQTtBaEZ3elZGOztBZ0ZsMFZDO0VBQ0M7RUFDQTtFQUNBO0FoRnEwVkY7O0FnRmowVkM7RUFDQztFQUNBO0VBQ0E7QWhGbzBWRjs7QWdGOTBWQztFQUNDO0VBQ0E7RUFDQTtBaEZpMVZGOztBZ0Y3MFZDO0VBQ0M7RUFDQTtFQUNBO0FoRmcxVkY7O0FnRjExVkM7RUFDQztFQUNBO0VBQ0E7QWhGNjFWRjs7QWdGejFWQztFQUNDO0VBQ0E7RUFDQTtBaEY0MVZGOztBZ0Z0MlZDO0VBQ0M7RUFDQTtFQUNBO0FoRnkyVkY7O0FnRnIyVkM7RUFDQztFQUNBO0VBQ0E7QWhGdzJWRjs7QWdGbDNWQztFQUNDO0VBQ0E7RUFDQTtBaEZxM1ZGOztBZ0ZqM1ZDO0VBQ0M7RUFDQTtFQUNBO0FoRm8zVkY7O0FnRjkzVkM7RUFDQztFQUNBO0VBQ0E7QWhGaTRWRjs7QWdGNzNWQztFQUNDO0VBQ0E7RUFDQTtBaEZnNFZGOztBaUZ2NlZFO0VENENEO0lBQUs7SUFBVztFaEZpNFZmO0VnRmg0VkQ7SUFBSztJQUFXO0VoRm80VmY7RWdGbjRWRDtJQUFNO0lBQWE7RWhGdTRWbEI7RWdGdDRWRDtJQUFPO0lBQWE7RWhGMDRWbkI7QUFDRjtBaUZ2N1ZFO0VEeUNEO0lBQUs7SUFBVztFaEZtNVZmO0VnRmw1VkQ7SUFBSztJQUFXO0VoRnM1VmY7RWdGcjVWRDtJQUFNO0lBQWE7RWhGeTVWbEI7RWdGeDVWRDtJQUFPO0lBQWE7RWhGNDVWbkI7QUFDRjtBaUZ0OFZFO0VEc0NEO0lBQUs7SUFBVztFaEZxNlZmO0VnRnA2VkQ7SUFBSztJQUFXO0VoRnc2VmY7RWdGdjZWRDtJQUFNO0lBQWE7RWhGMjZWbEI7RWdGMTZWRDtJQUFPO0lBQWE7RWhGODZWbkI7QUFDRjtBaUZyOVZFO0VEbUNEO0lBQUs7SUFBVztFaEZ1N1ZmO0VnRnQ3VkQ7SUFBSztJQUFXO0VoRjA3VmY7RWdGejdWRDtJQUFNO0lBQWE7RWhGNjdWbEI7RWdGNTdWRDtJQUFPO0lBQWE7RWhGZzhWbkI7QUFDRjtBaUZoL1ZFO0VEbUREO0lBQU07RWhGaThWTDtFZ0ZoOFZEO0lBQU87SUFBYTtJQUFjO0VoRnE4VmpDO0FBQ0Y7QWlGdi9WRTtFRGdERDtJQUFNO0VoRjI4Vkw7RWdGMThWRDtJQUFPO0lBQWE7SUFBYztFaEYrOFZqQztBQUNGO0FpRjkvVkU7RUQ2Q0Q7SUFBTTtFaEZxOVZMO0VnRnA5VkQ7SUFBTztJQUFhO0lBQWM7RWhGeTlWakM7QUFDRjtBaUZyZ1dFO0VEMENEO0lBQU07RWhGKzlWTDtFZ0Y5OVZEO0lBQU87SUFBYTtJQUFjO0VoRm0rVmpDO0FBQ0Y7QWlGeGhXRTtFRDBERDtJQUFPLG1CRHdDRTtFL0UwN1ZSO0FBQ0Y7QWlGMWhXRTtFRHVERDtJQUFPLG1CRHdDRTtFL0UrN1ZSO0FBQ0Y7QWlGNWhXRTtFRG9ERDtJQUFPLG1CRHdDRTtFL0VvOFZSO0FBQ0Y7QWlGOWhXRTtFRGlERDtJQUFPLG1CRHdDRTtFL0V5OFZSO0FBQ0Y7QWlGNWlXRTtFRGdFRDtJQUFLO0VoRmcvVko7RWdGLytWRDtJQUFPO0VoRmsvVk47RWdGai9WRDtJQUFPO0VoRm8vVk47QUFDRjtBaUZwaldFO0VENkREO0lBQUs7RWhGMi9WSjtFZ0YxL1ZEO0lBQU87RWhGNi9WTjtFZ0Y1L1ZEO0lBQU87RWhGKy9WTjtBQUNGO0FpRjVqV0U7RUQwREQ7SUFBSztFaEZzZ1dKO0VnRnJnV0Q7SUFBTztFaEZ3Z1dOO0VnRnZnV0Q7SUFBTztFaEYwZ1dOO0FBQ0Y7QWlGcGtXRTtFRHVERDtJQUFLO0VoRmloV0o7RWdGaGhXRDtJQUFPO0VoRm1oV047RWdGbGhXRDtJQUFPO0VoRnFoV047QUFDRjtBaUZ4bFdFO0VEdUVEO0lBQUs7RWhGcWhXSjtFZ0ZwaFdEO0lBQU87RWhGdWhXTjtFZ0Z0aFdEO0lBQU87RWhGeWhXTjtFZ0Z4aFdEO0lBQU87RWhGMmhXTjtFZ0YxaFdEO0lBQVE7RWhGNmhXUDtBQUNGO0FpRnRtV0U7RURvRUQ7SUFBSztFaEZzaVdKO0VnRnJpV0Q7SUFBTztFaEZ3aVdOO0VnRnZpV0Q7SUFBTztFaEYwaVdOO0VnRnppV0Q7SUFBTztFaEY0aVdOO0VnRjNpV0Q7SUFBUTtFaEY4aVdQO0FBQ0Y7QWlGcG5XRTtFRGlFRDtJQUFLO0VoRnVqV0o7RWdGdGpXRDtJQUFPO0VoRnlqV047RWdGeGpXRDtJQUFPO0VoRjJqV047RWdGMWpXRDtJQUFPO0VoRjZqV047RWdGNWpXRDtJQUFRO0VoRitqV1A7QUFDRjtBaUZsb1dFO0VEOEREO0lBQUs7RWhGd2tXSjtFZ0Z2a1dEO0lBQU87RWhGMGtXTjtFZ0Z6a1dEO0lBQU87RWhGNGtXTjtFZ0Yza1dEO0lBQU87RWhGOGtXTjtFZ0Y3a1dEO0lBQVE7RWhGZ2xXUDtBQUNGO0FpRjVwV0U7RUQrRUQ7SUFBTTtJQUErQjtFaEZrbFdwQztFZ0ZqbFdEO0lBQVE7SUFBa0M7RWhGcWxXekM7RWdGcGxXRDtJQUFRO0lBQWtDO0VoRndsV3pDO0VnRnZsV0Q7SUFBUTtJQUFtQztFaEYybFcxQztFZ0YxbFdEO0lBQVE7SUFBa0M7RWhGOGxXekM7RWdGN2xXRDtJQUFPO0lBQXFDO0lBQVU7RWhGa21XckQ7RWdGam1XRDtJQUFRO0lBQXVDO0VoRnFtVzlDO0FBQ0Y7QWlGeHJXRTtFRDRFRDtJQUFNO0lBQStCO0VoRmluV3BDO0VnRmhuV0Q7SUFBUTtJQUFrQztFaEZvbld6QztFZ0ZubldEO0lBQVE7SUFBa0M7RWhGdW5XekM7RWdGdG5XRDtJQUFRO0lBQW1DO0VoRjBuVzFDO0VnRnpuV0Q7SUFBUTtJQUFrQztFaEY2bld6QztFZ0Y1bldEO0lBQU87SUFBcUM7SUFBVTtFaEZpb1dyRDtFZ0Zob1dEO0lBQVE7SUFBdUM7RWhGb29XOUM7QUFDRjtBaUZwdFdFO0VEeUVEO0lBQU07SUFBK0I7RWhGZ3BXcEM7RWdGL29XRDtJQUFRO0lBQWtDO0VoRm1wV3pDO0VnRmxwV0Q7SUFBUTtJQUFrQztFaEZzcFd6QztFZ0ZycFdEO0lBQVE7SUFBbUM7RWhGeXBXMUM7RWdGeHBXRDtJQUFRO0lBQWtDO0VoRjRwV3pDO0VnRjNwV0Q7SUFBTztJQUFxQztJQUFVO0VoRmdxV3JEO0VnRi9wV0Q7SUFBUTtJQUF1QztFaEZtcVc5QztBQUNGO0FpRmh2V0U7RURzRUQ7SUFBTTtJQUErQjtFaEYrcVdwQztFZ0Y5cVdEO0lBQVE7SUFBa0M7RWhGa3JXekM7RWdGanJXRDtJQUFRO0lBQWtDO0VoRnFyV3pDO0VnRnByV0Q7SUFBUTtJQUFtQztFaEZ3clcxQztFZ0Z2cldEO0lBQVE7SUFBa0M7RWhGMnJXekM7RWdGMXJXRDtJQUFPO0lBQXFDO0lBQVU7RWhGK3JXckQ7RWdGOXJXRDtJQUFRO0lBQXVDO0VoRmtzVzlDO0FBQ0Y7QWlGeHhXRTtFRDBGRDtJQUFNO0VoRmtzV0w7RWdGanNXRDtJQUFRO0VoRm9zV1A7RWdGbnNXRDtJQUFRO0VoRnNzV1A7RWdGcnNXRDtJQUFRO0VoRndzV1A7RWdGdnNXRDtJQUFRO0VoRjBzV1A7RWdGenNXRDtJQUFRO0VoRjRzV1A7RWdGM3NXRDtJQUFRO0VoRjhzV1A7RWdGN3NXRDtJQUFRO0lBQW1DO0lBQVU7RWhGa3RXcEQ7RWdGanRXRDtJQUFRO0lBQVk7RWhGcXRXbkI7QUFDRjtBaUZyeldFO0VEdUZEO0lBQU07RWhGa3VXTDtFZ0ZqdVdEO0lBQVE7RWhGb3VXUDtFZ0ZudVdEO0lBQVE7RWhGc3VXUDtFZ0ZydVdEO0lBQVE7RWhGd3VXUDtFZ0Z2dVdEO0lBQVE7RWhGMHVXUDtFZ0Z6dVdEO0lBQVE7RWhGNHVXUDtFZ0YzdVdEO0lBQVE7RWhGOHVXUDtFZ0Y3dVdEO0lBQVE7SUFBbUM7SUFBVTtFaEZrdldwRDtFZ0ZqdldEO0lBQVE7SUFBWTtFaEZxdlduQjtBQUNGO0FpRmwxV0U7RURvRkQ7SUFBTTtFaEZrd1dMO0VnRmp3V0Q7SUFBUTtFaEZvd1dQO0VnRm53V0Q7SUFBUTtFaEZzd1dQO0VnRnJ3V0Q7SUFBUTtFaEZ3d1dQO0VnRnZ3V0Q7SUFBUTtFaEYwd1dQO0VnRnp3V0Q7SUFBUTtFaEY0d1dQO0VnRjN3V0Q7SUFBUTtFaEY4d1dQO0VnRjd3V0Q7SUFBUTtJQUFtQztJQUFVO0VoRmt4V3BEO0VnRmp4V0Q7SUFBUTtJQUFZO0VoRnF4V25CO0FBQ0Y7QWlGLzJXRTtFRGlGRDtJQUFNO0VoRmt5V0w7RWdGanlXRDtJQUFRO0VoRm95V1A7RWdGbnlXRDtJQUFRO0VoRnN5V1A7RWdGcnlXRDtJQUFRO0VoRnd5V1A7RWdGdnlXRDtJQUFRO0VoRjB5V1A7RWdGenlXRDtJQUFRO0VoRjR5V1A7RWdGM3lXRDtJQUFRO0VoRjh5V1A7RWdGN3lXRDtJQUFRO0lBQW1DO0lBQVU7RWhGa3pXcEQ7RWdGanpXRDtJQUFRO0lBQVk7RWhGcXpXbkI7QUFDRjtBZ0YveVdDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QWhGaXpXRjtBZ0YveVdDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QWhGaXpXRjs7QWdGOXlXQzs7Ozs7Ozs7Ozs7Ozs7RUFBQTtBQ3RIQztFRHdJRDtJQUFPO0VoRmd6V047RWdGL3lXRDtJQUFPO0VoRmt6V047RWdGanpXRDtJQUFPO0VoRm96V047QUFDRjtBaUY1N1dFO0VEcUlEO0lBQU87RWhGMnpXTjtFZ0YxeldEO0lBQU87RWhGNnpXTjtFZ0Y1eldEO0lBQU87RWhGK3pXTjtBQUNGO0FpRnA4V0U7RURrSUQ7SUFBTztFaEZzMFdOO0VnRnIwV0Q7SUFBTztFaEZ3MFdOO0VnRnYwV0Q7SUFBTztFaEYwMFdOO0FBQ0Y7QWlGNThXRTtFRCtIRDtJQUFPO0VoRmkxV047RWdGaDFXRDtJQUFPO0VoRm0xV047RWdGbDFXRDtJQUFPO0VoRnExV047QUFDRjtBZ0ZuMVdBO0VBRUM7RUFDQTtFQUNBO0FoRm8xV0Q7O0FnRmoxV0E7RUFDQztFQUNBO0VBQ0E7QWhGbzFXRDs7QWlGMytXRTtFRDJKRDtJQUFLO0lBQVM7RWhGczFXYjtFZ0ZyMVdEO0lBQUs7RWhGdzFXSjtFZ0Z2MVdEO0lBQU87RWhGMDFXTjtFZ0Z6MVdEO0lBQU87RWhGNDFXTjtFZ0YzMVdEO0lBQU87RWhGODFXTjtFZ0Y3MVdEO0lBQU87RWhGZzJXTjtFZ0YvMVdEO0lBQU87RWhGazJXTjtFZ0ZqMldEO0lBQU87RWhGbzJXTjtFZ0ZuMldEO0lBQU87RWhGczJXTjtFZ0ZyMldEO0lBQU87RWhGdzJXTjtFZ0Z2MldEO0lBQU87RWhGMDJXTjtFZ0Z6MldEO0lBQU87RWhGNDJXTjtFZ0YzMldEO0lBQU07RWhGODJXTDtFZ0Y3MldEO0lBQVE7SUFBUztJQUFXO0VoRmszVzNCO0FBQ0Y7QWlGeGhYRTtFRHdKRDtJQUFLO0lBQVM7RWhGcTRXYjtFZ0ZwNFdEO0lBQUs7RWhGdTRXSjtFZ0Z0NFdEO0lBQU87RWhGeTRXTjtFZ0Z4NFdEO0lBQU87RWhGMjRXTjtFZ0YxNFdEO0lBQU87RWhGNjRXTjtFZ0Y1NFdEO0lBQU87RWhGKzRXTjtFZ0Y5NFdEO0lBQU87RWhGaTVXTjtFZ0ZoNVdEO0lBQU87RWhGbTVXTjtFZ0ZsNVdEO0lBQU87RWhGcTVXTjtFZ0ZwNVdEO0lBQU87RWhGdTVXTjtFZ0Z0NVdEO0lBQU87RWhGeTVXTjtFZ0Z4NVdEO0lBQU87RWhGMjVXTjtFZ0YxNVdEO0lBQU07RWhGNjVXTDtFZ0Y1NVdEO0lBQVE7SUFBUztJQUFXO0VoRmk2VzNCO0FBQ0Y7QWlGcGtYRTtFRHFKRDtJQUFLO0lBQVM7RWhGbzdXYjtFZ0ZuN1dEO0lBQUs7RWhGczdXSjtFZ0ZyN1dEO0lBQU87RWhGdzdXTjtFZ0Z2N1dEO0lBQU87RWhGMDdXTjtFZ0Z6N1dEO0lBQU87RWhGNDdXTjtFZ0YzN1dEO0lBQU87RWhGODdXTjtFZ0Y3N1dEO0lBQU87RWhGZzhXTjtFZ0YvN1dEO0lBQU87RWhGazhXTjtFZ0ZqOFdEO0lBQU87RWhGbzhXTjtFZ0ZuOFdEO0lBQU87RWhGczhXTjtFZ0ZyOFdEO0lBQU87RWhGdzhXTjtFZ0Z2OFdEO0lBQU87RWhGMDhXTjtFZ0Z6OFdEO0lBQU07RWhGNDhXTDtFZ0YzOFdEO0lBQVE7SUFBUztJQUFXO0VoRmc5VzNCO0FBQ0Y7QWlGaG5YRTtFRGtKRDtJQUFLO0lBQVM7RWhGbStXYjtFZ0ZsK1dEO0lBQUs7RWhGcStXSjtFZ0ZwK1dEO0lBQU87RWhGdStXTjtFZ0Z0K1dEO0lBQU87RWhGeStXTjtFZ0Z4K1dEO0lBQU87RWhGMitXTjtFZ0YxK1dEO0lBQU87RWhGNitXTjtFZ0Y1K1dEO0lBQU87RWhGKytXTjtFZ0Y5K1dEO0lBQU87RWhGaS9XTjtFZ0ZoL1dEO0lBQU87RWhGbS9XTjtFZ0ZsL1dEO0lBQU87RWhGcS9XTjtFZ0ZwL1dEO0lBQU87RWhGdS9XTjtFZ0Z0L1dEO0lBQU87RWhGeS9XTjtFZ0Z4L1dEO0lBQU07RWhGMi9XTDtFZ0YxL1dEO0lBQVE7SUFBUztJQUFXO0VoRisvVzNCO0FBQ0Y7QWdGMy9XQztFQUNDO0VBRUE7RUFDQTtFQUNBO0FoRjQvV0Y7O0ErRTlxWEE7Ozs7Q0FBQTtBQVFBOztDQUFBO0FBS0E7RUFDQTtFQUNBO0VBTUE7QS9FdXFYQTtBK0VycVhBO0VBQ0E7RUFDQTtFQU1BO0EvRWtxWEE7QStFaHFYQTtFQUNBO0VBQ0E7RUFNQTtBL0U2cFhBO0ErRTNwWEE7RUFDQTtFQUNBO0VBTUE7QS9Fd3BYQTtBK0V0cFhBO0VBQ0E7RUFDQTtFQU1BO0EvRW1wWEE7QStFaHBYQTtFQUNBO0VBQ0E7RUFNQTtFQUNBO0EvRTZvWEE7QStFN2pYQTtFQUFXO0EvRWdrWFg7O0ErRS9qWEE7RUFBYztBL0Vta1hkOztBK0Vsa1hBO0VBRUU7RUFDQTtBL0Vva1hGOztBK0Vqa1hBO0VBQ0U7RUFDQTtFQUNBO0VBRUE7QS9FbWtYRjtBK0Vsa1hFO0VBQ0U7RUFDQTtBL0Vva1hKO0ErRWxrWEU7RUFDRTtBL0Vva1hKOztBK0UvalhBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRWtrWEY7QStFamtYRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0Vra1hKOztBK0U1alhBO0VBQTBCO0EvRWdrWDFCOztBK0U3alhBO0VBQWEseUJBdEdIO0EvRXVxWFY7O0ErRWhrWEE7RUFBZSxjQXZHTDtBL0UycVhWOztBK0Vsa1hBO0VBQWUseUJBeEdBO0EvRThxWGY7O0ErRXJrWEE7RUFBa0IsY0F6R0g7QS9Fa3JYZjs7QStFeGtYQTtFQUFnQix5QkF2R0U7QS9FbXJYbEI7O0ErRTNrWEE7RUFBbUIsY0F4R0Q7QS9FdXJYbEI7O0ErRTdrWEE7RUFBZSx5QkF6R0M7QS9FMHJYaEI7O0ErRWhsWEE7RUFBaUIsY0ExR0Q7QS9FOHJYaEI7O0ErRW5sWEE7RUFBZSx5QkExR0c7QS9FaXNYbEI7O0ErRXRsWEE7RUFBa0IsY0EzR0E7QS9FcXNYbEI7O0ErRXhsWEE7RUFBZSx5QkFuR0g7QS9FK3JYWjs7QStFM2xYQTtFQUFpQixjQXBHTDtBL0Vtc1haOztBK0U5bFhBO0VBQWlCLHlCQXBHQTtBL0Vzc1hqQjs7QStFam1YQTtFQUFtQixjQXJHRjtBL0Uwc1hqQjs7QStFcG1YQTtFQUFrQix5QkFyR0M7QS9FNnNYbkI7O0ErRXZtWEE7RUFBb0IsY0F0R0Q7QS9FaXRYbkI7O0ErRTFtWEE7RUFBaUIseUJBdEdBO0EvRW90WGpCOztBK0U3bVhBO0VBQW1CLGNBdkdGO0EvRXd0WGpCOztBK0VoblhBO0VBQWtCLHlCQXZHQztBL0UydFhuQjs7QStFbm5YQTtFQUFvQixjQXhHRDtBL0UrdFhuQjs7QStFdG5YQTtFQUFtQix5QkF4R0M7QS9Fa3VYcEI7O0ErRXpuWEE7RUFBcUIsY0F6R0Q7QS9Fc3VYcEI7O0ErRTNuWEE7RUFBVyx5QkE3SUg7QS9FNHdYUjs7QStFOW5YQTtFQUFhLGNBOUlMO0EvRWd4WFI7O0ErRWpvWEE7RUFBVSx5QkFyRkg7QS9FMHRYUDs7QStFcG9YQTtFQUFZLGNBdEZMO0EvRTh0WFA7O0ErRXRvWEE7RUFBWSxvREFsR0M7QS9FNHVYYjs7QStFem9YQTtFQUFjLG9EQWxHQztBL0UrdVhmOztBK0Uzb1hBO0VBQWdCLHlCQTVGSDtBL0UydVhiOztBK0U5b1hBO0VBQWtCLGNBN0ZMO0EvRSt1WGI7O0ErRS9vWEE7RUFBVztBL0VtcFhYOztBK0VscFhBO0VBQWE7QS9Fc3BYYjs7QStFbnBYQTtFQUFTLHlCQTNKSDtBL0VrelhOOztBK0V0cFhBO0VBQVc7QS9FMHBYWDs7QStFeHBYQTtFQUFXLHlCQXhKSDtBL0VvelhSOztBK0UzcFhBO0VBQWE7QS9FK3BYYjs7QStFN3BYQTtFQUFNO0VBQ047QS9FaXFYQTs7QStFM3BYRTtFQUNFO0VBQ0E7QS9FOHBYSjs7QStFM3BYQTtFQUNFO0EvRThwWEY7O0ErRTFwWEE7RUFFRTtBL0U0cFhGO0ErRTNwWEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBL0U2cFhKOztBK0UxcFhBO0VBQ0U7QS9FNnBYRjs7QStFenBYQTtFQUVFO0EvRTJwWEY7QStFMXBYRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EvRTRwWEo7O0ErRXRwWEE7RUFDRTtBL0V5cFhGOztBK0VycFhBO0VBRUUscUJBMUxVO0EvRWkxWFo7O0ErRXJwWEE7RUFDRTtBL0V3cFhGOztBK0U5b1hBO0VBRUU7QS9FZ3BYRjs7QStFN29YQTtFQUNFLHlCQTdNVTtFQThNVixjQWpPSztBL0VpM1hQO0ErRTlvWEU7RUFDRSx5QkEzTmM7RUE0TmQ7RUFDQTtBL0VncFhKOztBK0U3b1hBO0VBQ0U7RUFDQTtFQUNBLGNBNU9LO0VBNk9MO0EvRWdwWEY7QStFL29YRTtFQUNFLHlCQXRPYztFQXVPZDtFQUNBO0EvRWlwWEo7O0ErRTNvWEE7RUFBaUI7QS9FK29YakI7O0ErRTlvWEE7RUFBbUI7QS9Fa3BYbkI7O0ErRWpwWEE7RUFBbUI7QS9FcXBYbkI7O0ErRXBwWEE7RUFBbUI7QS9Fd3BYbkI7O0ErRXZwWEE7RUFBcUI7QS9FMnBYckI7O0ErRTFwWEE7RUFBcUI7QS9FOHBYckI7O0ErRTVwWEE7RUFBcUI7QS9FZ3FYckI7O0ErRS9wWEE7RUFBdUI7QS9FbXFYdkI7O0ErRWxxWEE7RUFBdUI7QS9Fc3FYdkI7O0ErRXJxWEE7RUFBdUI7QS9FeXFYdkI7O0ErRXhxWEE7RUFBeUI7QS9FNHFYekI7O0ErRTNxWEE7RUFBeUI7QS9FK3FYekI7O0ErRTdxWEE7RUFBWTtBL0VpclhaOztBK0VoclhBO0VBQVk7QS9Fb3JYWjs7QStFbHJYQTtFQUNHO0EvRXFyWEg7O0ErRWxyWEU7RUFDRTtBL0VxclhKOztBK0V0clhFO0VBQ0U7QS9FeXJYSjs7QStFMXJYRTtFQUNFO0EvRTZyWEo7O0ErRTlyWEU7RUFDRTtBL0Vpc1hKOztBK0Vsc1hFO0VBQ0U7QS9FcXNYSjs7QStFdHNYRTtFQUNFO0EvRXlzWEo7O0ErRTFzWEU7RUFDRTtBL0U2c1hKOztBK0U5c1hFO0VBQ0U7QS9FaXRYSjs7QStFbHRYRTtFQUNFO0EvRXF0WEo7O0ErRXR0WEU7RUFDRTtBL0V5dFhKOztBK0VydFhFO0VBQ0U7QS9Fd3RYSjs7QStFenRYRTtFQUNFO0EvRTR0WEo7O0ErRTd0WEU7RUFDRTtBL0VndVhKOztBK0VqdVhFO0VBQ0U7QS9Fb3VYSjs7QStFcnVYRTtFQUNFO0EvRXd1WEo7O0ErRXp1WEU7RUFDRTtBL0U0dVhKOztBK0U3dVhFO0VBQ0U7QS9FZ3ZYSjs7QStFanZYRTtFQUNFO0EvRW92WEo7O0ErRXJ2WEU7RUFDRTtBL0V3dlhKOztBK0V6dlhFO0VBQ0U7QS9FNHZYSjs7QStFN3ZYRTtFQUNFO0EvRWd3WEo7O0ErRWp3WEU7RUFDRTtBL0Vvd1hKOztBK0Vyd1hFO0VBQ0U7QS9Fd3dYSjs7QStFendYRTtFQUNFO0EvRTR3WEo7O0ErRTd3WEU7RUFDRTtBL0VneFhKOztBK0VqeFhFO0VBQ0U7QS9Fb3hYSjs7QStFcnhYRTtFQUNFO0EvRXd4WEo7O0ErRXp4WEU7RUFDRTtBL0U0eFhKOztBK0U3eFhFO0VBQ0U7QS9FZ3lYSjs7QStFanlYRTtFQUNFO0EvRW95WEo7O0ErRXJ5WEU7RUFDRTtBL0V3eVhKOztBK0V6eVhFO0VBQ0U7QS9FNHlYSjs7QStFN3lYRTtFQUNFO0EvRWd6WEo7O0ErRWp6WEU7RUFDRTtBL0VvelhKOztBK0VyelhFO0VBQ0U7QS9Fd3pYSjs7QStFenpYRTtFQUNFO0EvRTR6WEo7O0ErRTd6WEU7RUFDRTtBL0VnMFhKOztBK0VqMFhFO0VBQ0U7QS9FbzBYSjs7QStFcjBYRTtFQUNFO0EvRXcwWEo7O0ErRXowWEU7RUFDRTtBL0U0MFhKOztBK0U3MFhFO0VBQ0U7QS9FZzFYSjs7QStFajFYRTtFQUNFO0EvRW8xWEo7O0ErRXIxWEU7RUFDRTtBL0V3MVhKOztBK0V6MVhFO0VBQ0U7QS9FNDFYSjs7QStFNzFYRTtFQUNFO0EvRWcyWEo7O0ErRWoyWEU7RUFDRTtBL0VvMlhKOztBK0VyMlhFO0VBQ0U7QS9FdzJYSjs7QStFejJYRTtFQUNFO0EvRTQyWEo7O0ErRTcyWEU7RUFDRTtBL0VnM1hKOztBK0VqM1hFO0VBQ0U7QS9FbzNYSjs7QStFcjNYRTtFQUNFO0EvRXczWEo7O0ErRXozWEU7RUFDRTtBL0U0M1hKOztBK0U3M1hFO0VBQ0U7QS9FZzRYSjs7QStFajRYRTtFQUNFO0EvRW80WEo7O0ErRXI0WEU7RUFDRTtBL0V3NFhKOztBK0V6NFhFO0VBQ0U7QS9FNDRYSjs7QStFNzRYRTtFQUNFO0EvRWc1WEo7O0ErRWo1WEU7RUFDRTtBL0VvNVhKOztBK0VyNVhFO0VBQ0U7QS9FdzVYSjs7QStFejVYRTtFQUNFO0EvRTQ1WEo7O0ErRTc1WEU7RUFDRTtBL0VnNlhKOztBK0VqNlhFO0VBQ0U7QS9FbzZYSjs7QStFcjZYRTtFQUNFO0EvRXc2WEo7O0ErRXo2WEU7RUFDRTtBL0U0NlhKOztBK0U3NlhFO0VBQ0U7QS9FZzdYSjs7QStFajdYRTtFQUNFO0EvRW83WEo7O0ErRXI3WEU7RUFDRTtBL0V3N1hKOztBK0V6N1hFO0VBQ0U7QS9FNDdYSjs7QStFNzdYRTtFQUNFO0EvRWc4WEo7O0ErRWo4WEU7RUFDRTtBL0VvOFhKOztBK0VyOFhFO0VBQ0U7QS9FdzhYSjs7QStFejhYRTtFQUNFO0EvRTQ4WEo7O0ErRTc4WEU7RUFDRTtBL0VnOVhKOztBK0VqOVhFO0VBQ0U7QS9FbzlYSjs7QStFajlYQTtFQUVJO0lBQ0U7RS9FbTlYSjs7RStFcDlYRTtJQUNFO0UvRXU5WEo7O0UrRXg5WEU7SUFDRTtFL0UyOVhKOztFK0U1OVhFO0lBQ0U7RS9FKzlYSjs7RStFaCtYRTtJQUNFO0UvRW0rWEo7O0UrRXArWEU7SUFDRTtFL0V1K1hKOztFK0V4K1hFO0lBQ0U7RS9FMitYSjs7RStFNStYRTtJQUNFO0UvRSsrWEo7O0UrRWgvWEU7SUFDRTtFL0VtL1hKOztFK0VwL1hFO0lBQ0U7RS9FdS9YSjs7RStFeC9YRTtJQUNFO0UvRTIvWEo7O0UrRTUvWEU7SUFDRTtFL0UrL1hKOztFK0VoZ1lFO0lBQ0U7RS9FbWdZSjs7RStFcGdZRTtJQUNFO0UvRXVnWUo7O0UrRXhnWUU7SUFDRTtFL0UyZ1lKOztFK0U1Z1lFO0lBQ0U7RS9FK2dZSjs7RStFaGhZRTtJQUNFO0UvRW1oWUo7O0UrRXBoWUU7SUFDRTtFL0V1aFlKOztFK0V4aFlFO0lBQ0U7RS9FMmhZSjs7RStFNWhZRTtJQUNFO0UvRStoWUo7O0UrRWhpWUU7SUFDRTtFL0VtaVlKOztFK0VwaVlFO0lBQ0U7RS9FdWlZSjs7RStFeGlZRTtJQUNFO0UvRTJpWUo7O0UrRTVpWUU7SUFDRTtFL0UraVlKOztFK0VoallFO0lBQ0U7RS9FbWpZSjs7RStFcGpZRTtJQUNFO0UvRXVqWUo7O0UrRXhqWUU7SUFDRTtFL0UyallKOztFK0U1allFO0lBQ0U7RS9FK2pZSjs7RStFaGtZRTtJQUNFO0UvRW1rWUo7O0UrRXBrWUU7SUFDRTtFL0V1a1lKOztFK0V4a1lFO0lBQ0U7RS9FMmtZSjs7RStFNWtZRTtJQUNFO0UvRStrWUo7O0UrRWhsWUU7SUFDRTtFL0VtbFlKOztFK0VwbFlFO0lBQ0U7RS9FdWxZSjs7RStFeGxZRTtJQUNFO0UvRTJsWUo7O0UrRTVsWUU7SUFDRTtFL0UrbFlKOztFK0VobVlFO0lBQ0U7RS9FbW1ZSjs7RStFcG1ZRTtJQUNFO0UvRXVtWUo7O0UrRXhtWUU7SUFDRTtFL0UybVlKOztFK0U1bVlFO0lBQ0U7RS9FK21ZSjs7RStFaG5ZRTtJQUNFO0UvRW1uWUo7O0UrRXBuWUU7SUFDRTtFL0V1bllKOztFK0V4bllFO0lBQ0U7RS9FMm5ZSjs7RStFNW5ZRTtJQUNFO0UvRStuWUo7O0UrRWhvWUU7SUFDRTtFL0Vtb1lKOztFK0Vwb1lFO0lBQ0U7RS9FdW9ZSjs7RStFeG9ZRTtJQUNFO0UvRTJvWUo7O0UrRTVvWUU7SUFDRTtFL0Urb1lKOztFK0VocFlFO0lBQ0U7RS9FbXBZSjs7RStFcHBZRTtJQUNFO0UvRXVwWUo7O0UrRXhwWUU7SUFDRTtFL0UycFlKOztFK0U1cFlFO0lBQ0U7RS9FK3BZSjs7RStFaHFZRTtJQUNFO0UvRW1xWUo7O0UrRXBxWUU7SUFDRTtFL0V1cVlKOztFK0V4cVlFO0lBQ0U7RS9FMnFZSjs7RStFNXFZRTtJQUNFO0UvRStxWUo7O0UrRWhyWUU7SUFDRTtFL0VtcllKOztFK0VwcllFO0lBQ0U7RS9FdXJZSjs7RStFeHJZRTtJQUNFO0UvRTJyWUo7O0UrRTVyWUU7SUFDRTtFL0UrcllKOztFK0Voc1lFO0lBQ0U7RS9FbXNZSjs7RStFcHNZRTtJQUNFO0UvRXVzWUo7O0UrRXhzWUU7SUFDRTtFL0Uyc1lKOztFK0U1c1lFO0lBQ0U7RS9FK3NZSjtBQUNGO0ErRTVzWUE7RUFBWTtBL0Urc1laOztBK0U5c1lBO0VBQWE7QS9Fa3RZYjs7QStFanRZQTtFQUFhO0EvRXF0WWI7O0ErRXB0WUE7RUFBYTtBL0V3dFliOztBK0V2dFlBO0VBQWE7QS9FMnRZYjs7QStFMXRZQTtFQUFhO0EvRTh0WWI7O0ErRTd0WUE7RUFBYTtBL0VpdVliOztBK0VodVlBO0VBQWE7QS9Fb3VZYjs7QStFbnVZQTtFQUFjO0EvRXV1WWQ7O0ErRTFtWkE7Ozs7Q0FBQTtBQVFBOztDQUFBO0FBS0E7RUFDQTtFQUNBO0VBTUE7QS9FbW1aQTtBK0VqbVpBO0VBQ0E7RUFDQTtFQU1BO0EvRThsWkE7QStFNWxaQTtFQUNBO0VBQ0E7RUFNQTtBL0V5bFpBO0ErRXZsWkE7RUFDQTtFQUNBO0VBTUE7QS9Fb2xaQTtBK0VsbFpBO0VBQ0E7RUFDQTtFQU1BO0EvRStrWkE7QStFNWtaQTtFQUNBO0VBQ0E7RUFNQTtFQUNBO0EvRXlrWkE7QStFei9ZQTtFQUFXO0EvRTQvWVg7O0ErRTMvWUE7RUFBYztBL0UrL1lkOztBK0U5L1lBO0VBRUU7RUFDQTtBL0VnZ1pGOztBK0U3L1lBO0VBQ0U7RUFDQTtFQUNBO0VBRUE7QS9FKy9ZRjtBK0U5L1lFO0VBQ0U7RUFDQTtBL0VnZ1pKO0ErRTkvWUU7RUFDRTtBL0VnZ1pKOztBK0UzL1lBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRTgvWUY7QStFNy9ZRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0U4L1lKOztBK0V4L1lBO0VBQTBCO0EvRTQvWTFCOztBK0V6L1lBO0VBQWEseUJBdEdIO0EvRW1tWlY7O0ErRTUvWUE7RUFBZSxjQXZHTDtBL0V1bVpWOztBK0U5L1lBO0VBQWUseUJBeEdBO0EvRTBtWmY7O0ErRWpnWkE7RUFBa0IsY0F6R0g7QS9FOG1aZjs7QStFcGdaQTtFQUFnQix5QkF2R0U7QS9FK21abEI7O0ErRXZnWkE7RUFBbUIsY0F4R0Q7QS9FbW5abEI7O0ErRXpnWkE7RUFBZSx5QkF6R0M7QS9Fc25aaEI7O0ErRTVnWkE7RUFBaUIsY0ExR0Q7QS9FMG5aaEI7O0ErRS9nWkE7RUFBZSx5QkExR0c7QS9FNm5abEI7O0ErRWxoWkE7RUFBa0IsY0EzR0E7QS9FaW9abEI7O0ErRXBoWkE7RUFBZSx5QkFuR0g7QS9FMm5aWjs7QStFdmhaQTtFQUFpQixjQXBHTDtBL0UrblpaOztBK0UxaFpBO0VBQWlCLHlCQXBHQTtBL0Vrb1pqQjs7QStFN2haQTtFQUFtQixjQXJHRjtBL0Vzb1pqQjs7QStFaGlaQTtFQUFrQix5QkFyR0M7QS9FeW9abkI7O0ErRW5pWkE7RUFBb0IsY0F0R0Q7QS9FNm9abkI7O0ErRXRpWkE7RUFBaUIseUJBdEdBO0EvRWdwWmpCOztBK0V6aVpBO0VBQW1CLGNBdkdGO0EvRW9wWmpCOztBK0U1aVpBO0VBQWtCLHlCQXZHQztBL0V1cFpuQjs7QStFL2laQTtFQUFvQixjQXhHRDtBL0UycFpuQjs7QStFbGpaQTtFQUFtQix5QkF4R0M7QS9FOHBacEI7O0ErRXJqWkE7RUFBcUIsY0F6R0Q7QS9Fa3FacEI7O0ErRXZqWkE7RUFBVyx5QkE3SUg7QS9Fd3NaUjs7QStFMWpaQTtFQUFhLGNBOUlMO0EvRTRzWlI7O0ErRTdqWkE7RUFBVSx5QkFyRkg7QS9Fc3BaUDs7QStFaGtaQTtFQUFZLGNBdEZMO0EvRTBwWlA7O0ErRWxrWkE7RUFBWSxvREFsR0M7QS9Fd3FaYjs7QStFcmtaQTtFQUFjLG9EQWxHQztBL0UycVpmOztBK0V2a1pBO0VBQWdCLHlCQTVGSDtBL0V1cVpiOztBK0Uxa1pBO0VBQWtCLGNBN0ZMO0EvRTJxWmI7O0ErRTNrWkE7RUFBVztBL0Ura1pYOztBK0U5a1pBO0VBQWE7QS9Fa2xaYjs7QStFL2taQTtFQUFTLHlCQTNKSDtBL0U4dVpOOztBK0VsbFpBO0VBQVc7QS9Fc2xaWDs7QStFcGxaQTtFQUFXLHlCQXhKSDtBL0VndlpSOztBK0V2bFpBO0VBQWE7QS9FMmxaYjs7QStFemxaQTtFQUFNO0VBQ047QS9FNmxaQTs7QStFdmxaRTtFQUNFO0VBQ0E7QS9FMGxaSjs7QStFdmxaQTtFQUNFO0EvRTBsWkY7O0ErRXRsWkE7RUFFRTtBL0V3bFpGO0ErRXZsWkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBL0V5bFpKOztBK0V0bFpBO0VBQ0U7QS9FeWxaRjs7QStFcmxaQTtFQUVFO0EvRXVsWkY7QStFdGxaRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EvRXdsWko7O0ErRWxsWkE7RUFDRTtBL0VxbFpGOztBK0VqbFpBO0VBRUUscUJBMUxVO0EvRTZ3Wlo7O0ErRWpsWkE7RUFDRTtBL0VvbFpGOztBK0Uxa1pBO0VBRUU7QS9FNGtaRjs7QStFemtaQTtFQUNFLHlCQTdNVTtFQThNVixjQWpPSztBL0U2eVpQO0ErRTFrWkU7RUFDRSx5QkEzTmM7RUE0TmQ7RUFDQTtBL0U0a1pKOztBK0V6a1pBO0VBQ0U7RUFDQTtFQUNBLGNBNU9LO0VBNk9MO0EvRTRrWkY7QStFM2taRTtFQUNFLHlCQXRPYztFQXVPZDtFQUNBO0EvRTZrWko7O0ErRXZrWkE7RUFBaUI7QS9FMmtaakI7O0ErRTFrWkE7RUFBbUI7QS9FOGtabkI7O0ErRTdrWkE7RUFBbUI7QS9FaWxabkI7O0ErRWhsWkE7RUFBbUI7QS9Fb2xabkI7O0ErRW5sWkE7RUFBcUI7QS9FdWxackI7O0ErRXRsWkE7RUFBcUI7QS9FMGxackI7O0ErRXhsWkE7RUFBcUI7QS9FNGxackI7O0ErRTNsWkE7RUFBdUI7QS9FK2xadkI7O0ErRTlsWkE7RUFBdUI7QS9Fa21adkI7O0ErRWptWkE7RUFBdUI7QS9FcW1adkI7O0ErRXBtWkE7RUFBeUI7QS9Fd21aekI7O0ErRXZtWkE7RUFBeUI7QS9FMm1aekI7O0ErRXptWkE7RUFBWTtBL0U2bVpaOztBK0U1bVpBO0VBQVk7QS9FZ25aWjs7QStFOW1aQTtFQUNHO0EvRWluWkg7O0ErRTltWkU7RUFDRTtBL0VpblpKOztBK0VsblpFO0VBQ0U7QS9FcW5aSjs7QStFdG5aRTtFQUNFO0EvRXluWko7O0ErRTFuWkU7RUFDRTtBL0U2blpKOztBK0U5blpFO0VBQ0U7QS9FaW9aSjs7QStFbG9aRTtFQUNFO0EvRXFvWko7O0ErRXRvWkU7RUFDRTtBL0V5b1pKOztBK0Uxb1pFO0VBQ0U7QS9FNm9aSjs7QStFOW9aRTtFQUNFO0EvRWlwWko7O0ErRWxwWkU7RUFDRTtBL0VxcFpKOztBK0VqcFpFO0VBQ0U7QS9Fb3BaSjs7QStFcnBaRTtFQUNFO0EvRXdwWko7O0ErRXpwWkU7RUFDRTtBL0U0cFpKOztBK0U3cFpFO0VBQ0U7QS9FZ3FaSjs7QStFanFaRTtFQUNFO0EvRW9xWko7O0ErRXJxWkU7RUFDRTtBL0V3cVpKOztBK0V6cVpFO0VBQ0U7QS9FNHFaSjs7QStFN3FaRTtFQUNFO0EvRWdyWko7O0ErRWpyWkU7RUFDRTtBL0VvclpKOztBK0VyclpFO0VBQ0U7QS9Fd3JaSjs7QStFenJaRTtFQUNFO0EvRTRyWko7O0ErRTdyWkU7RUFDRTtBL0Vnc1pKOztBK0Vqc1pFO0VBQ0U7QS9Fb3NaSjs7QStFcnNaRTtFQUNFO0EvRXdzWko7O0ErRXpzWkU7RUFDRTtBL0U0c1pKOztBK0U3c1pFO0VBQ0U7QS9FZ3RaSjs7QStFanRaRTtFQUNFO0EvRW90Wko7O0ErRXJ0WkU7RUFDRTtBL0V3dFpKOztBK0V6dFpFO0VBQ0U7QS9FNHRaSjs7QStFN3RaRTtFQUNFO0EvRWd1Wko7O0ErRWp1WkU7RUFDRTtBL0VvdVpKOztBK0VydVpFO0VBQ0U7QS9Fd3VaSjs7QStFenVaRTtFQUNFO0EvRTR1Wko7O0ErRTd1WkU7RUFDRTtBL0VndlpKOztBK0VqdlpFO0VBQ0U7QS9Fb3ZaSjs7QStFcnZaRTtFQUNFO0EvRXd2Wko7O0ErRXp2WkU7RUFDRTtBL0U0dlpKOztBK0U3dlpFO0VBQ0U7QS9FZ3daSjs7QStFandaRTtFQUNFO0EvRW93Wko7O0ErRXJ3WkU7RUFDRTtBL0V3d1pKOztBK0V6d1pFO0VBQ0U7QS9FNHdaSjs7QStFN3daRTtFQUNFO0EvRWd4Wko7O0ErRWp4WkU7RUFDRTtBL0VveFpKOztBK0VyeFpFO0VBQ0U7QS9Fd3haSjs7QStFenhaRTtFQUNFO0EvRTR4Wko7O0ErRTd4WkU7RUFDRTtBL0VneVpKOztBK0VqeVpFO0VBQ0U7QS9Fb3laSjs7QStFcnlaRTtFQUNFO0EvRXd5Wko7O0ErRXp5WkU7RUFDRTtBL0U0eVpKOztBK0U3eVpFO0VBQ0U7QS9FZ3paSjs7QStFanpaRTtFQUNFO0EvRW96Wko7O0ErRXJ6WkU7RUFDRTtBL0V3elpKOztBK0V6elpFO0VBQ0U7QS9FNHpaSjs7QStFN3paRTtFQUNFO0EvRWcwWko7O0ErRWowWkU7RUFDRTtBL0VvMFpKOztBK0VyMFpFO0VBQ0U7QS9FdzBaSjs7QStFejBaRTtFQUNFO0EvRTQwWko7O0ErRTcwWkU7RUFDRTtBL0VnMVpKOztBK0VqMVpFO0VBQ0U7QS9FbzFaSjs7QStFcjFaRTtFQUNFO0EvRXcxWko7O0ErRXoxWkU7RUFDRTtBL0U0MVpKOztBK0U3MVpFO0VBQ0U7QS9FZzJaSjs7QStFajJaRTtFQUNFO0EvRW8yWko7O0ErRXIyWkU7RUFDRTtBL0V3MlpKOztBK0V6MlpFO0VBQ0U7QS9FNDJaSjs7QStFNzJaRTtFQUNFO0EvRWczWko7O0ErRWozWkU7RUFDRTtBL0VvM1pKOztBK0VyM1pFO0VBQ0U7QS9FdzNaSjs7QStFejNaRTtFQUNFO0EvRTQzWko7O0ErRTczWkU7RUFDRTtBL0VnNFpKOztBK0VqNFpFO0VBQ0U7QS9FbzRaSjs7QStFcjRaRTtFQUNFO0EvRXc0Wko7O0ErRXo0WkU7RUFDRTtBL0U0NFpKOztBK0U3NFpFO0VBQ0U7QS9FZzVaSjs7QStFNzRaQTtFQUVJO0lBQ0U7RS9FKzRaSjs7RStFaDVaRTtJQUNFO0UvRW01Wko7O0UrRXA1WkU7SUFDRTtFL0V1NVpKOztFK0V4NVpFO0lBQ0U7RS9FMjVaSjs7RStFNTVaRTtJQUNFO0UvRSs1Wko7O0UrRWg2WkU7SUFDRTtFL0VtNlpKOztFK0VwNlpFO0lBQ0U7RS9FdTZaSjs7RStFeDZaRTtJQUNFO0UvRTI2Wko7O0UrRTU2WkU7SUFDRTtFL0UrNlpKOztFK0VoN1pFO0lBQ0U7RS9FbTdaSjs7RStFcDdaRTtJQUNFO0UvRXU3Wko7O0UrRXg3WkU7SUFDRTtFL0UyN1pKOztFK0U1N1pFO0lBQ0U7RS9FKzdaSjs7RStFaDhaRTtJQUNFO0UvRW04Wko7O0UrRXA4WkU7SUFDRTtFL0V1OFpKOztFK0V4OFpFO0lBQ0U7RS9FMjhaSjs7RStFNThaRTtJQUNFO0UvRSs4Wko7O0UrRWg5WkU7SUFDRTtFL0VtOVpKOztFK0VwOVpFO0lBQ0U7RS9FdTlaSjs7RStFeDlaRTtJQUNFO0UvRTI5Wko7O0UrRTU5WkU7SUFDRTtFL0UrOVpKOztFK0VoK1pFO0lBQ0U7RS9FbStaSjs7RStFcCtaRTtJQUNFO0UvRXUrWko7O0UrRXgrWkU7SUFDRTtFL0UyK1pKOztFK0U1K1pFO0lBQ0U7RS9FKytaSjs7RStFaC9aRTtJQUNFO0UvRW0vWko7O0UrRXAvWkU7SUFDRTtFL0V1L1pKOztFK0V4L1pFO0lBQ0U7RS9FMi9aSjs7RStFNS9aRTtJQUNFO0UvRSsvWko7O0UrRWhnYUU7SUFDRTtFL0VtZ2FKOztFK0VwZ2FFO0lBQ0U7RS9FdWdhSjs7RStFeGdhRTtJQUNFO0UvRTJnYUo7O0UrRTVnYUU7SUFDRTtFL0UrZ2FKOztFK0VoaGFFO0lBQ0U7RS9FbWhhSjs7RStFcGhhRTtJQUNFO0UvRXVoYUo7O0UrRXhoYUU7SUFDRTtFL0UyaGFKOztFK0U1aGFFO0lBQ0U7RS9FK2hhSjs7RStFaGlhRTtJQUNFO0UvRW1pYUo7O0UrRXBpYUU7SUFDRTtFL0V1aWFKOztFK0V4aWFFO0lBQ0U7RS9FMmlhSjs7RStFNWlhRTtJQUNFO0UvRStpYUo7O0UrRWhqYUU7SUFDRTtFL0VtamFKOztFK0VwamFFO0lBQ0U7RS9FdWphSjs7RStFeGphRTtJQUNFO0UvRTJqYUo7O0UrRTVqYUU7SUFDRTtFL0UramFKOztFK0Voa2FFO0lBQ0U7RS9FbWthSjs7RStFcGthRTtJQUNFO0UvRXVrYUo7O0UrRXhrYUU7SUFDRTtFL0Uya2FKOztFK0U1a2FFO0lBQ0U7RS9FK2thSjs7RStFaGxhRTtJQUNFO0UvRW1sYUo7O0UrRXBsYUU7SUFDRTtFL0V1bGFKOztFK0V4bGFFO0lBQ0U7RS9FMmxhSjs7RStFNWxhRTtJQUNFO0UvRStsYUo7O0UrRWhtYUU7SUFDRTtFL0VtbWFKOztFK0VwbWFFO0lBQ0U7RS9FdW1hSjs7RStFeG1hRTtJQUNFO0UvRTJtYUo7O0UrRTVtYUU7SUFDRTtFL0UrbWFKOztFK0VobmFFO0lBQ0U7RS9FbW5hSjs7RStFcG5hRTtJQUNFO0UvRXVuYUo7O0UrRXhuYUU7SUFDRTtFL0UybmFKOztFK0U1bmFFO0lBQ0U7RS9FK25hSjs7RStFaG9hRTtJQUNFO0UvRW1vYUo7O0UrRXBvYUU7SUFDRTtFL0V1b2FKOztFK0V4b2FFO0lBQ0U7RS9FMm9hSjtBQUNGO0ErRXhvYUE7RUFBWTtBL0Uyb2FaOztBK0Uxb2FBO0VBQWE7QS9FOG9hYjs7QStFN29hQTtFQUFhO0EvRWlwYWI7O0ErRWhwYUE7RUFBYTtBL0VvcGFiOztBK0VucGFBO0VBQWE7QS9FdXBhYjs7QStFdHBhQTtFQUFhO0EvRTBwYWI7O0ErRXpwYUE7RUFBYTtBL0U2cGFiOztBK0U1cGFBO0VBQWE7QS9FZ3FhYjs7QStFL3BhQTtFQUFjO0EvRW1xYWQ7O0FrRnJpYkE7RUFFRTtJQUNFO0lBQ0E7SUFDQTtFbEZ1aWJGO0FBQ0Y7QWtGaGliQTtFQUVFO0lBQ0U7RWxGaWliRjs7RWtGL2hiQTtJQUNFO0VsRmtpYkY7O0VrRi9oYkE7SUFDRTtFbEZraWJGO0VrRmppYkU7SUFDRTtJQUNBO0VsRm1pYko7RWtGOWhiSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VsRmdpYk47RWtGNWhiRTtJQUNFO0VsRjhoYko7O0VrRnpoYkk7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFbEY0aGJOO0VrRnhoYkU7SUFDRTtFbEYwaGJKO0FBQ0Y7QW1GbmxiQTtFQUNFO0VBQ0E7RUFDQTtBbkZxbGJGO0FtRnBsYkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7QW5Gb2xiSjtBbUZqbGJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5GbWxiSjtBbUZobGJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRmtsYko7QW1GOWtiRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJKMkRNO0VJMUROO0FuRmdsYko7QW1GNWtiRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFFQTtBbkY0a2JKO0FtRnprYkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtBbkYwa2JKO0FtRnZrYkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRnlrYko7QW1GcmtiRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJKa0JNO0VJakJOO0FuRnVrYko7QW1GcGtiRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJKYWM7RUlaZDtBbkZza2JKOztBb0ZocWJBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7QXBGbXFiRjs7QW9GOXBiQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FwRmlxYkY7QW9GOXBiRTtFQUNFO0VBQ0E7RUFDQTtBcEZncWJKO0FvRm5vYkk7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBGb29iTjtBb0Zqb2JNO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7QXBGaW9iUjtBb0Y5bmJRO0VBQ0U7RUFDQTtFQUNBO0VBRUEsbUJMa0JLO0EvRTZtYmY7QW9GN25iUTtFQUNFO0VBQ0E7RUFDQTtFQUVBLG1CTDZCTztBL0VpbWJqQjtBb0Y1bmJRO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsbUJMSUE7QS9FMG5iVjtBb0YxbmJNO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtBcEYwbmJSO0FvRnhuYlE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxtQkxoQkE7QS9FMG9iVjtBb0Z4bmJRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxtQkxqQlE7QS9FMm9ibEI7QW9GbG5iRTtFQUVFLGNMN0JjO0VLOEJkO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRmtuYko7QW9GaG5iSTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRmluYk47QW9GOW1iSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRmduYk47O0FxRmh4YkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRm14YkY7QXFGM3diSTtFQUNFO0FyRjZ3Yk47QXFGOXdiSTtFQUNFO0FyRmd4Yk47QXFGanhiSTtFQUNFO0FyRm14Yk47QXFGcHhiSTtFQUNFO0FyRnN4Yk47QXFGdnhiSTtFQUNFO0FyRnl4Yk47QXFGMXhiSTtFQUNFO0FyRjR4Yk47QXFGN3hiSTtFQUNFO0FyRit4Yk47QXFGaHliSTtFQUNFO0FyRmt5Yk47QXFGbnliSTtFQUNFO0FyRnF5Yk47QXFGdHliSTtFQUNFO0FyRnd5Yk47QXFGenliSTtFQUNFO0FyRjJ5Yk47QXFGNXliSTtFQUNFO0FyRjh5Yk47QXFGL3liSTtFQUNFO0FyRml6Yk47QXFGbHpiSTtFQUNFO0FyRm96Yk47QXFGcnpiSTtFQUNFO0FyRnV6Yk47QXFGeHpiSTtFQUNFO0FyRjB6Yk47QXFGM3piSTtFQUNFO0FyRjZ6Yk47QXFGOXpiSTtFQUNFO0FyRmcwYk47QXFGajBiSTtFQUNFO0FyRm0wYk47QXFGcDBiSTtFQUNFO0FyRnMwYk47QXFGdjBiSTtFQUNFO0FyRnkwYk47QXFGMTBiSTtFQUNFO0FyRjQwYk47QXFGNzBiSTtFQUNFO0FyRiswYk47QXFGaDFiSTtFQUNFO0FyRmsxYk47QXFGbjFiSTtFQUNFO0FyRnExYk47QXFGdDFiSTtFQUNFO0FyRncxYk47QXFGejFiSTtFQUNFO0FyRjIxYk47QXFGNTFiSTtFQUNFO0FyRjgxYk47QXFGLzFiSTtFQUNFO0FyRmkyYk47QXFGbDJiSTtFQUNFO0FyRm8yYk47QXFGcjJiSTtFQUNFO0FyRnUyYk47QXFGeDJiSTtFQUNFO0FyRjAyYk47QXFGMzJiSTtFQUNFO0FyRjYyYk47QXFGOTJiSTtFQUNFO0FyRmczYk47QXFGajNiSTtFQUNFO0FyRm0zYk47QXFGcDNiSTtFQUNFO0FyRnMzYk47QXFGdjNiSTtFQUNFO0FyRnkzYk47QXFGMTNiSTtFQUNFO0FyRjQzYk47QXFGNzNiSTtFQUNFO0FyRiszYk47QXFGaDRiSTtFQUNFO0FyRms0Yk47QXFGbjRiSTtFQUNFO0FyRnE0Yk47QXFGdDRiSTtFQUNFO0FyRnc0Yk47O0FzRi80YkE7QUFNQTtFQUNFLG1CUHNGZ0I7RU9wRmhCO0F0RjQ0YkY7QXNGMzRiRTtFQUNFLG1CUCtFVztBL0U4emJmO0FzRnY0Ykk7RUFFRTs7O0lBQUE7QXRGMjRiTjs7QXNGcDRiQTtFQUVFO0F0RnM0YkY7QXNGcDRiSTtFQUNFLGNQOERZO0VPN0RaO0F0RnM0Yk47QXNGcDRiTTtFQUNFLGNQc0RFO0EvRWcxYlY7QXNGbDRiRTtFQUNFO0F0Rm80Yko7O0FzRjkzYkE7RUFDRTtFQUNBO0VBQ0E7QXRGaTRiRjs7QXNGNzNiRTtFQUNFO0VBQ0E7QXRGZzRiSjtBc0Y5M2JFO0VBQ0U7RUFFQTtBdEYrM2JKO0FzRjkzYkk7RUFDRSxjUCtDYTtFTzlDWDtBdEZnNGJSOztBdUZ4OGJBO0VBR0U7QXZGeThiRjtBdUZ4OGJFO0VBRUU7RUFDQTtFQUNBO0VBRUE7RUFJQTtBdkZxOGJKO0F1Rmw4Ykk7RUFDRTtBdkZvOGJOO0F1Rmo4Ykk7RUFFRTtFQUVBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtBdkYrN2JOO0F1RjM3Ykk7RUFDRTtBdkY2N2JOO0F1RjM3Ykk7RUFDRTtBdkY2N2JOO0F1RjM3Ykk7RUFDRTtBdkY2N2JOO0F1RjM3Ykk7RUFDRTtBdkY2N2JOO0F1RjM3Ykk7RUFDRTtBdkY2N2JOO0F1RjE3Ykk7RUFDRTtBdkY0N2JOOztBQTUrYkE7RUFDRTtFQUNBLG1CK0UyRlE7QS9FbzViVjs7QUE3K2JBO0VBQ0U7RUFDQTtFQUNBO0FBZy9iRjs7QUE3K2JBO0VBQ0U7RUFDQSxjK0VpR1U7QS9FKzRiWjs7QUExK2JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUE2K2JGO0FBNStiRTtFQUNFO0VBQ0E7QUE4K2JKO0FBNStiRTtFQUNFO0VBQ0E7QUE4K2JKOztBQTMrYkE7QUFDQTtFQUNFO0VBQ0EsbUIrRTBEUTtFL0V6RFI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE4K2JGO0FBeitiRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0FBMCtiSjtBQXgrYkk7RUFDRTtFQUNBLFlBWFM7RUFZVCxhQWJVO0VBY1Y7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7QUF3K2JOO0FBcitiSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FBdStiTjtBQXQrYk07RUFDRTtBQXcrYlI7QUFwK2JJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFzK2JOO0FBcitiTTtFQUNFO0FBdStiUjtBQXArYkk7RUFDRTtFQUNBO0VBQ0E7QUFzK2JOO0FBcitiTTtFQUNFO0FBdStiUjtBQXArYkk7RUFDRTtFQUNBO0FBcytiTjtBQW4rYlE7RUFDRTtFQUNBO0VBQ0E7QUFxK2JWO0FBaCtiSTtFQUNFO0VBQ0E7RUFDQTtBQWsrYk47QUFqK2JNO0VBQ0U7QUFtK2JSO0FBaCtiSTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0FBaStiTjtBQWgrYk07RUFDRTtBQWsrYlI7QUE5OWJJO0VBRUU7RUFDQTtFQUNBO0VBQ0E7QUErOWJOO0FBOTliTTtFQUNFO0FBZytiUjtBQTc5Ykk7RUFDRTtFQUNBO0FBKzliTjs7QUF6OWJBO0FBRUU7RUFDRTtFQUNBO0FBMjliSjtBQTE5Ykk7RUFFRTtBQTI5Yk47QUExOWJNO0VBQ0U7QUE0OWJSO0FBMTliTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTQ5YlI7QUExOWJNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBNDliUjtBQTE5Yk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQTQ5YlI7QUF6OWJJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUEyOWJOO0FBdjliSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBeTliTjtBQXY5Yk07RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFzOWJSO0FBbjhiVTtFQUNFO0VBQ0E7RUFFQTtBQW84Ylo7QUF4OGJVO0VBQ0U7RUFDQTtFQUVBO0FBeThiWjtBQTc4YlU7RUFDRTtFQUNBO0VBRUE7QUE4OGJaO0FBbDliVTtFQUNFO0VBQ0E7RUFFQTtBQW05Ylo7QUF2OWJVO0VBQ0U7RUFDQTtFQUVBO0FBdzliWjtBQTU5YlU7RUFDRTtFQUNBO0VBRUE7QUE2OWJaO0FBaitiVTtFQUNFO0VBQ0E7RUFFQTtBQWsrYlo7QUF0K2JVO0VBQ0U7RUFDQTtFQUVBO0FBdStiWjtBQTMrYlU7RUFDRTtFQUNBO0VBRUE7QUE0K2JaO0FBaC9iVTtFQUNFO0VBQ0E7RUFFQTtBQWkvYlo7QUFyL2JVO0VBQ0U7RUFDQTtFQUVBO0FBcy9iWjtBQTEvYlU7RUFDRTtFQUNBO0VBRUE7QUEyL2JaO0FBLy9iVTtFQUNFO0VBQ0E7RUFFQTtBQWdnY1o7QUFwZ2NVO0VBQ0U7RUFDQTtFQUVBO0FBcWdjWjtBQXpnY1U7RUFDRTtFQUNBO0VBRUE7QUEwZ2NaO0FBdC9iSTtFQUNFLGMrRS9LSTtBL0V1cWNWOztBQWwvYkk7RUFDRTtFQUVBO0VBQ0E7QUFvL2JOO0FBbC9iTTtFQUNFO0VBQ0E7QUFvL2JSOztBQS8rYkE7RUFDRTtFQUNBO0FBay9iRjtBQWgvYkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQWsvYk47QUFoL2JNO0VBQ0U7RUFDQTtFQUNBO0FBay9iUjtBQWgvYk07RUFDRSxxQitFbE5FO0UvRW1ORix5QitFbk5FO0UvRW9ORjtFQUNBO0FBay9iUjtBQXgrYkU7RUFDRTtBQTArYko7QUF4K2JJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUEwK2JOO0FBditiTTtFQUNFO0VBQ0E7QUF5K2JSO0FBcCtiRTtFQUNFO0VBQ0E7QUFzK2JKO0FBcitiSTtFQUNFO0FBdStiTjs7QUE5OWJFO0VBQ0U7QUFpK2JKO0FBOTliRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QUE4OWJKO0FBNzliSTtFQUNFLGMrRXBQTTtBL0VtdGNaO0FBNTliRTtFQUNFLHlCK0U1UGdCO0UvRTZQaEIsYytFL1FhO0EvRTZ1Y2pCO0FBNzliSTtFQUNFLHlCK0VqUVc7RS9Fa1FYLGMrRWxSVztBL0VpdmNqQixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vaG9tZXBhZ2VfdjIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Jvb3RzdHJhcC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHlwZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2ltYWdlcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY29kZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RhYmxlcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mb3Jtcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2FyZXQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b24tZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbnB1dC1ncm91cC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2N1c3RvbS1mb3Jtcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdi5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdmJhci5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19icmVhZGNydW1iLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYmFkZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFkZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19qdW1ib3Ryb24uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19hbGVydC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Byb2dyZXNzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWVkaWEuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19saXN0LWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3QtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RvYXN0cy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9vbHRpcC5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcG9wb3Zlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nhcm91c2VsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fc3Bpbm5lcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYWxpZ24uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2JhY2tncm91bmQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYm9yZGVycy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19kaXNwbGF5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2VtYmVkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxvYXQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9faW50ZXJhY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX292ZXJmbG93LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3Bvc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NjcmVlbnJlYWRlcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zaGFkb3dzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NpemluZy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3N0cmV0Y2hlZC1saW5rLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3RleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL192aXNpYmlsaXR5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJpbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi92YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hbmltLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9tb2JpbGUtdjIuc2NzcyIsIndlYnBhY2s6Ly8vLi9fc2hhcGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vX2FuaW1hdGVkVGl0bGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9fZW1vamkuc2NzcyIsIndlYnBhY2s6Ly8vLi9wdWJsaWMuc2NzcyIsIndlYnBhY2s6Ly8vLi9fYWNoaWV2ZW1lbnRzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSBcInNhc3M6bWF0aFwiO1xuQGltcG9ydCAncHVibGljJztcbkBpbXBvcnQgJ19hY2hpZXZlbWVudHMnO1xuXG5cblxuOjpzZWxlY3Rpb24ge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogJHByaW1hcnk7XG59XG46YWZ0ZXIsIDpiZWZvcmUge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuYm9keXtcbiAgLypjdXJzb3I6IG5vbmUhaW1wb3J0YW50OyovXG4gIGNvbG9yOiAkc2Vjb25kYXJ5O1xufVxuXG5cblxuXG5zZWN0aW9uI3NjcmVlbi1pbnRyb3tcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgbWluLWhlaWdodDogODAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLi1lbS1lYXJ0aHtcbiAgICB0b3A6MjAwcHg7XG4gICAgbGVmdDowO1xuICB9XG4gIC4tZW0tcm9ja2V0e1xuICAgIHRvcDozMzBweDtcbiAgICByaWdodDo1MHB4O1xuICB9XG59XG4vKiogU1RSQVRTICovXG4jY2FyZHN7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4IDEwMHB4IDAgMDtcbiAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gIG1hcmdpbi10b3A6YXV0bztcbiAgei1pbmRleDogNjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoZWlnaHQ6IDQ1MHB4O1xuICBtYXgtaGVpZ2h0OiA0NTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICRjYXJkLWhlaWdodDogMzQ2cHg7XG4gICRjYXJkLXdpZHRoOiAyODZweDtcbiAgJGJvdHRvbUNhcmQ6IC0yMHB4O1xuICAjY2FyZHMtY29udGVudHtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQ1MHB4O1xuICAgIG1heC1oZWlnaHQ6IDQ1MHB4O1xuXG4gICAgLmNhcmR7XG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAkY2FyZC13aWR0aDtcbiAgICAgIGhlaWdodDogJGNhcmQtaGVpZ2h0O1xuICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAzMHB4IDAgMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgNjBweCA2MHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEzKTtcbiAgICAgIGJvcmRlcjogc29saWQgMXB4ICNlNGViZWY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgdG9wOjQ1MC0kY2FyZC1oZWlnaHQ7XG4gICAgICBsZWZ0OjUwJTtcbiAgICAgIG1hcmdpbjokY2FyZC1oZWlnaHQqMiAwIDAgKG1hdGguZGl2KCRjYXJkLXdpZHRoLC0yKSk7XG5cbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbWFyZ2luIDUwMG1zIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gNTAwbXMgZWFzZS1pbi1vdXQsIHotaW5kZXggNTAwbXMgbGluZWFyLCBvcGFjaXR5IDUwMG1zIGxpbmVhcjtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogbWFyZ2luIDUwMG1zIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gNTAwbXMgZWFzZS1pbi1vdXQsIHotaW5kZXggNTAwbXMgbGluZWFyLCBvcGFjaXR5IDUwMG1zIGxpbmVhcjtcbiAgICAgIC1tcy10cmFuc2l0aW9uOiBtYXJnaW4gNTAwbXMgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSA1MDBtcyBlYXNlLWluLW91dCwgei1pbmRleCA1MDBtcyBsaW5lYXIsIG9wYWNpdHkgNTAwbXMgbGluZWFyO1xuICAgICAgLW8tdHJhbnNpdGlvbjogbWFyZ2luIDUwMG1zIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gNTAwbXMgZWFzZS1pbi1vdXQsIHotaW5kZXggNTAwbXMgbGluZWFyLCBvcGFjaXR5IDUwMG1zIGxpbmVhcjtcbiAgICAgIHRyYW5zaXRpb246IG1hcmdpbiA1MDBtcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDUwMG1zIGVhc2UtaW4tb3V0LCB6LWluZGV4IDUwMG1zIGxpbmVhciwgb3BhY2l0eSA1MDBtcyBsaW5lYXI7XG5cbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIH1cbiAgICAuY2FyZC1wb3MtMXtcbiAgICAgIG1hcmdpbjooJGNhcmQtaGVpZ2h0KjAuNykgMCAwICAobWF0aC5kaXYoJGNhcmQtd2lkdGgsMikgKyAkY2FyZC13aWR0aCowLjgpKi0xO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4ZGVnKTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBvcGFjaXR5OiAwLjc1O1xuICAgICAgJjpob3ZlcntcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTIwZGVnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyZC1wb3MtMntcbiAgICAgIG1hcmdpbjooJGNhcmQtaGVpZ2h0KjAuNDUpIDAgMCAgKG1hdGguZGl2KCRjYXJkLXdpZHRoLDIpICsgJGNhcmQtd2lkdGgqMC43KSotMTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xNGRlZyk7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgb3BhY2l0eTogMC45NTtcbiAgICAgICY6aG92ZXJ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xNmRlZyk7XG4gICAgICB9XG4gICAgfVxuICAgIC5jYXJkLXBvcy0ze1xuICAgICAgbWFyZ2luOigkY2FyZC1oZWlnaHQqMC4yMCkgMCAwICAobWF0aC5kaXYoJGNhcmQtd2lkdGgsMikgKyAkY2FyZC13aWR0aCowLjUpKi0xO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEyZGVnKTtcbiAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAmOmhvdmVye1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTRkZWcpO1xuICAgICAgfVxuICAgIH1cbiAgICAuY2FyZC1wb3MtNHtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgICBtYXJnaW46MCAwIDAgKG1hdGguZGl2KCRjYXJkLXdpZHRoLC0yKSk7XG4gICAgICAmOmhvdmVye1xuICAgICAgICAvL3RyYW5zZm9ybTogcm90YXRlKDJkZWcpO1xuICAgICAgICBpbWd7XG4gICAgICAgICAgLXdlYmtpdC1hbmltYXRpb246bW92ZS1pbWctY2FyZCAycyBsaW5lYXIgZm9yd2FyZHMgaW5maW5pdGU7XG4gICAgICAgICAgLW1vei1hbmltYXRpb246bW92ZS1pbWctY2FyZCAycyBsaW5lYXIgZm9yd2FyZHMgaW5maW5pdGU7XG4gICAgICAgICAgYW5pbWF0aW9uOm1vdmUtaW1nLWNhcmQgMnMgbGluZWFyIGZvcndhcmRzIGluZmluaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhcmQtcG9zLTV7XG4gICAgICBtYXJnaW46KCRjYXJkLWhlaWdodCowLjIwKSAwIDAgICgkY2FyZC13aWR0aCowLjUpIC0gbWF0aC5kaXYoJGNhcmQtd2lkdGgsMik7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMmRlZyk7XG4gICAgICB6LWluZGV4OiA0O1xuICAgICAgJjpob3ZlcntcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTRkZWcpO1xuICAgICAgfVxuICAgIH1cbiAgICAuY2FyZC1wb3MtNlxuICAgIHtcbiAgICAgIG1hcmdpbjooJGNhcmQtaGVpZ2h0KjAuNDUpIDAgMCAgKCRjYXJkLXdpZHRoKjAuNykgLSBtYXRoLmRpdigkY2FyZC13aWR0aCwyKTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE0ZGVnKTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBvcGFjaXR5OiAwLjk1O1xuICAgICAgJjpob3ZlcntcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTZkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkLXBvcy03LCAuY2FyZC1wb3MtOHtcblxuICAgICAgbWFyZ2luOigkY2FyZC1oZWlnaHQqMC43KSAwIDAgICgkY2FyZC13aWR0aCowLjggLSBtYXRoLmRpdigkY2FyZC13aWR0aCwyKSk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxOGRlZyk7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgb3BhY2l0eTogMC43NTtcbiAgICAgICY6aG92ZXJ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDIwZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNhcmQtcG9zLTh7XG4gICAgICBvcGFjaXR5OjA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxuXG59XG5cbi8qKiBURUFNICoqL1xuc2VjdGlvbiN0ZWFte1xuICAjbWV0YXN0cmF0LWlsbHVzdHJhdGlvbnN7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDQyMHB4O1xuICAgIC5zaGFwZXtcblxuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAmLmVtb2ppe1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgICAgJi5lbW9qaS1yb2Nre1xuICAgICAgICB0b3A6MDtcbiAgICAgICAgbGVmdDowO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6NDFweCA2MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMCU7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNjBweCA2MHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEzKTtcbiAgICAgICAgei1pbmRleDogNDtcbiAgICAgIH1cbiAgICAgICYucHJpbWFyeS1ISC1iZ3tcbiAgICAgICAgd2lkdGg6IDU3cHg7XG4gICAgICAgIGhlaWdodDogNTdweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTFweDtcbiAgICAgICAgdG9wOjI3Ny41cHg7XG4gICAgICAgIGxlZnQ6MTIwcHg7XG4gICAgICAgIHotaW5kZXg6MztcbiAgICAgIH1cbiAgICAgIC5zaGFkb3d7XG4gICAgICAgIHdpZHRoOiAyMDhweDtcbiAgICAgICAgaGVpZ2h0OiAyMDhweDtcbiAgICAgICAgei1pbmRleDozO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0NHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAjcGhvdG9ze1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOjU2cHg7XG4gICAgICBsZWZ0OjUlO1xuICAgICAgd2lkdGg6OTAlO1xuICAgICAgbWF4LXdpZHRoOiAzNjZweDtcbiAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICB6LWluZGV4OjI7XG4gICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgICAgQGV4dGVuZCAuYW5pbS1hbGwtMXNcbiAgICB9XG5cbiAgICAjbWVtYmVyc3tcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAyMzRweDtcbiAgICAgIGhlaWdodDogMjM0cHg7XG4gICAgICByaWdodDoyJTtcbiAgICAgIGJvdHRvbTowO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHotaW5kZXg6NDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3gtc2hhZG93OiAwIDYwcHggNjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMyk7XG4gICAgICBib3JkZXItcmFkaXVzOiAzOXB4O1xuXG4gICAgICBhe1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgdG9wOi0yMDBweDtcbiAgICAgICAgbGVmdDotMjAwcHg7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICR0aW1lOjQwMDBtcztcbiAgICAgICAgJG1vdmU6IGxpbmVhcjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiB0b3AgJHRpbWUgJG1vdmUsICBsZWZ0ICR0aW1lICRtb3ZlO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IHRvcCAkdGltZSAkbW92ZSwgIGxlZnQgJHRpbWUgJG1vdmU7XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiB0b3AgJHRpbWUgJG1vdmUsICBsZWZ0ICR0aW1lICRtb3ZlO1xuICAgICAgICAtby10cmFuc2l0aW9uOiB0b3AgJHRpbWUgJG1vdmUsICBsZWZ0ICR0aW1lICRtb3ZlO1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgJHRpbWUgJG1vdmUsICBsZWZ0ICR0aW1lICRtb3ZlO1xuXG4gICAgICAgICRpbWdTaXplOiA1OHB4O1xuICAgICAgICAkbWFyZ2luOiAxNXB4O1xuICAgICAgICAkcm93VG9wOiAxNnB4O1xuICAgICAgICAkcm93TGVmdDogKCRpbWdTaXplKSotMTtcbiAgICAgICAgJHJvdyA6IDA7XG4gICAgICAgICRjb2wgOiAwO1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDE1IHtcbiAgICAgICAgICBAaWYgJGkgPT0gNiBvciAkaT09MTEge1xuICAgICAgICAgICAgJHJvdzogJHJvdysxO1xuICAgICAgICAgICAgQGlmICRyb3cgPT0gMXtcbiAgICAgICAgICAgICAgJGNvbDogJGNvbCAtIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZXtcbiAgICAgICAgICAgICAgJGNvbDowO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYubS1wb3MtI3skaX17XG4gICAgICAgICAgICB0b3A6JHJvd1RvcCsoJG1hcmdpbiskaW1nU2l6ZSkqJHJvdztcbiAgICAgICAgICAgIGxlZnQ6JHJvd0xlZnQrKCRtYXJnaW4rJGltZ1NpemUpKiRjb2w7XG5cbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmICRyb3c9PTF7XG4gICAgICAgICAgICAkY29sOiAkY29sIC0gMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2V7XG4gICAgICAgICAgICAkY29sOiAkY29sICsgMTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG5cblxuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgcHtcbiAgICBzcGFue1xuICAgICAgY29sb3I6JHByaW1hcnk7XG4gICAgfVxuICB9XG59XG4jcGFydG5lcnN7XG4gIC5wYXJ0bmVye1xuICAgIGltZ3tcbiAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDEpO1xuICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XG4gICAgICBAZXh0ZW5kIC5hbmltLWFsbDtcbiAgICAgICY6aG92ZXJ7XG4gICAgICAgIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMCk7XG4gICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuI3NraWxsc3tcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWluLWhlaWdodDogNjYwcHg7XG4gICNza2lsbC10aXRsZXN7XG4gICAgaDR7XG4gICAgICBib3JkZXItcmFkaXVzOjIwcHg7XG4gICAgICBib3JkZXI6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6NXB4IDEwcHg7XG4gICAgICBjdXJzb3I6cG9pbnRlcjtcbiAgICAgIEBleHRlbmQgLmFuaW0tYWxsO1xuICAgICAgJjphZnRlcntcbiAgICAgICAgY29udGVudDonID4gJztcbiAgICAgICAgY29sb3I6d2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuICAgICAgJi5vbiwgJjpob3ZlcntcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6d2hpdGUhaW1wb3J0YW50O1xuXG5cblxuXG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAjc2tpbGwtZGVzY3tcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuc2tpbGwtZGVzY3tcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDowO1xuICAgICAgbGVmdDoyMDAlO1xuICAgICAgei1pbmRleDoxO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBAZXh0ZW5kIC5hbmltLWFsbC0xcztcblxuICAgICAgJi5vbntcbiAgICAgICAgbGVmdDowO1xuICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICB9XG4gICAgfVxuICB9XG4gICNlbW9qaS1iYXJ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgLmVtb2ppe1xuICAgICAgb3BhY2l0eTowO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5mb3JtW25hbWU9XCJjb250YWN0X2Zvcm1cIl17XG4gIGxhYmVse1xuICAgIGZvbnQtc2l6ZToxNXB4O1xuICAgIEBleHRlbmQgLmZvbnQtMTU7XG4gIH1cbiAgaW5wdXQsIHRleHRhcmVhe1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOjBweDtcbiAgICBib3JkZXI6MXB4IHNvbGlkICRzZWNvbmRhcnktbGlnaHRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIEBleHRlbmQgLmZvbnQtMTY7XG4gICAgQGV4dGVuZCAuZm9udC1tZC0yMjtcbiAgICBjb2xvcjojMDAwO1xuICAgICY6OnBsYWNlaG9sZGVye1xuICAgICAgY29sb3I6JGdyZXktZGFyaztcbiAgICB9XG4gIH1cbiAgYnV0dG9ue1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktbGlnaHRlc3Q7XG4gICAgY29sb3I6JHByaW1hcnktMTAwO1xuICAgICY6aG92ZXJ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWxpZ2h0O1xuICAgICAgY29sb3I6JHByaW1hcnktMTAwO1xuICAgIH1cbiAgfVxufVxuIiwiLyohXG4gKiBCb290c3RyYXAgdjQuNi4wIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxuICogQ29weXJpZ2h0IDIwMTEtMjAyMSBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAqIENvcHlyaWdodCAyMDExLTIwMjEgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYWluL0xJQ0VOU0UpXG4gKi9cblxuQGltcG9ydCBcImZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcInJvb3RcIjtcbkBpbXBvcnQgXCJyZWJvb3RcIjtcbkBpbXBvcnQgXCJ0eXBlXCI7XG5AaW1wb3J0IFwiaW1hZ2VzXCI7XG5AaW1wb3J0IFwiY29kZVwiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJ0YWJsZXNcIjtcbkBpbXBvcnQgXCJmb3Jtc1wiO1xuQGltcG9ydCBcImJ1dHRvbnNcIjtcbkBpbXBvcnQgXCJ0cmFuc2l0aW9uc1wiO1xuQGltcG9ydCBcImRyb3Bkb3duXCI7XG5AaW1wb3J0IFwiYnV0dG9uLWdyb3VwXCI7XG5AaW1wb3J0IFwiaW5wdXQtZ3JvdXBcIjtcbkBpbXBvcnQgXCJjdXN0b20tZm9ybXNcIjtcbkBpbXBvcnQgXCJuYXZcIjtcbkBpbXBvcnQgXCJuYXZiYXJcIjtcbkBpbXBvcnQgXCJjYXJkXCI7XG5AaW1wb3J0IFwiYnJlYWRjcnVtYlwiO1xuQGltcG9ydCBcInBhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJiYWRnZVwiO1xuQGltcG9ydCBcImp1bWJvdHJvblwiO1xuQGltcG9ydCBcImFsZXJ0XCI7XG5AaW1wb3J0IFwicHJvZ3Jlc3NcIjtcbkBpbXBvcnQgXCJtZWRpYVwiO1xuQGltcG9ydCBcImxpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJjbG9zZVwiO1xuQGltcG9ydCBcInRvYXN0c1wiO1xuQGltcG9ydCBcIm1vZGFsXCI7XG5AaW1wb3J0IFwidG9vbHRpcFwiO1xuQGltcG9ydCBcInBvcG92ZXJcIjtcbkBpbXBvcnQgXCJjYXJvdXNlbFwiO1xuQGltcG9ydCBcInNwaW5uZXJzXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzXCI7XG5AaW1wb3J0IFwicHJpbnRcIjtcbiIsIjpyb290IHtcbiAgLy8gQ3VzdG9tIHZhcmlhYmxlIHZhbHVlcyBvbmx5IHN1cHBvcnQgU2Fzc1NjcmlwdCBpbnNpZGUgYCN7fWAuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGJwLCAkdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgIC0tYnJlYWtwb2ludC0jeyRicH06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIC8vIFVzZSBgaW5zcGVjdGAgZm9yIGxpc3RzIHNvIHRoYXQgcXVvdGVkIGl0ZW1zIGtlZXAgdGhlIHF1b3Rlcy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzIzODMjaXNzdWVjb21tZW50LTMzNjM0OTE3MlxuICAtLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktc2Fucy1zZXJpZil9O1xuICAtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZTogI3tpbnNwZWN0KCRmb250LWZhbWlseS1tb25vc3BhY2UpfTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG5cbi8vIFJlYm9vdFxuLy9cbi8vIE5vcm1hbGl6YXRpb24gb2YgSFRNTCBlbGVtZW50cywgbWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyB0byByZW1vdmVcbi8vIHN0eWxlcyB0YXJnZXRpbmcgaXJyZWxldmFudCBicm93c2VycyB3aGlsZSBhcHBseWluZyBuZXcgc3R5bGVzLlxuLy9cbi8vIE5vcm1hbGl6ZSBpcyBsaWNlbnNlZCBNSVQuIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuXG4vLyBEb2N1bWVudFxuLy9cbi8vIDEuIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgc28gdGhhdCBgd2lkdGhgIGlzIG5vdCBhZmZlY3RlZCBieSBgcGFkZGluZ2Agb3IgYGJvcmRlcmAuXG4vLyAyLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzLlxuLy8gMy4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuLy8gNC4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4vLyA1LiBDaGFuZ2UgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxufVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDNcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyA0XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgkYmxhY2ssIDApOyAvLyA1XG59XG5cbi8vIFNoaW0gZm9yIFwibmV3XCIgSFRNTDUgc3RydWN0dXJhbCBlbGVtZW50cyB0byBkaXNwbGF5IGNvcnJlY3RseSAoSUUxMCwgb2xkZXIgYnJvd3NlcnMpXG4vLyBUT0RPOiByZW1vdmUgaW4gdjVcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmFydGljbGUsIGFzaWRlLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG5hdiwgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBCb2R5XG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuLy8gMi4gQXMgYSBiZXN0IHByYWN0aWNlLCBhcHBseSBhIGRlZmF1bHQgYGJhY2tncm91bmQtY29sb3JgLlxuLy8gMy4gU2V0IGFuIGV4cGxpY2l0IGluaXRpYWwgdGV4dC1hbGlnbiB2YWx1ZSBzbyB0aGF0IHdlIGNhbiBsYXRlciB1c2Vcbi8vICAgIHRoZSBgaW5oZXJpdGAgdmFsdWUgb24gdGhpbmdzIGxpa2UgYDx0aD5gIGVsZW1lbnRzLlxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIDNcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7IC8vIDJcbn1cblxuLy8gRnV0dXJlLXByb29mIHJ1bGU6IGluIGJyb3dzZXJzIHRoYXQgc3VwcG9ydCA6Zm9jdXMtdmlzaWJsZSwgc3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmVcbi8vIG9uIGVsZW1lbnRzIHRoYXQgcHJvZ3JhbW1hdGljYWxseSByZWNlaXZlIGZvY3VzIGJ1dCB3b3VsZG4ndCBub3JtYWxseSBzaG93IGEgdmlzaWJsZVxuLy8gZm9jdXMgb3V0bGluZS4gSW4gZ2VuZXJhbCwgdGhpcyB3b3VsZCBtZWFuIHRoYXQgdGhlIG91dGxpbmUgaXMgb25seSBhcHBsaWVkIGlmIHRoZVxuLy8gaW50ZXJhY3Rpb24gdGhhdCBsZWQgdG8gdGhlIGVsZW1lbnQgcmVjZWl2aW5nIHByb2dyYW1tYXRpYyBmb2N1cyB3YXMgYSBrZXlib2FyZCBpbnRlcmFjdGlvbixcbi8vIG9yIHRoZSBicm93c2VyIGhhcyBzb21laG93IGRldGVybWluZWQgdGhhdCB0aGUgdXNlciBpcyBwcmltYXJpbHkgYSBrZXlib2FyZCB1c2VyIGFuZC9vclxuLy8gd2FudHMgZm9jdXMgb3V0bGluZXMgdG8gYWx3YXlzIGJlIHByZXNlbnRlZC5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTLzpmb2N1cy12aXNpYmxlXG4vLyBhbmQgaHR0cHM6Ly9kZXZlbG9wZXIucGFjaWVsbG9ncm91cC5jb20vYmxvZy8yMDE4LzAzL2ZvY3VzLXZpc2libGUtYW5kLWJhY2t3YXJkcy1jb21wYXRpYmlsaXR5L1xuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbn1cblxuXG4vLyBDb250ZW50IGdyb3VwaW5nXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbi8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gIGhlaWdodDogMDsgLy8gMVxuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxufVxuXG5cbi8vXG4vLyBUeXBvZ3JhcGh5XG4vL1xuXG4vLyBSZW1vdmUgdG9wIG1hcmdpbnMgZnJvbSBoZWFkaW5nc1xuLy9cbi8vIEJ5IGRlZmF1bHQsIGA8aDE+YC1gPGg2PmAgYWxsIHJlY2VpdmUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gV2UgbnVrZSB0aGUgdG9wXG4vLyBtYXJnaW4gZm9yIGVhc2llciBjb250cm9sIHdpdGhpbiB0eXBlIHNjYWxlcyBhcyBpdCBhdm9pZHMgbWFyZ2luIGNvbGxhcHNpbmcuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFJlc2V0IG1hcmdpbnMgb24gcGFyYWdyYXBoc1xuLy9cbi8vIFNpbWlsYXJseSwgdGhlIHRvcCBtYXJnaW4gb24gYDxwPmBzIGdldCByZXNldC4gSG93ZXZlciwgd2UgYWxzbyByZXNldCB0aGVcbi8vIGJvdHRvbSBtYXJnaW4gdG8gdXNlIGByZW1gIHVuaXRzIGluc3RlYWQgb2YgYGVtYC5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIEFiYnJldmlhdGlvbnNcbi8vXG4vLyAxLiBEdXBsaWNhdGUgYmVoYXZpb3IgdG8gdGhlIGRhdGEtKiBhdHRyaWJ1dGUgZm9yIG91ciB0b29sdGlwIHBsdWdpblxuLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vIDMuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbi8vIDQuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbi8vIDUuIFByZXZlbnQgdGhlIHRleHQtZGVjb3JhdGlvbiB0byBiZSBza2lwcGVkLlxuXG5hYmJyW3RpdGxlXSxcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0geyAvLyAxXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICBjdXJzb3I6IGhlbHA7IC8vIDNcbiAgYm9yZGVyLWJvdHRvbTogMDsgLy8gNFxuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7IC8vIDVcbn1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogJGR0LWZvbnQtd2VpZ2h0O1xufVxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBtYXJnaW4tbGVmdDogMDsgLy8gVW5kbyBicm93c2VyIGRlZmF1bHRcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlcjsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaVxufVxuXG5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg4MCUpOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vyc1xufVxuXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4vLyBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg3NSUpO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIgeyBib3R0b206IC0uMjVlbTsgfVxuc3VwIHsgdG9wOiAtLjVlbTsgfVxuXG5cbi8vXG4vLyBMaW5rc1xuLy9cblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cbn1cblxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb2RlXG4vL1xuXG5wcmUsXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxufVxuXG5wcmUge1xuICAvLyBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IHRvcCBtYXJnaW5cbiAgbWFyZ2luLXRvcDogMDtcbiAgLy8gUmVzZXQgYnJvd3NlciBkZWZhdWx0IG9mIGAxZW1gIHRvIHVzZSBgcmVtYHNcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgLy8gRG9uJ3QgYWxsb3cgY29udGVudCB0byBicmVhayBvdXRzaWRlXG4gIG92ZXJmbG93OiBhdXRvO1xuICAvLyBEaXNhYmxlIGF1dG8taGlkaW5nIHNjcm9sbGJhciBpbiBJRSAmIGxlZ2FjeSBFZGdlIHRvIGF2b2lkIG92ZXJsYXAsXG4gIC8vIG1ha2luZyBpdCBpbXBvc3NpYmxlIHRvIGludGVyYWN0IHdpdGggdGhlIGNvbnRlbnRcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG59XG5cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbmZpZ3VyZSB7XG4gIC8vIEFwcGx5IGEgY29uc2lzdGVudCBtYXJnaW4gc3RyYXRlZ3kgKG1hdGNoZXMgb3VyIHR5cGUgc3R5bGVzKS5cbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vL1xuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG4vL1xuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXItc3R5bGU6IG5vbmU7IC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxufVxuXG5zdmcge1xuICAvLyBXb3JrYXJvdW5kIGZvciB0aGUgU1ZHIG92ZXJmbG93IGJ1ZyBpbiBJRTEwLzExIGlzIHN0aWxsIHJlcXVpcmVkLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNjg3OFxuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8vXG4vLyBUYWJsZXNcbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xufVxuXG4vLyAxLiBSZW1vdmVzIGZvbnQtd2VpZ2h0IGJvbGQgYnkgaW5oZXJpdGluZ1xuLy8gMi4gTWF0Y2hlcyBkZWZhdWx0IGA8dGQ+YCBhbGlnbm1lbnQgYnkgaW5oZXJpdGluZyBgdGV4dC1hbGlnbmAuXG4vLyAzLiBGaXggYWxpZ25tZW50IGZvciBTYWZhcmlcblxudGgge1xuICBmb250LXdlaWdodDogJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OyAvLyAxXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIDJcbiAgdGV4dC1hbGlnbjogLXdlYmtpdC1tYXRjaC1wYXJlbnQ7IC8vIDNcbn1cblxuXG4vL1xuLy8gRm9ybXNcbi8vXG5cbmxhYmVsIHtcbiAgLy8gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAkbGFiZWwtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGBib3JkZXItcmFkaXVzYCB0aGF0IG1hY09TIENocm9tZSBhZGRzLlxuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuYnV0dG9uIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBFeHBsaWNpdGx5IHJlbW92ZSBmb2N1cyBvdXRsaW5lIGluIENocm9taXVtIHdoZW4gaXQgc2hvdWxkbid0IGJlXG4vLyB2aXNpYmxlIChlLmcuIGFzIHJlc3VsdCBvZiBtb3VzZSBjbGljayBvciB0b3VjaCB0YXApLiBJdCBhbHJlYWR5XG4vLyBzaG91bGQgYmUgZG9pbmcgdGhpcyBhdXRvbWF0aWNhbGx5LCBidXQgc2VlbXMgdG8gY3VycmVudGx5IGJlXG4vLyBjb25mdXNlZCBhbmQgYXBwbGllcyBpdHMgdmVyeSB2aXNpYmxlIHR3by10b25lIG91dGxpbmUgYW55d2F5LlxuXG5idXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlXG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3hcbn1cblxuLy8gU2V0IHRoZSBjdXJzb3IgZm9yIG5vbi1gPGJ1dHRvbj5gIGJ1dHRvbnNcbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzMwNTYyXG5bcm9sZT1cImJ1dHRvblwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB3b3JkLXdyYXAgaW4gU2FmYXJpLlxuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDk5MFxuc2VsZWN0IHtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG5cblxuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sIC8vIDFcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG59XG5cbi8vIE9waW5pb25hdGVkOiBhZGQgXCJoYW5kXCIgY3Vyc29yIHRvIG5vbi1kaXNhYmxlZCBidXR0b24gZWxlbWVudHMuXG5AaWYgJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9ucyB7XG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVtb3ZlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBmcm9tIEZpcmVmb3gsIGJ1dCBkb24ndCByZXN0b3JlIHRoZSBvdXRsaW5lIGxpa2UgTm9ybWFsaXplLlxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLVxuICBwYWRkaW5nOiAwOyAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtXG59XG5cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgLy8gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIC8vIEJyb3dzZXJzIHNldCBhIGRlZmF1bHQgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4gIC8vIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuICAvLyBTbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBmaWVsZHNldHMgYmVoYXZlIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5XG4gIC8vIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbiAgbWluLXdpZHRoOiAwO1xuICAvLyBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4vLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDEuNXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG59XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxufVxuXG4vLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbiAgLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4gIC8vIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4vL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4vLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4vL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxufVxuXG4vL1xuLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXG4vL1xuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUVcbn1cblxuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZSAoZnJvbSBQdXJlQ1NTKS5cbi8vIE5lZWRlZCBmb3IgcHJvcGVyIGRpc3BsYXkgaW4gSUUgMTAtLlxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuXG4kZ3JheXM6ICgpICFkZWZhdWx0O1xuJGdyYXlzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcIjEwMFwiOiAkZ3JheS0xMDAsXG4gICAgXCIyMDBcIjogJGdyYXktMjAwLFxuICAgIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgICBcIjQwMFwiOiAkZ3JheS00MDAsXG4gICAgXCI1MDBcIjogJGdyYXktNTAwLFxuICAgIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgICBcIjcwMFwiOiAkZ3JheS03MDAsXG4gICAgXCI4MDBcIjogJGdyYXktODAwLFxuICAgIFwiOTAwXCI6ICRncmF5LTkwMFxuICApLFxuICAkZ3JheXNcbik7XG5cbiRibHVlOiAgICAjMDA3YmZmICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMyOGE3NDUgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMTdhMmI4ICFkZWZhdWx0O1xuXG4kY29sb3JzOiAoKSAhZGVmYXVsdDtcbiRjb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gICAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gICAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gICAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gICAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gICAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICAgIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gICAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4gICksXG4gICRjb2xvcnNcbik7XG5cbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuXG4kdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICAgIFwiZGFya1wiOiAgICAgICAkZGFya1xuICApLFxuICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6ICAgICAgOCUgIWRlZmF1bHQ7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gQ2hhcmFjdGVycyB3aGljaCBhcmUgZXNjYXBlZCBieSB0aGUgZXNjYXBlLXN2ZyBmdW5jdGlvblxuJGVzY2FwZWQtY2hhcmFjdGVyczogKFxuICAoXCI8XCIsIFwiJTNjXCIpLFxuICAoXCI+XCIsIFwiJTNlXCIpLFxuICAoXCIjXCIsIFwiJTIzXCIpLFxuICAoXCIoXCIsIFwiJTI4XCIpLFxuICAoXCIpXCIsIFwiJTI5XCIpLFxuKSAhZGVmYXVsdDtcblxuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6ICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zOiAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6ICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoKSAhZGVmYXVsdDtcbiRzcGFjZXJzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAwOiAwLFxuICAgIDE6ICgkc3BhY2VyICogLjI1KSxcbiAgICAyOiAoJHNwYWNlciAqIC41KSxcbiAgICAzOiAkc3BhY2VyLFxuICAgIDQ6ICgkc3BhY2VyICogMS41KSxcbiAgICA1OiAoJHNwYWNlciAqIDMpXG4gICksXG4gICRzcGFjZXJzXG4pO1xuXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXG4kc2l6ZXM6ICgpICFkZWZhdWx0O1xuJHNpemVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAyNTogMjUlLFxuICAgIDUwOiA1MCUsXG4gICAgNzU6IDc1JSxcbiAgICAxMDA6IDEwMCUsXG4gICAgYXV0bzogYXV0b1xuICApLFxuICAkc2l6ZXNcbik7XG5cblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4vLyBEYXJrZW4gcGVyY2VudGFnZSBmb3IgbGlua3Mgd2l0aCBgLnRleHQtKmAgY2xhc3MgKGUuZy4gYC50ZXh0LXN1Y2Nlc3NgKVxuJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZTogMTUlICFkZWZhdWx0O1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG5cbiRyb3VuZGVkLXBpbGw6ICAgICAgICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuJGNhcmV0LXZlcnRpY2FsLWFsaWduOiAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuJGNhcmV0LXNwYWNpbmc6ICAgICAgICAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6ICgpICFkZWZhdWx0O1xuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogam9pbihcbiAgKFxuICAgICgyMSA5KSxcbiAgICAoMTYgOSksXG4gICAgKDQgMyksXG4gICAgKDEgMSksXG4gICksXG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Ncbik7XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICA1LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgICAgICA0LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAgICAgICAgICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgODAlICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZTogICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjJlbSAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRrYmQtYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgICAgICAuM3JlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICAkdGFibGUtaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kdGFibGUtdGgtZm9udC13ZWlnaHQ6ICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICR0YWJsZS1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgbGlnaHRlbigkdGFibGUtZGFyay1iZywgNy41JSkgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1sZXZlbDogICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1sZXZlbDogICAgICAgICAgLTYgIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgLjI1KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogIDAgMCAwICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogICAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnRuLXdoaXRlLXNwYWNlOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG4vLyBGb3Jtc1xuXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgLyAyKSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15ICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1zbSAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LWxnICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZvcm1zLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICA1MCUgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93OiAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICRncmF5LTUwMCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtY29sb3I6ICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I6ICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjogICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjZsMi45NzQgMi45OUw4IDIuMTkzeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzQnIHZpZXdCb3g9JzAgMCA0IDQnPjxwYXRoIHN0cm9rZT0nI3skY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yfScgZD0nTTAgMmg0Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAqIDEuNzUgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgLyAyICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgICAgICAgICAgc3VidHJhY3QoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDQpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5OiAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZTogICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQ6ICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgMXJlbSAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyB0byBhY2NvdW50IGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UgYmFzZWQgaW5kaWNhdG9yXG4kY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc1JyB2aWV3Qm94PScwIDAgNCA1Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kOiAgICAgICAgICBlc2NhcGUtc3ZnKCRjdXN0b20tc2VsZWN0LWluZGljYXRvcikgcmlnaHQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAvICRjdXN0b20tc2VsZWN0LWJnLXNpemUgbm8tcmVwZWF0ICFkZWZhdWx0OyAvLyBVc2VkIHNvIHdlIGNhbiBoYXZlIG11bHRpcGxlIGJhY2tncm91bmQgZWxlbWVudHMgKGUuZy4sIGFycm93IGFuZCBmZWVkYmFjayBpY29uKVxuXG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ6IGFkZCgxZW0gKiAuNzUsICgyICogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICogLjc1KSArICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgICAgY2VudGVyIHJpZ2h0ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgMCAwIDAgJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICAkaW5wdXQtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAkaW5wdXQtZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIElFL0VkZ2VcbiRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjogICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93OiAgICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnOiAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgICAgICAgICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRjdXN0b20tZmlsZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAgICRpbnB1dC1ncm91cC1hZGRvbi1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS10ZXh0OiAoXG4gIGVuOiBcIkJyb3dzZVwiXG4pICFkZWZhdWx0O1xuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgdGhlbWUtY29sb3IoXCJkYW5nZXJcIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgdmlld0JveD0nMCAwIDEyIDEyJz48Y2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8+PHBhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8+PGNpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgc3Ryb2tlPSdub25lJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKCkgIWRlZmF1bHQ7XG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJ2YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWRcbiAgICApLFxuICAgIFwiaW52YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkXG4gICAgKSxcbiAgKSxcbiAgJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbik7XG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcblxuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAvIDIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LXNjcm9sbC1tYXgtaGVpZ2h0OiAgICAgIDc1dmggIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgc3VidHJhY3QoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMsICRkcm9wZG93bi1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgJG5hdi1kaXZpZGVyLW1hcmdpbi15ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRncmF5LTkwMCwgNSUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgJGRyb3Bkb3duLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gQ2FyZHNcblxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1jb2xvcjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMiAhZGVmYXVsdDtcbiRjYXJkLWRlY2stbWFyZ2luOiAgICAgICAgICAgICAgICAgICRjYXJkLWdyb3VwLW1hcmdpbiAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgICAgICAgICAgMyAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLW1hcmdpbjogICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAhZGVmYXVsdDtcblxuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cbi8vIEZvcm0gdG9vbHRpcHMgbXVzdCBjb21lIGFmdGVyIHJlZ3VsYXIgdG9vbHRpcHNcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15OiAgICAgJHRvb2x0aXAtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTogICAgICR0b29sdGlwLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ6ICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gUG9wb3ZlcnNcblxuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgIHN1YnRyYWN0KCRwb3BvdmVyLWJvcmRlci1yYWRpdXMsICRwb3BvdmVyLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gVG9hc3RzXG5cbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjEpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuMjVyZW0gLjc1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb24gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuLy8gTWFyZ2luIGJldHdlZW4gZWxlbWVudHMgaW4gZm9vdGVyLCBtdXN0IGJlIGxvd2VyIHRoYW4gb3IgZXF1YWwgdG8gMiAqICRtb2RhbC1pbm5lci1wYWRkaW5nXG4kbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuOiAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzOiBzdWJ0cmFjdCgkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzLCAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICA4MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcbiRtb2RhbC1zY2FsZS10cmFuc2Zvcm06ICAgICAgICAgICAgIHNjYWxlKDEuMDIpICFkZWZhdWx0O1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtYmctbGV2ZWw6ICAgICAgICAgICAgICAgICAgICAtMTAgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWxldmVsOiAgICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvci1sZXZlbDogICAgICAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcblxuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgOTAlICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBDYXJvdXNlbFxuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICBvcGFjaXR5IC42cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjVMNC4yNSA0bDIuNS0yLjVMNS4yNSAweicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBkPSdNMi43NSAwbC0xLjUgMS41TDMuNzUgNGwtMi41IDIuNUwyLjc1IDhsNC00LTQtNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuXG5cbi8vIFNwaW5uZXJzXG5cbiRzcGlubmVyLXdpZHRoOiAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAkc3Bpbm5lci13aWR0aCAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aDogIC4yNWVtICFkZWZhdWx0O1xuXG4kc3Bpbm5lci13aWR0aC1zbTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICRzcGlubmVyLXdpZHRoLXNtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAuMmVtICFkZWZhdWx0O1xuXG5cbi8vIENsb3NlXG5cbiRjbG9zZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgMCAxcHggMCAkd2hpdGUgIWRlZmF1bHQ7XG5cblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICA4Ny41JSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLyBVdGlsaXRpZXNcblxuJGRpc3BsYXlzOiBub25lLCBpbmxpbmUsIGlubGluZS1ibG9jaywgYmxvY2ssIHRhYmxlLCB0YWJsZS1yb3csIHRhYmxlLWNlbGwsIGZsZXgsIGlubGluZS1mbGV4ICFkZWZhdWx0O1xuJG92ZXJmbG93czogYXV0bywgaGlkZGVuICFkZWZhdWx0O1xuJHBvc2l0aW9uczogc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kgIWRlZmF1bHQ7XG4kdXNlci1zZWxlY3RzOiBhbGwsIGF1dG8sIG5vbmUgIWRlZmF1bHQ7XG5cblxuLy8gUHJpbnRpbmdcblxuJHByaW50LXBhZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgYTMgIWRlZmF1bHQ7XG4kcHJpbnQtYm9keS1taW4td2lkdGg6ICAgICAgICAgICAgICBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpICFkZWZhdWx0O1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0LCBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG5cbi8vIFNDU1MgUkZTIG1peGluXG4vL1xuLy8gQXV0b21hdGVkIGZvbnQtcmVzaXppbmdcbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSBmb250IHNpemVcbiRyZnMtYmFzZS1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLWZvbnQtc2l6ZS11bml0OiByZW0gIWRlZmF1bHQ7XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgZm9udC1zaXplIHN0YXJ0cyBkZWNyZWFzaW5nIGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyXG4kcmZzLWJyZWFrcG9pbnQ6IDEyMDBweCAhZGVmYXVsdDtcbiRyZnMtYnJlYWtwb2ludC11bml0OiBweCAhZGVmYXVsdDtcblxuLy8gUmVzaXplIGZvbnQtc2l6ZSBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IFwibnVtYmVyXCIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHRvIGZhbHNlXG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLWZvbnQtc2l6ZSB1bml0XG4kcmZzLWJhc2UtZm9udC1zaXplLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLWZvbnQtc2l6ZSk7XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLWZvbnQtc2l6ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicHhcIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6ICRyZnMtYmFzZS1mb250LXNpemUgLyAoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInJlbVwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogJHJmcy1iYXNlLWZvbnQtc2l6ZSAvICgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInB4XCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6ICRyZnMtYnJlYWtwb2ludCAvICgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInJlbVwiIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogJHJmcy1icmVha3BvaW50IC8gKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xufVxuXG4vLyBSZXNwb25zaXZlIGZvbnQtc2l6ZSBtaXhpblxuQG1peGluIHJmcygkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIC8vIENhY2hlICRmcyB1bml0XG4gICRmcy11bml0OiBpZih0eXBlLW9mKCRmcykgPT0gXCJudW1iZXJcIiwgdW5pdCgkZnMpLCBmYWxzZSk7XG5cbiAgLy8gQWRkICFpbXBvcnRhbnQgc3VmZml4IGlmIG5lZWRlZFxuICAkcmZzLXN1ZmZpeDogaWYoJGltcG9ydGFudCwgXCIgIWltcG9ydGFudFwiLCBcIlwiKTtcblxuICAvLyBJZiAkZnMgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJGZzIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgQGlmIG5vdCAkZnMtdW5pdCBvciAkZnMtdW5pdCAhPSBcIlwiIGFuZCAkZnMtdW5pdCAhPSBcInB4XCIgYW5kICRmcy11bml0ICE9IFwicmVtXCIgb3IgJGZzID09IDAge1xuICAgIGZvbnQtc2l6ZTogI3skZnN9I3skcmZzLXN1ZmZpeH07XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFZhcmlhYmxlcyBmb3Igc3RvcmluZyBzdGF0aWMgYW5kIGZsdWlkIHJlc2NhbGluZ1xuICAgICRyZnMtc3RhdGljOiBudWxsO1xuICAgICRyZnMtZmx1aWQ6IG51bGw7XG5cbiAgICAvLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRmcyBmb3IgY2FsY3VsYXRpb25zXG4gICAgQGlmICRmcy11bml0ID09IFwicHhcIiB7XG4gICAgICAkZnM6ICRmcyAvICgkZnMgKiAwICsgMSk7XG4gICAgfVxuICAgIEBlbHNlIGlmICRmcy11bml0ID09IFwicmVtXCIge1xuICAgICAgJGZzOiAkZnMgLyAoJGZzICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gU2V0IGRlZmF1bHQgZm9udC1zaXplXG4gICAgQGlmICRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtIHtcbiAgICAgICRyZnMtc3RhdGljOiAjeyRmcyAvICRyZnMtcmVtLXZhbHVlfXJlbSN7JHJmcy1zdWZmaXh9O1xuICAgIH1cbiAgICBAZWxzZSBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ID09IHB4IHtcbiAgICAgICRyZnMtc3RhdGljOiAjeyRmc31weCN7JHJmcy1zdWZmaXh9O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgXCJgI3skcmZzLWZvbnQtc2l6ZS11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1mb250LXNpemUtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG4gICAgfVxuXG4gICAgLy8gT25seSBhZGQgbWVkaWEgcXVlcnkgaWYgZm9udC1zaXplIGlzIGJpZ2dlciBhcyB0aGUgbWluaW11bSBmb250LXNpemVcbiAgICAvLyBJZiAkcmZzLWZhY3RvciA9PSAxLCBubyByZXNjYWxpbmcgd2lsbCB0YWtlIHBsYWNlXG4gICAgQGlmICRmcyA+ICRyZnMtYmFzZS1mb250LXNpemUgYW5kICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHtcbiAgICAgICRtaW4td2lkdGg6IG51bGw7XG4gICAgICAkdmFyaWFibGUtdW5pdDogbnVsbDtcblxuICAgICAgLy8gQ2FsY3VsYXRlIG1pbmltdW0gZm9udC1zaXplIGZvciBnaXZlbiBmb250LXNpemVcbiAgICAgICRmcy1taW46ICRyZnMtYmFzZS1mb250LXNpemUgKyAoJGZzIC0gJHJmcy1iYXNlLWZvbnQtc2l6ZSkgLyAkcmZzLWZhY3RvcjtcblxuICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiBnaXZlbiBmb250LXNpemUgYW5kIG1pbmltdW0gZm9udC1zaXplIGZvciBnaXZlbiBmb250LXNpemVcbiAgICAgICRmcy1kaWZmOiAkZnMgLSAkZnMtbWluO1xuXG4gICAgICAvLyBCYXNlIGZvbnQtc2l6ZSBmb3JtYXR0aW5nXG4gICAgICAvLyBObyBuZWVkIHRvIGNoZWNrIGlmIHRoZSB1bml0IGlzIHZhbGlkLCBiZWNhdXNlIHdlIGRpZCB0aGF0IGJlZm9yZVxuICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0sICN7JGZzLW1pbiAvICRyZnMtcmVtLXZhbHVlfXJlbSwgI3skZnMtbWlufXB4KTtcblxuICAgICAgLy8gSWYgdHdvLWRpbWVuc2lvbmFsLCB1c2Ugc21hbGxlc3Qgb2Ygc2NyZWVuIHdpZHRoIGFuZCBoZWlnaHRcbiAgICAgICR2YXJpYWJsZS11bml0OiBpZigkcmZzLXR3by1kaW1lbnNpb25hbCwgdm1pbiwgdncpO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAkdmFyaWFibGUtd2lkdGg6ICN7JGZzLWRpZmYgKiAxMDAgLyAkcmZzLWJyZWFrcG9pbnR9I3skdmFyaWFibGUtdW5pdH07XG5cbiAgICAgIC8vIFNldCB0aGUgY2FsY3VsYXRlZCBmb250LXNpemUuXG4gICAgICAkcmZzLWZsdWlkOiBjYWxjKCN7JG1pbi13aWR0aH0gKyAjeyR2YXJpYWJsZS13aWR0aH0pICN7JHJmcy1zdWZmaXh9O1xuICAgIH1cblxuICAgIC8vIFJlbmRlcmluZ1xuICAgIEBpZiAkcmZzLWZsdWlkID09IG51bGwge1xuICAgICAgLy8gT25seSByZW5kZXIgc3RhdGljIGZvbnQtc2l6ZSBpZiBubyBmbHVpZCBmb250LXNpemUgaXMgYXZhaWxhYmxlXG4gICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkbXEtdmFsdWU6IG51bGw7XG5cbiAgICAgIC8vIFJGUyBicmVha3BvaW50IGZvcm1hdHRpbmdcbiAgICAgIEBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBlbSBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSByZW0ge1xuICAgICAgICAkbXEtdmFsdWU6ICN7JHJmcy1icmVha3BvaW50IC8gJHJmcy1yZW0tdmFsdWV9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH07XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCB7XG4gICAgICAgICRtcS12YWx1ZTogI3skcmZzLWJyZWFrcG9pbnR9cHg7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImRpc2FibGVcIiB7XG4gICAgICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksXG4gICAgICAgIC8vIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgZm9udCBzaXplXG4gICAgICAgICYsXG4gICAgICAgIC5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICYuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSwgKG1heC1oZWlnaHQ6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZW5hYmxlXCIge1xuICAgICAgICAgICAgLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAgICAgJi5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4IHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBsZW5ndGgtemVyby1uby11bml0XG4gICAgICAgICAgICBtaW4td2lkdGg6IDB2dztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZW5hYmxlXCIge1xuICAgICAgICAgICAgLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAgICAgJi5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4IHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBsZW5ndGgtemVyby1uby11bml0XG4gICAgICAgICAgICBtaW4td2lkdGg6IDB2dztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlIGZvbnQtc2l6ZSAmIHJlc3BvbnNpdmUtZm9udC1zaXplIG1peGluIHVzZXMgUkZTIHRvIHJlc2NhbGUgZm9udCBzaXplc1xuQG1peGluIGZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuXG5AbWl4aW4gcmVzcG9uc2l2ZS1mb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cbiIsIi8vIEhvdmVyIG1peGluIGFuZCBgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeWAgYXJlIGRlcHJlY2F0ZWQuXG4vL1xuLy8gT3JpZ2luYWxseSBhZGRlZCBkdXJpbmcgb3VyIGFscGhhcyBhbmQgbWFpbnRhaW5lZCBkdXJpbmcgYmV0YXMsIHRoaXMgbWl4aW4gd2FzXG4vLyBkZXNpZ25lZCB0byBwcmV2ZW50IGA6aG92ZXJgIHN0aWNraW5lc3Mgb24gaU9TLWFuIGlzc3VlIHdoZXJlIGhvdmVyIHN0eWxlc1xuLy8gd291bGQgcGVyc2lzdCBhZnRlciBpbml0aWFsIHRvdWNoLlxuLy9cbi8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB3ZSd2ZSBrZXB0IHRoZXNlIG1peGlucyBhbmQgdXBkYXRlZCB0aGVtIHRvXG4vLyBhbHdheXMgcmV0dXJuIHRoZWlyIHJlZ3VsYXIgcHNldWRvLWNsYXNzZXMgaW5zdGVhZCBvZiBhIHNoaW1tZWQgbWVkaWEgcXVlcnkuXG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjUxOTVcblxuQG1peGluIGhvdmVyKCkge1xuICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMoKSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5cbi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcbn1cblxuaDEsIC5oMSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTsgfVxuaDIsIC5oMiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTsgfVxuaDMsIC5oMyB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTsgfVxuaDQsIC5oNCB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTsgfVxuaDUsIC5oNSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTsgfVxuaDYsIC5oNiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTsgfVxuXG4ubGVhZCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVhZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG4uZGlzcGxheS0xIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5MS1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5MS13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTIge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkyLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkyLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMyB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTMtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTMtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS00IHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5NC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5NC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cblxuXG4vL1xuLy8gSG9yaXpvbnRhbCBydWxlc1xuLy9cblxuaHIge1xuICBtYXJnaW4tdG9wOiAkaHItbWFyZ2luLXk7XG4gIG1hcmdpbi1ib3R0b206ICRoci1tYXJnaW4teTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XG59XG5cblxuLy9cbi8vIEVtcGhhc2lzXG4vL1xuXG5zbWFsbCxcbi5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc21hbGwtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6ICRtYXJrLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXJrLWJnO1xufVxuXG5cbi8vXG4vLyBMaXN0c1xuLy9cblxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogJGxpc3QtaW5saW5lLXBhZGRpbmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gTWlzY1xuLy9cblxuLy8gQnVpbGRzIG9uIGBhYmJyYFxuLmluaXRpYWxpc20ge1xuICBAaW5jbHVkZSBmb250LXNpemUoOTAlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLWZvbnQtc2l6ZSk7XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplKTtcbiAgY29sb3I6ICRibG9ja3F1b3RlLXNtYWxsLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwMTRcXDAwQTBcIjsgLy8gZW0gZGFzaCwgbmJzcFxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkKCkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi8vXG4vLyBUaGlzIGlzIHB1cnBvc2VmdWxseSBvcHQtaW4gdmlhIGFuIGV4cGxpY2l0IGNsYXNzIHJhdGhlciB0aGFuIGJlaW5nIHRoZSBkZWZhdWx0IGZvciBhbGwgYDxpbWc+YHMuXG4vLyBXZSBwcmV2aW91c2x5IHRyaWVkIHRoZSBcImltYWdlcyBhcmUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0XCIgYXBwcm9hY2ggaW4gQm9vdHN0cmFwIHYyLFxuLy8gYW5kIGFiYW5kb25lZCBpdCBpbiBCb290c3RyYXAgdjMgYmVjYXVzZSBpdCBicmVha3MgbG90cyBvZiB0aGlyZC1wYXJ0eSB3aWRnZXRzIChpbmNsdWRpbmcgR29vZ2xlIE1hcHMpXG4vLyB3aGljaCB3ZXJlbid0IGV4cGVjdGluZyB0aGUgaW1hZ2VzIHdpdGhpbiB0aGVtc2VsdmVzIHRvIGJlIGludm9sdW50YXJpbHkgcmVzaXplZC5cbi8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTgxNzhcbi5pbWctZmx1aWQge1xuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlci13aWR0aCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCR0aHVtYm5haWwtYm94LXNoYWRvdyk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIgLyAyO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmaWd1cmUtY2FwdGlvbi1mb250LXNpemUpO1xuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQoKSB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLlxuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMXgpO1xuXG4gIC8vIEF1dG9wcmVmaXhlciB0YWtlcyBjYXJlIG9mIGFkZGluZyAtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gYW5kIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8sXG4gIC8vIGJ1dCBkb2Vzbid0IGNvbnZlcnQgZHBweD0+ZHBpLlxuICAvLyBUaGVyZSdzIG5vIHN1Y2ggdGhpbmcgYXMgdW5wcmVmaXhlZCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvIHNpbmNlIGl0J3Mgbm9uc3RhbmRhcmQuXG4gIC8vIENvbXBhdGliaWxpdHkgaW5mbzogaHR0cHM6Ly9jYW5pdXNlLmNvbS9jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7IC8vIFN0YW5kYXJkaXplZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0yeCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW1nLXJldGluYSgpYFwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG4iLCIvLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMDAlKTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLy8gU2luZ2xlIGNvbnRhaW5lciBjbGFzcyB3aXRoIGJyZWFrcG9pbnQgbWF4LXdpZHRoc1xuICAuY29udGFpbmVyLFxuICAvLyAxMDAlIHdpZGUgY29udGFpbmVyIGF0IGFsbCBicmVha3BvaW50c1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBjb250YWluZXJzIHRoYXQgYXJlIDEwMCUgd2lkZSB1bnRpbCBhIGJyZWFrcG9pbnRcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgLmNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4dGVuZCBlYWNoIGJyZWFrcG9pbnQgd2hpY2ggaXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgY3VycmVudCBicmVha3BvaW50XG4gICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IHRydWU7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgKCRleHRlbmQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRncmlkLWJyZWFrcG9pbnRzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gT25jZSB0aGUgY3VycmVudCBicmVha3BvaW50IGlzIHJlYWNoZWQsIHN0b3AgZXh0ZW5kaW5nXG4gICAgICAgICAgQGlmICgkYnJlYWtwb2ludCA9PSAkbmFtZSkge1xuICAgICAgICAgICAgJGV4dGVuZC1icmVha3BvaW50OiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLm5vLWd1dHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGd1dHRlciAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAtJGd1dHRlciAvIDI7XG59XG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgbWFrZS1jb250YWluZXItbWF4LXdpZHRoc2AgbWl4aW5cIiwgXCJ2NC41LjJcIiwgXCJ2NVwiKTtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiAkc2l6ZSAvICRjb2x1bW5zO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlcm9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgPiAqIHtcbiAgICBmbGV4OiAwIDAgMTAwJSAvICRjb3VudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgLyAkY291bnQ7XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbCN7JGluZml4fSxcbiAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGdyaWQtcm93LWNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1yb3ctY29sdW1ucyB7XG4gICAgICAgICAgLnJvdy1jb2xzI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJvdy1jb2xzKCRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tZmlyc3QgeyBvcmRlcjogLTE7IH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWxhc3QgeyBvcmRlcjogJGNvbHVtbnMgKyAxOyB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAub3JkZXIjeyRpbmZpeH0tI3skaX0geyBvcmRlcjogJGk7IH1cbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2ljIEJvb3RzdHJhcCB0YWJsZVxuLy9cblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIGNvbG9yOiAkdGFibGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZzsgLy8gUmVzZXQgZm9yIG5lc3Rpbmcgd2l0aGluIHBhcmVudHMgd2l0aCBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLXRvcDogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcbi8vXG5cbi50YWJsZS1zbSB7XG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy1zbTtcbiAgfVxufVxuXG5cbi8vIEJvcmRlciB2ZXJzaW9uc1xuLy9cbi8vIEFkZCBvciByZW1vdmUgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuXG4gIHRoLFxuICB0ZCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMiAqICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1ib3JkZXJsZXNzIHtcbiAgdGgsXG4gIHRkLFxuICB0aGVhZCB0aCxcbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICB0Ym9keSB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1hY2NlbnQtYmc7XG4gIH1cbn1cblxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gIHRib2R5IHRyIHtcbiAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaG92ZXItYmc7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFibGUgYmFja2dyb3VuZHNcbi8vXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkdGFibGUtYmctbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICR0YWJsZS1ib3JkZXItbGV2ZWwpKTtcbn1cblxuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoYWN0aXZlLCAkdGFibGUtYWN0aXZlLWJnKTtcblxuXG4vLyBEYXJrIHN0eWxlc1xuLy9cbi8vIFNhbWUgdGFibGUgbWFya3VwLCBidXQgaW52ZXJ0ZWQgY29sb3Igc2NoZW1lOiBkYXJrIGJhY2tncm91bmQgYW5kIGxpZ2h0IHRleHQuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4udGFibGUge1xuICAudGhlYWQtZGFyayB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAudGhlYWQtbGlnaHQge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtaGVhZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtZGFyayB7XG4gIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYmc7XG5cbiAgdGgsXG4gIHRkLFxuICB0aGVhZCB0aCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmLnRhYmxlLXN0cmlwZWQge1xuICAgIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1hY2NlbnQtYmc7XG4gICAgfVxuICB9XG5cbiAgJi50YWJsZS1ob3ZlciB7XG4gICAgdGJvZHkgdHIge1xuICAgICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC50YWJsZS1yZXNwb25zaXZlLSpgIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBzY3JlZW5cbi8vIHNpemUgb2Ygd2hlcmUgeW91ciB0YWJsZSB3aWxsIG92ZXJmbG93LlxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICAgICAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyIG9uIGhvcml6b250YWwgc2Nyb2xsIGR1ZSB0byB1c2Ugb2YgYGRpc3BsYXk6IGJsb2NrO2BcbiAgICAgICAgPiAudGFibGUtYm9yZGVyZWQge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkYm9yZGVyOiBudWxsKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICYsXG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBpZiAkYm9yZGVyICE9IG51bGwge1xuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIge1xuICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcblxuICAgIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIFRleHR1YWwgZm9ybSBjb250cm9sc1xuLy9cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuICAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMsIDApO1xuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcblxuICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHNlbGVjdCBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRpbnB1dC1jb2xvcjtcbiAgfVxuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjYuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJjpkaXNhYmxlZCxcbiAgJltyZWFkb25seV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gICYuZm9ybS1jb250cm9sIHtcbiAgICBhcHBlYXJhbmNlOiBub25lOyAvLyBGaXggYXBwZWFyYW5jZSBmb3IgZGF0ZSBpbnB1dHMgaW4gU2FmYXJpXG4gIH1cbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICY6Zm9jdXM6Oi1tcy12YWx1ZSB7XG4gICAgLy8gU3VwcHJlc3MgdGhlIG5lc3RlZCBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgIC8vIGluIElFIGFuZCAodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKSBFZGdlLCBhcyBpdCBsb29rcyBiYWQgYW5kIGNhbm5vdCBiZSBtYWRlIHRvXG4gICAgLy8gbWF0Y2ggdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIG5hdGl2ZSB3aWRnZXQuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTkzOTguXG4gICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIH1cbn1cblxuLy8gTWFrZSBmaWxlIGlucHV0cyBiZXR0ZXIgbWF0Y2ggdGV4dCBpbnB1dHMgYnkgZm9yY2luZyB0aGVtIHRvIG5ldyBsaW5lcy5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLy9cbi8vIExhYmVsc1xuLy9cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPi88bGVnZW5kPmAgZGVmYXVsdFxuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG59XG5cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1wbGFpbnRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDtcblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFJlcGVhdGVkIGluIGBfaW5wdXRfZ3JvdXAuc2Nzc2AgdG8gYXZvaWQgU2FzcyBleHRlbmQgaXNzdWVzLlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmW3NpemVdLFxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xufVxuXG5cbi8vIEZvcm0gZ3JpZFxuLy9cbi8vIFNwZWNpYWwgcmVwbGFjZW1lbnQgZm9yIG91ciBncmlkIHN5c3RlbSdzIGAucm93YCBmb3IgdGlnaHRlciBmb3JtIGxheW91dHMuXG5cbi5mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcblxuICA+IC5jb2wsXG4gID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5mb3JtLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCBmb3Igd29ya2Fyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdIH4gLmZvcm0tY2hlY2stbGFiZWwsXG4gICY6ZGlzYWJsZWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgYm90dG9tIG1hcmdpblxufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBPdmVycmlkZSBiYXNlIC5mb3JtLWNoZWNrXG4gIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14O1xuXG4gIC8vIFVuZG8gLmZvcm0tY2hlY2staW5wdXQgZGVmYXVsdHMgYW5kIGFkZCBzb21lIGBtYXJnaW4tcmlnaHRgLlxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG4vL1xuLy8gUHJvdmlkZSBmZWVkYmFjayB0byB1c2VycyB3aGVuIGZvcm0gZmllbGQgdmFsdWVzIGFyZSB2YWxpZCBvciBpbnZhbGlkLiBXb3Jrc1xuLy8gcHJpbWFyaWx5IGZvciBjbGllbnQtc2lkZSB2YWxpZGF0aW9uIHZpYSBzY29wZWQgYDppbnZhbGlkYCBhbmQgYDp2YWxpZGBcbi8vIHBzZXVkby1jbGFzc2VzIGJ1dCBhbHNvIGluY2x1ZGVzIGAuaXMtaW52YWxpZGAgYW5kIGAuaXMtdmFsaWRgIGNsYXNzZXMgZm9yXG4vLyBzZXJ2ZXIgc2lkZSB2YWxpZGF0aW9uLlxuXG5AZWFjaCAkc3RhdGUsICRkYXRhIGluICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzIHtcbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgbWFwLWdldCgkZGF0YSwgY29sb3IpLCBtYXAtZ2V0KCRkYXRhLCBpY29uKSk7XG59XG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG5cbi5mb3JtLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIFByZXZlbnQgc2hvcnRlciBlbGVtZW50cyBmcm9tIGdyb3dpbmcgdG8gc2FtZSBoZWlnaHQgYXMgb3RoZXJzIChlLmcuLCBzbWFsbCBidXR0b25zIGdyb3dpbmcgdG8gbm9ybWFsIHNpemVkIGJ1dHRvbiBoZWlnaHQpXG5cbiAgLy8gQmVjYXVzZSB3ZSB1c2UgZmxleCwgdGhlIGluaXRpYWwgc2l6aW5nIG9mIGNoZWNrYm94ZXMgaXMgY29sbGFwc2VkIGFuZFxuICAvLyBkb2Vzbid0IG9jY3VweSB0aGUgZnVsbC13aWR0aCAod2hpY2ggaXMgd2hhdCB3ZSB3YW50IGZvciB4cyBncmlkIHRpZXIpLFxuICAvLyBzbyB3ZSBmb3JjZSB0aGF0IGhlcmUuXG4gIC5mb3JtLWNoZWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gSW5saW5lLWJsb2NrIGFsbCB0aGUgdGhpbmdzIGZvciBcImlubGluZVwiXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIEFsbG93IGZvbGtzIHRvICpub3QqIHVzZSBgLmZvcm0tZ3JvdXBgXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgLy8gUHJldmVudCBsYWJlbHMgZnJvbSBzdGFja2luZyBhYm92ZSBpbnB1dHMgaW4gYC5mb3JtLWdyb3VwYFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN0YXRpYyBjb250cm9scyBiZWhhdmUgbGlrZSByZWd1bGFyIG9uZXNcbiAgICAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwLFxuICAgIC5jdXN0b20tc2VsZWN0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5jdXN0b20tY29udHJvbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7XG4gICAgQGVhY2ggJHZhbHVlIGluICR0cmFuc2l0aW9uIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gbnVsbCBvciAkdmFsdWUgPT0gbm9uZSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG9yICdudWxsJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG5vbmUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3JgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmb3JtLWNvbnRyb2wtZm9jdXMoKWAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG4vLyBUaGlzIG1peGluIHVzZXMgYW4gYGlmKClgIHRlY2huaXF1ZSB0byBiZSBjb21wYXRpYmxlIHdpdGggRGFydCBTYXNzXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMTg3MyNpc3N1ZWNvbW1lbnQtMTUyMjkzNzI1IGZvciBtb3JlIGRldGFpbHNcbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gIEBpZiAoJHN0YXRlID09IFwidmFsaWRcIiBvciAkc3RhdGUgPT0gXCJpbnZhbGlkXCIpIHtcbiAgICAud2FzLXZhbGlkYXRlZCAje2lmKCYsIFwiJlwiLCBcIlwiKX06I3skc3RhdGV9LFxuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yLCAkaWNvbikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSk7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzE1NTdcbiAgICAvLyBBbGlnbiB0b29sdGlwIHRvIGZvcm0gZWxlbWVudHNcbiAgICAuZm9ybS1yb3cgPiAuY29sID4gJixcbiAgICAuZm9ybS1yb3cgPiBbY2xhc3MqPVwiY29sLVwiXSA+ICYge1xuICAgICAgbGVmdDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRpY29uKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZCwgJGN1c3RvbS1zZWxlY3QtYmcgZXNjYXBlLXN2ZygkaWNvbikgJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbiAvICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZSBuby1yZXBlYXQ7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDEwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcobGlnaHRlbigkY29sb3IsIDEwJSkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBjdXN0b20gZmlsZVxuICAuY3VzdG9tLWZpbGUtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRidG4tZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogJGJ0bi13aGl0ZS1zcGFjZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6ICRidG4tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteSwgJGJ0bi1wYWRkaW5nLXgsICRidG4tZm9udC1zaXplLCAkYnRuLWxpbmUtaGVpZ2h0LCAkYnRuLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBpZigkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zLCBwb2ludGVyLCBudWxsKTtcblxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tZm9jdXMtYm94LXNoYWRvdywgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0OmRpc2FibGVkIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGJ0bi1mb250LXNpemUtbGcsICRidG4tbGluZS1oZWlnaHQtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRidG4tZm9udC1zaXplLXNtLCAkYnRuLWxpbmUtaGVpZ2h0LXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5cbi8vXG4vLyBCbG9jayBidXR0b25cbi8vXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuICArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6ICRidG4tYmxvY2stc3BhY2luZy15O1xuICB9XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDcuNSUpLCAkaG92ZXItYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTAlKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSksICRhY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTIuNSUpKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yLCAkY29sb3ItaG92ZXI6IGNvbG9yLXlpcSgkY29sb3IpLCAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvciwgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIC8vIE1hbnVhbGx5IGRlY2xhcmUgdG8gcHJvdmlkZSBhbiBvdmVycmlkZSB0byB0aGUgYnJvd3NlciBkZWZhdWx0XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMsIDApO1xufVxuIiwiLmZhZGUge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICY6bm90KC5zaG93KSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG59XG4iLCIvLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoYDxkaXY+YClcbi5kcm9wdXAsXG4uZHJvcHJpZ2h0LFxuLmRyb3Bkb3duLFxuLmRyb3BsZWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldCgpO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudVxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1kcm9wZG93bjtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogJGRyb3Bkb3duLW1pbi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmcteSAkZHJvcGRvd24tcGFkZGluZy14O1xuICBtYXJnaW46ICRkcm9wZG93bi1zcGFjZXIgMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZHJvcGRvd24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRkcm9wZG93bi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRkcm9wZG93bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZHJvcGRvd24tYm94LXNoYWRvdyk7XG59XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LWxlZnQge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQodXApO1xuICB9XG59XG5cbi5kcm9wcmlnaHQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHJpZ2h0KTtcbiAgICAmOjphZnRlciB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3BsZWZ0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQobGVmdCk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXaGVuIFBvcHBlciBpcyBlbmFibGVkLCByZXNldCB0aGUgYmFzaWMgZHJvcGRvd24gcG9zaXRpb25cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4uZHJvcGRvd24tbWVudSB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICByaWdodDogYXV0bztcbiAgICBib3R0b206IGF1dG87XG4gIH1cbn1cblxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBgPGhyPmApIHdpdGhpbiB0aGUgZHJvcGRvd25cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgbmF2LWRpdmlkZXIoJGRyb3Bkb3duLWRpdmlkZXItYmcsICRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15LCB0cnVlKTtcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBib3JkZXI6IDA7IC8vIEZvciBgPGJ1dHRvbj5gc1xuXG4gIC8vIFByZXZlbnQgZHJvcGRvd24gb3ZlcmZsb3cgaWYgdGhlcmUncyBubyBwYWRkaW5nXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yNzcwM1xuICBAaWYgJGRyb3Bkb3duLXBhZGRpbmcteSA9PSAwIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstaG92ZXItYmcpO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1hY3RpdmUtYmcpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXNtKTtcbiAgY29sb3I6ICRkcm9wZG93bi1oZWFkZXItY29sb3I7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gRHJvcGRvd24gdGV4dFxuLmRyb3Bkb3duLWl0ZW0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG59XG4iLCJAbWl4aW4gY2FyZXQtZG93bigpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwKCkge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtcmlnaHQoKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1sZWZ0KCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldCgkZGlyZWN0aW9uOiBkb3duKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cCgpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtcmlnaHQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1sZWZ0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICRuYXYtZGl2aWRlci1jb2xvciwgJG1hcmdpbi15OiAkbmF2LWRpdmlkZXItbWFyZ2luLXksICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46ICRtYXJnaW4teSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYG5hdi1kaXZpZGVyKClgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcblxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgIC8vIEJyaW5nIHRoZSBob3ZlciwgZm9jdXNlZCwgYW5kIFwiYWN0aXZlXCIgYnV0dG9ucyB0byB0aGUgZnJvbnQgdG8gb3ZlcmxheVxuICAgIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmJ0bi1ncm91cCB7XG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlcixcbiAgLmRyb3B1cCAmOjphZnRlcixcbiAgLmRyb3ByaWdodCAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGxlZnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG4uYnRuLWdyb3VwLXRvZ2dsZSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgdmFsdWVcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIEZvciBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2tcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuY3VzdG9tLXNlbGVjdCxcbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGZvY3VzIHN0YXRlJ3Mgei1pbmRleFxuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHdpZHRoOiAxJTtcbiAgICBtaW4td2lkdGg6IDA7IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM2MjQ3MTQwL3doeS1kb250LWZsZXgtaXRlbXMtc2hyaW5rLXBhc3QtY29udGVudC1zaXplXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICsgLmZvcm0tY29udHJvbCxcbiAgICArIC5jdXN0b20tc2VsZWN0LFxuICAgICsgLmN1c3RvbS1maWxlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBmb3JtIGNvbnRyb2wgdG8gdGhlIHRvcCBvZiBzdXJyb3VuZGluZyBlbGVtZW50c1xuICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gID4gLmN1c3RvbS1zZWxlY3Q6Zm9jdXMsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjdXN0b20gZmlsZSBpbnB1dCBhYm92ZSB0aGUgbGFiZWxcbiAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIHtcbiAgICB6LWluZGV4OiA0O1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5jdXN0b20tc2VsZWN0IHtcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cblxuICAvLyBDdXN0b20gZmlsZSBpbnB1dHMgaGF2ZSBtb3JlIGNvbXBsZXggbWFya3VwLCB0aHVzIHJlcXVpcmluZyBkaWZmZXJlbnRcbiAgLy8gYm9yZGVyLXJhZGl1cyBvdmVycmlkZXMuXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cblxuICAmOm5vdCguaGFzLXZhbGlkYXRpb24pIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bm90KDpsYXN0LWNoaWxkKSxcbiAgICA+IC5jdXN0b20tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCksXG4gICAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG5cbiAgJi5oYXMtdmFsaWRhdGlvbiB7XG4gICAgPiAuZm9ybS1jb250cm9sOm50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5jdXN0b20tc2VsZWN0Om50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5jdXN0b20tZmlsZTpudGgtbGFzdC1jaGlsZChuICsgMykgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZFxuLy9cbi8vIFdoaWxlIGl0IHJlcXVpcmVzIG9uZSBleHRyYSBsYXllciBvZiBIVE1MIGZvciBlYWNoLCBkZWRpY2F0ZWQgcHJlcGVuZCBhbmRcbi8vIGFwcGVuZCBlbGVtZW50cyBhbGxvdyB1cyB0byAxKSBiZSBsZXNzIGNsZXZlciwgMikgc2ltcGxpZnkgb3VyIHNlbGVjdG9ycywgYW5kXG4vLyAzKSBzdXBwb3J0IEhUTUw1IGZvcm0gdmFsaWRhdGlvbi5cblxuLmlucHV0LWdyb3VwLXByZXBlbmQsXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxuXG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kIHsgbWFyZ2luLXJpZ2h0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuLmlucHV0LWdyb3VwLWFwcGVuZCB7IG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEFsbG93IHVzZSBvZiA8bGFiZWw+IGVsZW1lbnRzIGJ5IG92ZXJyaWRpbmcgb3VyIGRlZmF1bHQgbWFyZ2luLWJvdHRvbVxuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7IC8vIE1hdGNoIGlucHV0c1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBOdWtlIGRlZmF1bHQgbWFyZ2lucyBmcm9tIGNoZWNrYm94ZXMgYW5kIHJhZGlvcyB0byB2ZXJ0aWNhbGx5IGNlbnRlciB3aXRoaW4uXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kIHJvdW5kZWQgY29ybmVyc1xuLy9cbi8vIFRoZXNlIHJ1bGVzZXRzIG11c3QgY29tZSBhZnRlciB0aGUgc2l6aW5nIG9uZXMgdG8gcHJvcGVybHkgb3ZlcnJpZGUgc20gYW5kIGxnXG4vLyBib3JkZXItcmFkaXVzIHZhbHVlcyB3aGVuIGV4dGVuZGluZy4gVGhleSdyZSBtb3JlIHNwZWNpZmljIHRoYW4gd2UnZCBsaWtlXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cblxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cDpub3QoLmhhcy12YWxpZGF0aW9uKSA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLmhhcy12YWxpZGF0aW9uID4gLmlucHV0LWdyb3VwLWFwcGVuZDpudGgtbGFzdC1jaGlsZChuICsgMykgPiAuYnRuLFxuLmlucHV0LWdyb3VwLmhhcy12YWxpZGF0aW9uID4gLmlucHV0LWdyb3VwLWFwcGVuZDpudGgtbGFzdC1jaGlsZChuICsgMykgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbn1cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cbiIsIi8vIEVtYmVkZGVkIGljb25zIGZyb20gT3BlbiBJY29uaWMuXG4vLyBSZWxlYXNlZCB1bmRlciBNSVQgYW5kIGNvcHlyaWdodCAyMDE0IFdheWJ1cnkuXG4vLyBodHRwczovL3VzZWljb25pYy5jb20vb3BlblxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEJhc2UgY2xhc3MgdGFrZXMgY2FyZSBvZiBhbGwgdGhlIGtleSBiZWhhdmlvcmFsIGFzcGVjdHMuXG5cbi5jdXN0b20tY29udHJvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6ICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlO1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gIGNvbG9yLWFkanVzdDogZXhhY3Q7IC8vIEtlZXAgdGhlbWVkIGFwcGVhcmFuY2UgZm9yIHByaW50XG59XG5cbi5jdXN0b20tY29udHJvbC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg7XG59XG5cbi5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogLTE7IC8vIFB1dCB0aGUgaW5wdXQgYmVoaW5kIHRoZSBsYWJlbCBzbyBpdCBkb2Vzbid0IG92ZXJsYXkgdGV4dFxuICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICBoZWlnaHQ6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyB0aGUgbWl4aW4gaXMgbm90IHVzZWQgaGVyZSB0byBtYWtlIHN1cmUgdGhlcmUgaXMgZmVlZGJhY2tcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ3VzdG9tIGNvbnRyb2wgaW5kaWNhdG9yc1xuLy9cbi8vIEJ1aWxkIHRoZSBjdXN0b20gY29udHJvbHMgb3V0IG9mIHBzZXVkby1lbGVtZW50cy5cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjdXJzb3I6ICRjdXN0b20tY29udHJvbC1jdXJzb3I7XG5cbiAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMjtcbiAgICBsZWZ0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgIGJvcmRlcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3Igc29saWQgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLy8gRm9yZWdyb3VuZCAoaWNvbilcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyO1xuICAgIGxlZnQ6IC0oJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6IDUwJSAvICN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplfSBuby1yZXBlYXQ7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIGNoZWNrYm94ZXMuXG5cbi5jdXN0b20tY2hlY2tib3gge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yO1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdyk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICAgICY6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIFJhZGlvc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciByYWRpb3MuXG5cbi5jdXN0b20tcmFkaW8ge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBzd2l0Y2hlc1xuLy9cbi8vIFR3ZWFrIGEgZmV3IHRoaW5ncyBmb3Igc3dpdGNoZXNcblxuLmN1c3RvbS1zd2l0Y2gge1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcblxuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtKCRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcik7XG4gICAgICB3aWR0aDogJGN1c3RvbS1zd2l0Y2gtd2lkdGg7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiBhZGQoKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDIsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMik7XG4gICAgICBsZWZ0OiBhZGQoLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgaGVpZ2h0OiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuMTVzIGVhc2UtaW4tb3V0LCAkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRjdXN0b20tc3dpdGNoLXdpZHRoIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cbi8vXG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJnICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93KTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93LCAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXBwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB9XG59XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtc207XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtbGcge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGcpO1xufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgQGVhY2ggJGxhbmcsICR2YWx1ZSBpbiAkY3VzdG9tLWZpbGUtdGV4dCB7XG4gICAgJjpsYW5nKCN7JGxhbmd9KSB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIH4gLmN1c3RvbS1maWxlLWxhYmVsW2RhdGEtYnJvd3NlXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1icm93c2UpO1xuICB9XG59XG5cbi5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLWZpbGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1iZztcbiAgYm9yZGVyOiAkY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tZmlsZS1ib3gtc2hhZG93KTtcblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI7XG4gICAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICAgIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRjdXN0b20tZmlsZS1idXR0b24tY29sb3I7XG4gICAgY29udGVudDogXCJCcm93c2VcIjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWZpbGUtYnV0dG9uLWJnKTtcbiAgICBib3JkZXItbGVmdDogaW5oZXJpdDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgMCk7XG4gIH1cbn1cblxuLy8gUmFuZ2Vcbi8vXG4vLyBTdHlsZSByYW5nZSBpbnB1dHMgdGhlIHNhbWUgYWNyb3NzIGJyb3dzZXJzLiBWZW5kb3Itc3BlY2lmaWMgcnVsZXMgZm9yIHBzZXVkb1xuLy8gZWxlbWVudHMgY2Fubm90IGJlIG1peGVkLiBBcyBzdWNoLCB0aGVyZSBhcmUgbm8gc2hhcmVkIHN0eWxlcyBmb3IgZm9jdXMgb3Jcbi8vIGFjdGl2ZSBzdGF0ZXMgb24gcHJlZml4ZWQgc2VsZWN0b3JzLlxuXG4uY3VzdG9tLXJhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYWRkKCRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0LCAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyKTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbXMtdGh1bWIgICAgICAgICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogKCRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQpIC8gMjsgLy8gV2Via2l0IHNwZWNpZmljXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgLy8gV2h5P1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRmlyZWZveCBzcGVjaWZpYz9cbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1zLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDA7IC8vIEVkZ2Ugc3BlY2lmaWNcbiAgICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgLy8gV29ya2Fyb3VuZCB0aGF0IG92ZXJmbG93ZWQgYm94LXNoYWRvdyBpcyBoaWRkZW4uXG4gICAgbWFyZ2luLWxlZnQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgIC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbXMtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0IC8gMjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyAvLyBhcmJpdHJhcnk/XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG5cbi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuLmN1c3RvbS1maWxlLWxhYmVsLFxuLmN1c3RvbS1zZWxlY3Qge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gS2lja3N0YXJ0IGFueSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB3aXRoIGEgc2V0IG9mIHN0eWxlIHJlc2V0cy4gV29ya3Mgd2l0aFxuLy8gYDxuYXY+YHMsIGA8dWw+YHMgb3IgYDxvbD5gcy5cblxuLm5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmcteSAkbmF2LWxpbmstcGFkZGluZy14O1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuXG4gIC5uYXYtbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgYm9yZGVyOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRuYXYtdGFicy1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIC8vIE1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICAgIG1hcmdpbi10b3A6IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xuICAgIC8vIFJlbW92ZSB0aGUgdG9wIHJvdW5kZWQgY29ybmVycyBoZXJlIHNpbmNlIHRoZXJlIGlzIGEgaGFyZCBlZGdlIGFib3ZlIHRoZSBtZW51XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gUGlsbHNcbi8vXG5cbi5uYXYtcGlsbHMge1xuICAubmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdi1waWxscy1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy9cbi8vIEp1c3RpZmllZCB2YXJpYW50c1xuLy9cblxuLm5hdi1maWxsIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy9cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvLyBDb250ZW50c1xuLy9cbi8vIE5hdmJhclxuLy8gTmF2YmFyIGJyYW5kXG4vLyBOYXZiYXIgbmF2XG4vLyBOYXZiYXIgdGV4dFxuLy8gTmF2YmFyIGRpdmlkZXJcbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vLyBOYXZiYXIgcG9zaXRpb25cbi8vIE5hdmJhciB0aGVtZXNcblxuXG4vLyBOYXZiYXJcbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gYWxsb3cgdXMgdG8gZG8gdGhlIGxpbmUgYnJlYWsgZm9yIGNvbGxhcHNpbmcgY29udGVudFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIHNwYWNlIG91dCBicmFuZCBmcm9tIGxvZ29cbiAgcGFkZGluZzogJG5hdmJhci1wYWRkaW5nLXkgJG5hdmJhci1wYWRkaW5nLXg7XG5cbiAgLy8gQmVjYXVzZSBmbGV4IHByb3BlcnRpZXMgYXJlbid0IGluaGVyaXRlZCwgd2UgbmVlZCB0byByZWRlY2xhcmUgdGhlc2UgZmlyc3RcbiAgLy8gZmV3IHByb3BlcnRpZXMgc28gdGhhdCBjb250ZW50IG5lc3RlZCB3aXRoaW4gYmVoYXZlIHByb3Blcmx5LlxuICAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAuY29udGFpbmVyLFxuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciBicmFuZFxuLy9cbi8vIFVzZWQgZm9yIGJyYW5kLCBwcm9qZWN0LCBvciBzaXRlIG5hbWVzLlxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogJG5hdmJhci1icmFuZC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZiYXItYnJhbmQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIG5hdlxuLy9cbi8vIEN1c3RvbSBuYXZiYXIgbmF2aWdhdGlvbiAoZG9lc24ndCByZXF1aXJlIGAubmF2YCwgYnV0IGRvZXMgbWFrZSB1c2Ugb2YgYC5uYXYtbGlua2ApLlxuXG4ubmF2YmFyLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIGNhbm5vdCB1c2UgYGluaGVyaXRgIHRvIGdldCB0aGUgYC5uYXZiYXJgcyB2YWx1ZVxuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRleHRcbi8vXG4vL1xuXG4ubmF2YmFyLXRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdi1saW5rLXBhZGRpbmcteTtcbn1cblxuXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIHJlc3BvbnNpdmUgY29sbGFwc2luZyBhbmQgdG9nZ2xpbmcgb2YgbmF2YmFyIGNvbnRlbnRzLlxuLy8gUG93ZXJlZCBieSB0aGUgY29sbGFwc2UgQm9vdHN0cmFwIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4vLyBXaGVuIGNvbGxhcHNlZCwgcHJldmVudCB0aGUgdG9nZ2xlYWJsZSBuYXZiYXIgY29udGVudHMgZnJvbSBhcHBlYXJpbmcgaW5cbi8vIHRoZSBkZWZhdWx0IGZsZXhib3ggcm93IG9yaWVudGF0aW9uLiBSZXF1aXJlcyB0aGUgdXNlIG9mIGBmbGV4LXdyYXA6IHdyYXBgXG4vLyBvbiB0aGUgYC5uYXZiYXJgIHBhcmVudC5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBmbGV4LWdyb3c6IDE7XG4gIC8vIEZvciBhbHdheXMgZXhwYW5kZWQgb3IgZXh0cmEgZnVsbCBuYXZiYXJzLCBlbnN1cmUgY29udGVudCBhbGlnbnMgaXRzZWxmXG4gIC8vIHByb3Blcmx5IHZlcnRpY2FsbHkuIENhbiBiZSBlYXNpbHkgb3ZlcnJpZGRlbiB3aXRoIGZsZXggdXRpbGl0aWVzLlxuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBCdXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBuYXZiYXIgd2hlbiBpbiBpdHMgY29sbGFwc2VkIHN0YXRlXG4ubmF2YmFyLXRvZ2dsZXIge1xuICBwYWRkaW5nOiAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi8vIEtlZXAgYXMgYSBzZXBhcmF0ZSBlbGVtZW50IHNvIGZvbGtzIGNhbiBlYXNpbHkgb3ZlcnJpZGUgaXQgd2l0aCBhbm90aGVyIGljb25cbi8vIG9yIGltYWdlIGZpbGUgYXMgbmVlZGVkLlxuLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogNTAlIC8gMTAwJSAxMDAlIG5vLXJlcGVhdDtcbn1cblxuLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgbWF4LWhlaWdodDogJG5hdmJhci1uYXYtc2Nyb2xsLW1heC1oZWlnaHQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLm5hdmJhci1leHBhbmQtKmAgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciBjb25maWd1cmluZ1xuLy8gd2hlcmUgeW91ciBuYXZiYXIgY29sbGFwc2VzLlxuLm5hdmJhci1leHBhbmQge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAgICAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJHNpemUsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9yIG5lc3RpbmcgY29udGFpbmVycywgaGF2ZSB0byByZWRlY2xhcmUgZm9yIGFsaWdubWVudCBwdXJwb3Nlc1xuICAgICAgICAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHNpemUsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgICAgICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLW5hdi1zY3JvbGwge1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgICAgLy8gQ2hhbmdlcyBmbGV4LWJhc2VzIHRvIGF1dG8gYmVjYXVzZSBvZiBhbiBJRTEwIGJ1Z1xuICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGhlbWVzXG4vL1xuLy8gU3R5bGVzIGZvciBzd2l0Y2hpbmcgYmV0d2VlbiBuYXZiYXJzIHdpdGggbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kLlxuXG4vLyBEYXJrIGxpbmtzIGFnYWluc3QgYSBsaWdodCBiYWNrZ3JvdW5kXG4ubmF2YmFyLWxpZ2h0IHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLnNob3csXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZyk7XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBXaGl0ZSBsaW5rcyBhZ2FpbnN0IGEgZGFyayBiYWNrZ3JvdW5kXG4ubmF2YmFyLWRhcmsge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstaG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLnNob3csXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnKTtcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yMjc0MCNpc3N1ZWNvbW1lbnQtMzA1ODY4MTA2XG4gIGhlaWdodDogJGNhcmQtaGVpZ2h0O1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcblxuICA+IGhyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICA+IC5saXN0LWdyb3VwIHtcbiAgICBib3JkZXItdG9wOiBpbmhlcml0O1xuICAgIGJvcmRlci1ib3R0b206IGluaGVyaXQ7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAvLyBEdWUgdG8gc3BlY2lmaWNpdHkgb2YgdGhlIGFib3ZlIHNlbGVjdG9yIChgLmNhcmQgPiAubGlzdC1ncm91cGApLCB3ZSBtdXN0XG4gIC8vIHVzZSBhIGNoaWxkIHNlbGVjdG9yIGhlcmUgdG8gcHJldmVudCBkb3VibGUgYm9yZGVycy5cbiAgPiAuY2FyZC1oZWFkZXIgKyAubGlzdC1ncm91cCxcbiAgPiAubGlzdC1ncm91cCArIC5jYXJkLWZvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG4uY2FyZC1ib2R5IHtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIGZvciBkZWNrcyBhbmQgZ3JvdXBzIHNvIHRoYXQgY2FyZCBibG9ja3MgdGFrZSB1cFxuICAvLyBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlLCBlbnN1cmluZyBmb290ZXJzIGFyZSBhbGlnbmVkIHRvIHRoZSBib3R0b20uXG4gIGZsZXg6IDEgMSBhdXRvO1xuICAvLyBXb3JrYXJvdW5kIGZvciB0aGUgaW1hZ2Ugc2l6ZSBidWcgaW4gSUVcbiAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yODg1NVxuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci14O1xuICBjb2xvcjogJGNhcmQtY29sb3I7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtc3BhY2VyLXk7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLSRjYXJkLXNwYWNlci15IC8gMjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBjb2xvcjogJGNhcmQtY2FwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgMCAwKTtcbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgY29sb3I6ICRjYXJkLWNhcC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItdG9wOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAvIDI7XG4gIG1hcmdpbi1ib3R0b206IC0kY2FyZC1zcGFjZXIteTtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAvIDI7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogLSRjYXJkLXNwYWNlci14IC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAvIDI7XG59XG5cbi8vIENhcmQgaW1hZ2Vcbi5jYXJkLWltZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6ICRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3AsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgZmxleC1zaHJpbms6IDA7IC8vIEZvciBJRTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yOTM5NlxuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBDYXJkIGRlY2tcblxuLmNhcmQtZGVjayB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtZGVjay1tYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcblxuICAgIC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBkZWZhdWx0XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG4uY2FyZC1ncm91cCB7XG4gIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgPiAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZ3JvdXAtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gICAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgICA+IC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgKyAuY2FyZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gSGFuZGxlIHJvdW5kZWQgY29ybmVyc1xuICAgICAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDb2x1bW5zXG4vL1xuXG4uY2FyZC1jb2x1bW5zIHtcbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWNvbHVtbnMtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGNvbHVtbi1jb3VudDogJGNhcmQtY29sdW1ucy1jb3VudDtcbiAgICBjb2x1bW4tZ2FwOiAkY2FyZC1jb2x1bW5zLWdhcDtcbiAgICBvcnBoYW5zOiAxO1xuICAgIHdpZG93czogMTtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gRG9uJ3QgbGV0IHRoZW0gdmVydGljYWxseSBzcGFuIG11bHRpcGxlIGNvbHVtbnNcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBEb24ndCBsZXQgdGhlaXIgd2lkdGggY2hhbmdlXG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIEFjY29yZGlvblxuLy9cblxuLmFjY29yZGlvbiB7XG4gIG92ZXJmbG93LWFuY2hvcjogbm9uZTtcblxuICA+IC5jYXJkIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICAgIH1cblxuICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICA+IC5jYXJkLWhlYWRlciB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cbiIsIi5icmVhZGNydW1iIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAkYnJlYWRjcnVtYi1wYWRkaW5nLXkgJGJyZWFkY3J1bWItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJyZWFkY3J1bWItZm9udC1zaXplKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWFkY3J1bWItYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZmxvYXQ6IGxlZnQ7IC8vIFN1cHByZXNzIGlubGluZSBzcGFjaW5ncyBhbmQgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvclxuICAgICAgcGFkZGluZy1yaWdodDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuICAgICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgICBjb250ZW50OiBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIElFOS0xMSBoYWNrIHRvIHByb3Blcmx5IGhhbmRsZSBoeXBlcmxpbmsgdW5kZXJsaW5lcyBmb3IgYnJlYWRjcnVtYnMgYnVpbHRcbiAgLy8gd2l0aG91dCBgPHVsPmBzLiBUaGUgYDo6YmVmb3JlYCBwc2V1ZG8tZWxlbWVudCBnZW5lcmF0ZXMgYW4gZWxlbWVudFxuICAvLyAqd2l0aGluKiB0aGUgLmJyZWFkY3J1bWItaXRlbSBhbmQgdGhlcmVieSBpbmhlcml0cyB0aGUgYHRleHQtZGVjb3JhdGlvbmAuXG4gIC8vXG4gIC8vIFRvIHRyaWNrIElFIGludG8gc3VwcHJlc3NpbmcgdGhlIHVuZGVybGluZSwgd2UgZ2l2ZSB0aGUgcHNldWRvLWVsZW1lbnQgYW5cbiAgLy8gdW5kZXJsaW5lIGFuZCB0aGVuIGltbWVkaWF0ZWx5IHJlbW92ZSBpdC5cbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjtcbiAgfVxufVxuIiwiLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLXBhZGRpbmcteSAkcGFnaW5hdGlvbi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1sZWZ0OiAtJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoO1xuICBsaW5lLWhlaWdodDogJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcbiAgICBib3gtc2hhZG93OiAkcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLy8gT3BpbmlvbmF0ZWQ6IHJlbW92ZSB0aGUgXCJoYW5kXCIgY3Vyc29yIHNldCBwcmV2aW91c2x5IGZvciAucGFnZS1saW5rXG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRsaW5lLWhlaWdodC1sZywgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkbGluZS1oZWlnaHQtc20sICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLnBhZ2UtbGluayB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgLnBhZ2UtaXRlbSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmcteSAkYmFkZ2UtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJhZGdlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJhZGdlLXRyYW5zaXRpb24pO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi8vIFBpbGwgYmFkZ2VzXG4vL1xuLy8gTWFrZSB0aGVtIGV4dHJhIHJvdW5kZWQgd2l0aCBhIG1vZGlmaWVyIHRvIHJlcGxhY2UgdjMncyBiYWRnZXMuXG5cbi5iYWRnZS1waWxsIHtcbiAgcGFkZGluZy1yaWdodDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBwYWRkaW5nLWxlZnQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ29sb3JzXG4vL1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgYmFkZ2VzIGdldCBkYXJrZXIgb24gOmhvdmVyKS5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5iYWRnZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuIiwiQG1peGluIGJhZGdlLXZhcmlhbnQoJGJnKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmcsIDEwJSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYmFkZ2UtZm9jdXMtd2lkdGggcmdiYSgkYmcsIC41KTtcbiAgICB9XG4gIH1cbn1cbiIsIi5qdW1ib3Ryb24ge1xuICBwYWRkaW5nOiAkanVtYm90cm9uLXBhZGRpbmcgKCRqdW1ib3Ryb24tcGFkZGluZyAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAkanVtYm90cm9uLXBhZGRpbmc7XG4gIGNvbG9yOiAkanVtYm90cm9uLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkanVtYm90cm9uLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgcGFkZGluZzogKCRqdW1ib3Ryb24tcGFkZGluZyAqIDIpICRqdW1ib3Ryb24tcGFkZGluZztcbiAgfVxufVxuXG4uanVtYm90cm9uLWZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LW1hcmdpbi1ib3R0b207XG4gIGJvcmRlcjogJGFsZXJ0LWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYWxlcnQtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4uYWxlcnQtaGVhZGluZyB7XG4gIC8vIFNwZWNpZmllZCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtbGluay1mb250LXdlaWdodDtcbn1cblxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogJGNsb3NlLWZvbnQtc2l6ZSArICRhbGVydC1wYWRkaW5nLXggKiAyO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBzdHlsZXNcbi8vXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0LlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmFsZXJ0LSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCh0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJvcmRlci1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWNvbG9yLWxldmVsKSk7XG4gIH1cbn1cbiIsIkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cblxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIERpc2FibGUgYW5pbWF0aW9uIGlmIHRyYW5zaXRpb25zIGFyZSBkaXNhYmxlZFxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICBAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgICBmcm9tIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogJHByb2dyZXNzLWhlaWdodCAwOyB9XG4gICAgdG8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgfVxufVxuXG4ucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGZvcmNlIHJvdW5kZWQgY29ybmVycyBieSBjcm9wcGluZyBpdFxuICBsaW5lLWhlaWdodDogMDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRwcm9ncmVzcy1mb250LXNpemUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwcm9ncmVzcy1ib3gtc2hhZG93KTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJnO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbik7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkcHJvZ3Jlc3MtaGVpZ2h0ICRwcm9ncmVzcy1oZWlnaHQ7XG59XG5cbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uOiAkcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmcgcHJvZ3Jlc3MtYmFyLXN0cmlwZXM7XG5cbiAgICBAaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tZWRpYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubWVkaWEtYm9keSB7XG4gIGZsZXg6IDE7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGJlY29tZSAxMDAlIGJ5IGRlZmF1bHQgdGhvdWdoKVxuICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgaW5oZXJpdClcblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB6LWluZGV4OiAxOyAvLyBQbGFjZSBob3Zlci9mb2N1cyBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICBjb2xvcjogJGxpc3QtZ3JvdXAtY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYmc7XG4gIGJvcmRlcjogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XG4gIH1cblxuICAvLyBJbmNsdWRlIGJvdGggaGVyZSBmb3IgYDxhPmBzIGFuZCBgPGJ1dHRvbj5gc1xuICAmLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmICsgJiB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIG1hcmdpbi10b3A6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gSG9yaXpvbnRhbFxuLy9cbi8vIENoYW5nZSB0aGUgbGF5b3V0IG9mIGxpc3QgZ3JvdXAgaXRlbXMgZnJvbSB2ZXJ0aWNhbCAoZGVmYXVsdCkgdG8gaG9yaXpvbnRhbC5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCN7JGluZml4fSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBGbHVzaCBsaXN0IGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBsaXN0IGdyb3VwIGl0ZW1zIGVkZ2UtdG8tZWRnZS4gTW9zdFxuLy8gdXNlZnVsIHdpdGhpbiBvdGhlciBjb21wb25lbnRzIChlLmcuLCBjYXJkcykuXG5cbi5saXN0LWdyb3VwLWZsdXNoIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci13aWR0aDogMCAwICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAtOSksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgNikpO1xufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgICYubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjbG9zZS1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGNsb3NlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgdGV4dC1zaGFkb3c6ICRjbG9zZS10ZXh0LXNoYWRvdztcbiAgb3BhY2l0eTogLjU7XG5cbiAgLy8gT3ZlcnJpZGUgPGE+J3MgaG92ZXIgc3R5bGVcbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIG9wYWNpdHk6IC43NTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkaXRpb25hbCBwcm9wZXJ0aWVzIGZvciBidXR0b24gdmVyc2lvblxuLy8gaU9TIHJlcXVpcmVzIHRoZSBidXR0b24gZWxlbWVudCBpbnN0ZWFkIG9mIGFuIGFuY2hvciB0YWcuXG4vLyBJZiB5b3Ugd2FudCB0aGUgYW5jaG9yIHZlcnNpb24sIGl0IHJlcXVpcmVzIGBocmVmPVwiI1wiYC5cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5hLmNsb3NlLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCIudG9hc3Qge1xuICAvLyBQcmV2ZW50cyBmcm9tIHNocmlua2luZyBpbiBJRTExLCB3aGVuIGluIGEgZmxleCBjb250YWluZXJcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgzNDFcbiAgZmxleC1iYXNpczogJHRvYXN0LW1heC13aWR0aDtcbiAgbWF4LXdpZHRoOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHRvYXN0LWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkdG9hc3QtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWJvcmRlci1jb2xvcjtcbiAgYm94LXNoYWRvdzogJHRvYXN0LWJveC1zaGFkb3c7XG4gIG9wYWNpdHk6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvYXN0LWJvcmRlci1yYWRpdXMpO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHRvYXN0LXBhZGRpbmcteDtcbiAgfVxuXG4gICYuc2hvd2luZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYuc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udG9hc3QtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHRvYXN0LXBhZGRpbmcteSAkdG9hc3QtcGFkZGluZy14O1xuICBjb2xvcjogJHRvYXN0LWhlYWRlci1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXItYm90dG9tOiAkdG9hc3QtYm9yZGVyLXdpZHRoIHNvbGlkICR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhzdWJ0cmFjdCgkdG9hc3QtYm9yZGVyLXJhZGl1cywgJHRvYXN0LWJvcmRlci13aWR0aCkpO1xufVxuXG4udG9hc3QtYm9keSB7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXg7IC8vIGFwcGx5IHRvIGJvdGggdmVydGljYWwgYW5kIGhvcml6b250YWxcbn1cbiIsIi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzdHVmZlxuXG5cbi5tb2RhbC1vcGVuIHtcbiAgLy8gS2lsbCB0aGUgc2Nyb2xsIG9uIHRoZSBib2R5XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLm1vZGFsIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvbid0IHVzZSBgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO2AgZHVlIHRvIGFcbiAgLy8gZ25hcmx5IGlPUyBTYWZhcmkgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzQyXG4gIC8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTc2OTVcbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbjtcbiAgLy8gYWxsb3cgY2xpY2tzIHRvIHBhc3MgdGhyb3VnaCBmb3IgY3VzdG9tIGNsaWNrIGhhbmRsaW5nIHRvIGNsb3NlIG1vZGFsXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gIC5tb2RhbC5mYWRlICYge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJG1vZGFsLXRyYW5zaXRpb24pO1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLWZhZGUtdHJhbnNmb3JtO1xuICB9XG4gIC5tb2RhbC5zaG93ICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNob3ctdHJhbnNmb3JtO1xuICB9XG5cbiAgLy8gV2hlbiB0cnlpbmcgdG8gY2xvc2UsIGFuaW1hdGUgZm9jdXMgdG8gc2NhbGVcbiAgLm1vZGFsLm1vZGFsLXN0YXRpYyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zY2FsZS10cmFuc2Zvcm07XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgZGlzcGxheTogZmxleDsgLy8gSUUxMC8xMVxuICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTsgLy8gSUUxMC8xMVxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubW9kYWwtaGVhZGVyLFxuICAubW9kYWwtZm9vdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gIC5tb2RhbC1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuXG4gIC8vIEVuc3VyZSBgbW9kYWwtZGlhbG9nLWNlbnRlcmVkYCBleHRlbmRzIHRoZSBmdWxsIGhlaWdodCBvZiB0aGUgdmlldyAoSUUxMC8xMSlcbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgLy8gSUUxMFxuICAgIGhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG4gICAgaGVpZ2h0OiBtaW4tY29udGVudDsgLy8gUmVzZXQgaGVpZ2h0IHRvIDAgZXhjZXB0IG9uIElFXG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC8vIEVuc3VyZSBgLm1vZGFsLWJvZHlgIHNob3dzIHNjcm9sbGJhciAoSUUxMC8xMSlcbiAgJi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTsgLy8gRW5zdXJlIGAubW9kYWwtY29udGVudGAgZXh0ZW5kcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgcGFyZW50IGAubW9kYWwtZGlhbG9nYFxuICAvLyBjb3VudGVyYWN0IHRoZSBwb2ludGVyLWV2ZW50czogbm9uZTsgaW4gdGhlIC5tb2RhbC1kaWFsb2dcbiAgY29sb3I6ICRtb2RhbC1jb250ZW50LWNvbG9yO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWNvbnRlbnQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmFja2Ryb3A7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWJhY2tkcm9wLWJnO1xuXG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IG9wYWNpdHk6IDA7IH1cbiAgJi5zaG93IHsgb3BhY2l0eTogJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk7IH1cbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgLy8gc28gdGhlIGNsb3NlIGJ0biBhbHdheXMgc3RheXMgb24gdGhlIHVwcGVyIHJpZ2h0IGNvcm5lclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIFB1dCBtb2RhbCBoZWFkZXIgZWxlbWVudHMgKHRpdGxlIGFuZCBkaXNtaXNzKSBvbiBvcHBvc2l0ZSBlbmRzXG4gIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIC5jbG9zZSB7XG4gICAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICAgIC8vIGF1dG8gb24gdGhlIGxlZnQgZm9yY2UgaWNvbiB0byB0aGUgcmlnaHQgZXZlbiB3aGVuIHRoZXJlIGlzIG5vIC5tb2RhbC10aXRsZVxuICAgIG1hcmdpbjogKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteCkgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgYXV0bztcbiAgfVxufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgc28gdGhhdCB0aGUgYm9keSB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGVcbiAgLy8gd2hlbiB0aGVyZSBzaG91bGQgYmUgYSBmaXhlZCBoZWlnaHQgb24gYC5tb2RhbC1kaWFsb2dgLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvLyBSaWdodCBhbGlnbiBidXR0b25zIHdpdGggZmxleCBwcm9wZXJ0eSBiZWNhdXNlIHRleHQtYWxpZ24gZG9lc24ndCB3b3JrIG9uIGZsZXggaXRlbXNcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmcgLSAkbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuIC8gMjtcbiAgYm9yZGVyLXRvcDogJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICA+ICoge1xuICAgIG1hcmdpbjogJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAvIDI7XG4gIH1cbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbWQ7XG4gICAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwIGF1dG87XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gICAgbWluLWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcbiAgICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cCk7XG4gIH1cblxuICAubW9kYWwtc20geyBtYXgtd2lkdGg6ICRtb2RhbC1zbTsgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5tb2RhbC1sZyxcbiAgLm1vZGFsLXhsIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1sZztcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7IG1heC13aWR0aDogJG1vZGFsLXhsOyB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAkdG9vbHRpcC1tYXJnaW47XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHRvb2x0aXAtZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHRvb2x0aXAncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvcGFjaXR5OiAwO1xuXG4gICYuc2hvdyB7IG9wYWNpdHk6ICR0b29sdGlwLW9wYWNpdHk7IH1cblxuICAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC10b3Age1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIGJvdHRvbTogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXJpZ2h0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1ib3R0b20ge1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIHRvcDogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWxlZnQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtbGVmdDtcbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nLXkgJHRvb2x0aXAtcGFkZGluZy14O1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCgpIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG59XG4iLCIucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LXBvcG92ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6ICRwb3BvdmVyLW1heC13aWR0aDtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkcG9wb3Zlci1mb250LXNpemUpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHBvcG92ZXItYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHBvcG92ZXItYm94LXNoYWRvdyk7XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIG1hcmdpbjogMCAkcG9wb3Zlci1ib3JkZXItcmFkaXVzO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci10b3Age1xuICBtYXJnaW4tYm90dG9tOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIGJvdHRvbTogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgbGVmdDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbGVmdDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWJvdHRvbSB7XG4gIG1hcmdpbi10b3A6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgdG9wOiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMik7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMik7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBwb3BvdmVyLWhlYWRlcidzIGJvcmRlciBqdXN0IGJlbG93IHRoZSBhcnJvd1xuICAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWhlYWRlci1iZztcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHJpZ2h0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRwb3BvdmVyLWJvcmRlci1yYWRpdXMgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItbGVmdDtcbiAgfVxufVxuXG5cbi8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuLnBvcG92ZXItaGVhZGVyIHtcbiAgcGFkZGluZzogJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIFJlYm9vdFxuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgY29sb3I6ICRwb3BvdmVyLWhlYWRlci1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItaGVhZGVyLWJnO1xuICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgZGFya2VuKCRwb3BvdmVyLWhlYWRlci1iZywgNSUpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteSAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteDtcbiAgY29sb3I6ICRwb3BvdmVyLWJvZHktY29sb3I7XG59XG4iLCIvLyBOb3RlcyBvbiB0aGUgY2xhc3Nlczpcbi8vXG4vLyAxLiAuY2Fyb3VzZWwucG9pbnRlci1ldmVudCBzaG91bGQgaWRlYWxseSBiZSBwYW4teSAodG8gYWxsb3cgZm9yIHVzZXJzIHRvIHNjcm9sbCB2ZXJ0aWNhbGx5KVxuLy8gICAgZXZlbiB3aGVuIHRoZWlyIHNjcm9sbCBhY3Rpb24gc3RhcnRlZCBvbiBhIGNhcm91c2VsLCBidXQgZm9yIGNvbXBhdGliaWxpdHkgKHdpdGggRmlyZWZveClcbi8vICAgIHdlJ3JlIHByZXZlbnRpbmcgYWxsIGFjdGlvbnMgaW5zdGVhZFxuLy8gMi4gVGhlIC5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hlcmVcbi8vICAgIHRoZSBhY3RpdmUgc2xpZGUgaXMgaGVhZGluZy5cbi8vIDMuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbSBpcyB0aGUgY3VycmVudCBzbGlkZS5cbi8vIDQuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQgaXMgdGhlIGN1cnJlbnRcbi8vICAgIHNsaWRlIGluIGl0cyBpbi10cmFuc2l0aW9uIHN0YXRlLiBPbmx5IG9uZSBvZiB0aGVzZSBvY2N1cnMgYXQgYSB0aW1lLlxuLy8gNS4gLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodFxuLy8gICAgaXMgdGhlIHVwY29taW5nIHNsaWRlIGluIHRyYW5zaXRpb24uXG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLnBvaW50ZXItZXZlbnQge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLXRyYW5zaXRpb24pO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1uZXh0Om5vdCguY2Fyb3VzZWwtaXRlbS1sZWZ0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0tcHJldjpub3QoLmNhcm91c2VsLWl0ZW0tcmlnaHQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgdHJhbnNpdGlvbnNcbi8vXG5cbi5jYXJvdXNlbC1mYWRlIHtcbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4gIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHotaW5kZXg6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMHMgJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24pO1xuICB9XG59XG5cblxuLy9cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy9cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuICAvLyBVc2UgZmxleCBmb3IgYWxpZ25tZW50ICgxLTMpXG4gIGRpc3BsYXk6IGZsZXg7IC8vIDEuIGFsbG93IGZsZXggc3R5bGVzXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIDIuIHZlcnRpY2FsbHkgY2VudGVyIGNvbnRlbnRzXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyAzLiBob3Jpem9udGFsbHkgY2VudGVyIGNvbnRlbnRzXG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbik7XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQ6IDUwJSAvIDEwMCUgMTAwJSBuby1yZXBlYXQ7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZyk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZyk7XG59XG5cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gb3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIG92ZXJyaWRlIDxvbD4gZGVmYXVsdFxuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgLy8gVXNlIHRyYW5zcGFyZW50IGJvcmRlcnMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgYm9yZGVyLXRvcDogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDI7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgLyAyO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbiIsIi8vXG4vLyBSb3RhdGluZyBib3JkZXJcbi8vXG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ib3JkZXIge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuLnNwaW5uZXItYm9yZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGg7XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0O1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIGJvcmRlcjogJHNwaW5uZXItYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogLjc1cyBsaW5lYXIgaW5maW5pdGUgc3Bpbm5lci1ib3JkZXI7XG59XG5cbi5zcGlubmVyLWJvcmRlci1zbSB7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aC1zbTtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQtc207XG4gIGJvcmRlci13aWR0aDogJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtO1xufVxuXG4vL1xuLy8gR3Jvd2luZyBjaXJjbGVcbi8vXG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uc3Bpbm5lci1ncm93IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGg7XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0O1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIGFuaW1hdGlvbjogLjc1cyBsaW5lYXIgaW5maW5pdGUgc3Bpbm5lci1ncm93O1xufVxuXG4uc3Bpbm5lci1ncm93LXNtIHtcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoLXNtO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodC1zbTtcbn1cblxuQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSB7XG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnNwaW5uZXItYm9yZGVyLFxuICAgIC5zcGlubmVyLWdyb3cge1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi5hbGlnbi1iYXNlbGluZSAgICB7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9IC8vIEJyb3dzZXIgZGVmYXVsdFxuLmFsaWduLXRvcCAgICAgICAgIHsgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50OyB9XG4uYWxpZ24tbWlkZGxlICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1ib3R0b20gICAgICB7IHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtYm90dG9tIHsgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LXRvcCAgICB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcCAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0sXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGJnLXZhcmlhbnRgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuQG1peGluIGJnLWdyYWRpZW50LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteCAhaW1wb3J0YW50O1xuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgYmctZ3JhZGllbnQtdmFyaWFudGAgbWl4aW5cIiwgXCJ2NC41LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBiZy12YXJpYW50KFwiLmJnLSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG5AaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICBAaW5jbHVkZSBiZy1ncmFkaWVudC12YXJpYW50KFwiLmJnLWdyYWRpZW50LSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xuICB9XG59XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0LCBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIEJvcmRlclxuLy9cblxuLmJvcmRlciAgICAgICAgIHsgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AgICAgIHsgYm9yZGVyLXRvcDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQgICB7IGJvcmRlci1yaWdodDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tICB7IGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQgICAgeyBib3JkZXItbGVmdDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cblxuLmJvcmRlci0wICAgICAgICB7IGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcC0wICAgIHsgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0LTAgIHsgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tLTAgeyBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdC0wICAgeyBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYm9yZGVyLSN7JGNvbG9yfSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYm9yZGVyLXdoaXRlIHtcbiAgYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLy9cbi8vIEJvcmRlci1yYWRpdXNcbi8vXG5cbi5yb3VuZGVkLXNtIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc20gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3Age1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcmlnaHQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZWZ0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGcge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6ICRyb3VuZGVkLXBpbGwgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtMCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciBjb21tb24gYGRpc3BsYXlgIHZhbHVlc1xuLy9cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHZhbHVlIGluICRkaXNwbGF5cyB7XG4gICAgICAuZCN7JGluZml4fS0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIHRvZ2dsaW5nIGBkaXNwbGF5YCBpbiBwcmludFxuLy9cblxuQG1lZGlhIHByaW50IHtcbiAgQGVhY2ggJHZhbHVlIGluICRkaXNwbGF5cyB7XG4gICAgLmQtcHJpbnQtI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSxcbiAgaWZyYW1lLFxuICBlbWJlZCxcbiAgb2JqZWN0LFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbkBlYWNoICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbyBpbiAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zIHtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXg6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDEpO1xuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teTogbnRoKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbywgMik7XG5cbiAgLmVtYmVkLXJlc3BvbnNpdmUtI3skZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teH1ieSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXl9IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXkgLyAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gRmxleCB2YXJpYXRpb25cbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciBhZGRpdGlvbmFsIGZsZXggYWxpZ25tZW50IG9wdGlvbnMuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbGV4I3skaW5maXh9LXJvdyAgICAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1yb3ctcmV2ZXJzZSAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcCAgICAgICAgIHsgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ub3dyYXAgICAgICAgeyBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcC1yZXZlcnNlIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWZpbGwgICAgICAgICB7IGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTAgICAgICAgeyBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMSAgICAgICB7IGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTAgICAgIHsgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0xICAgICB7IGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7IH1cblxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1lbmQgICAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1hcm91bmQgIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdGFydCAgIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYXV0byAgICAgeyBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsb2F0I3skaW5maXh9LWxlZnQgIHsgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1yaWdodCB7IGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LW5vbmUgIHsgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJHZhbHVlIGluICR1c2VyLXNlbGVjdHMge1xuICAudXNlci1zZWxlY3QtI3skdmFsdWV9IHsgdXNlci1zZWxlY3Q6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJHZhbHVlIGluICRvdmVyZmxvd3Mge1xuICAub3ZlcmZsb3ctI3skdmFsdWV9IHsgb3ZlcmZsb3c6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29tbW9uIHZhbHVlc1xuQGVhY2ggJHBvc2l0aW9uIGluICRwb3NpdGlvbnMge1xuICAucG9zaXRpb24tI3skcG9zaXRpb259IHsgcG9zaXRpb246ICRwb3NpdGlvbiAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFNob3J0aGFuZFxuXG4uZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uc3RpY2t5LXRvcCB7XG4gIEBzdXBwb3J0cyAocG9zaXRpb246IHN0aWNreSkge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICB9XG59XG4iLCIvL1xuLy8gU2NyZWVucmVhZGVyc1xuLy9cblxuLnNyLW9ubHkge1xuICBAaW5jbHVkZSBzci1vbmx5KCk7XG59XG5cbi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gIEBpbmNsdWRlIHNyLW9ubHktZm9jdXNhYmxlKCk7XG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cHM6Ly93d3cuYTExeXByb2plY3QuY29tL3Bvc3RzLzIwMTMtMDEtMTEtaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiBzci1vbmx5KCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7IC8vIEZpeCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTY4NlxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSgpIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi5zaGFkb3ctc20geyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1zbSAhaW1wb3J0YW50OyB9XG4uc2hhZG93IHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3cgIWltcG9ydGFudDsgfVxuLnNoYWRvdy1sZyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbm9uZSB7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFdpZHRoIGFuZCBoZWlnaHRcblxuQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKHdpZHRoOiB3LCBoZWlnaHQ6IGgpIHtcbiAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNpemVzIHtcbiAgICAuI3skYWJicmV2fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4ubXctMTAwIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbi5taC0xMDAgeyBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLy8gVmlld3BvcnQgYWRkaXRpb25hbCBoZWxwZXJzXG5cbi5taW4tdnctMTAwIHsgbWluLXdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4ubWluLXZoLTEwMCB7IG1pbi1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cblxuLnZ3LTEwMCB7IHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4udmgtMTAwIHsgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gTWFyZ2luIGFuZCBQYWRkaW5nXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgICAgLiN7JGFiYnJldn0jeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9dCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS10b3A6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1sI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbnMgKGUuZy4sIHdoZXJlIGAubWItbjFgIGlzIG5lZ2F0aXZlIHZlcnNpb24gb2YgYC5tYi0xYClcbiAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICBAaWYgJHNpemUgIT0gMCB7XG4gICAgICAgIC5tI3skaW5maXh9LW4jeyRzaXplfSB7IG1hcmdpbjogLSRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAubXQjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tciN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tbCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29tZSBzcGVjaWFsIG1hcmdpbiB1dGlsc1xuICAgIC5tI3skaW5maXh9LWF1dG8geyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5tdCN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1yI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYiN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1sI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBTdHJldGNoZWQgbGlua1xuLy9cblxuLnN0cmV0Y2hlZC1saW5rIHtcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICAvLyBKdXN0IGluIGNhc2UgYHBvaW50ZXItZXZlbnRzOiBub25lYCBpcyBzZXQgb24gYSBwYXJlbnRcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8vIElFMTAgYnVnZml4LCBzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTY5NDc5NjcvaWUxMC1ob3Zlci1wc2V1ZG8tY2xhc3MtZG9lc250LXdvcmstd2l0aG91dC1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBUZXh0XG4vL1xuXG4udGV4dC1tb25vc3BhY2UgeyBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhaW1wb3J0YW50OyB9XG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtd3JhcCAgICAgeyB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTsgfVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1yaWdodCAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuXG4udGV4dC1sb3dlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4vLyBXZWlnaHQgYW5kIGl0YWxpY3NcblxuLmZvbnQtd2VpZ2h0LWxpZ2h0ICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1saWdodGVyIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ub3JtYWwgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGQgICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGRlciAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlciAhaW1wb3J0YW50OyB9XG4uZm9udC1pdGFsaWMgICAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbi50ZXh0LXdoaXRlIHsgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoXCIudGV4dC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuLnRleHQtYm9keSB7IGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50OyB9XG4udGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJsYWNrLTUwIHsgY29sb3I6IHJnYmEoJGJsYWNrLCAuNSkgIWltcG9ydGFudDsgfVxuLnRleHQtd2hpdGUtNTAgeyBjb2xvcjogcmdiYSgkd2hpdGUsIC41KSAhaW1wb3J0YW50OyB9XG5cbi8vIE1pc2NcblxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xufVxuXG4udGV4dC1kZWNvcmF0aW9uLW5vbmUgeyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udGV4dC1icmVhayB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgLy8gRGVwcmVjYXRlZCwgYnV0IGF2b2lkcyBpc3N1ZXMgd2l0aCBmbGV4IGNvbnRhaW5lcnNcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7IC8vIFVzZWQgaW5zdGVhZCBvZiBgb3ZlcmZsb3ctd3JhcGAgZm9yIElFICYgRWRnZSBMZWdhY3lcbn1cblxuLy8gUmVzZXRcblxuLnRleHQtcmVzZXQgeyBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSAhPSAwIHtcbiAgICBhI3skcGFyZW50fSB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoKWBcIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG5AbWl4aW4gdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcblxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1oaWRlKClgXCIsIFwidjQuMS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcbi8vXG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL21haW4uY3NzL2Jsb2IvbWFzdGVyL3NyYy9fcHJpbnQuY3NzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbi8vIGh0dHBzOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZiAkZW5hYmxlLXByaW50LXN0eWxlcyB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIge1xuICAgICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IG91dCBgY29sb3JgIGFuZCBgYmFja2dyb3VuZGBcbiAgICAgIC8vY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgLy9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgJjpub3QoLmJ0bikge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL2FbaHJlZl06OmFmdGVyIHtcbiAgICAvLyAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgLy99XG5cbiAgICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgLy9cblxuICAgIC8vYVtocmVmXj1cIiNcIl06OmFmdGVyLFxuICAgIC8vYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOjphZnRlciB7XG4gICAgLy8gY29udGVudDogXCJcIjtcbiAgICAvL31cblxuICAgIHByZSB7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRncmF5LTUwMDsgLy8gQm9vdHN0cmFwIGN1c3RvbSBjb2RlOyB1c2luZyBgJGJvcmRlci13aWR0aGAgaW5zdGVhZCBvZiAxcHhcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFByaW50aW5nIFRhYmxlczpcbiAgICAvLyBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxODA4MTUxNTA5MzQvaHR0cDovL2Nzcy1kaXNjdXNzLmluY3V0aW8uY29tL3dpa2kvUHJpbnRpbmdfVGFibGVzXG4gICAgLy9cblxuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuXG4gICAgLy8gU3BlY2lmeSBhIHNpemUgYW5kIG1pbi13aWR0aCB0byBtYWtlIHByaW50aW5nIGNsb3NlciBhY3Jvc3MgYnJvd3NlcnMuXG4gICAgLy8gV2UgZG9uJ3Qgc2V0IG1hcmdpbiBoZXJlIGJlY2F1c2UgaXQgYnJlYWtzIGBzaXplYCBpbiBDaHJvbWUuIFdlIGFsc29cbiAgICAvLyBkb24ndCB1c2UgYCFpbXBvcnRhbnRgIG9uIGBzaXplYCBhcyBpdCBicmVha3MgaW4gQ2hyb21lLlxuICAgIEBwYWdlIHtcbiAgICAgIHNpemU6ICRwcmludC1wYWdlLXNpemU7XG4gICAgfVxuICAgIGJvZHkge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBjb21wb25lbnRzXG4gICAgLm5hdmJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRibGFjaztcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS0zMDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtZGFyayB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUgLnRoZWFkLWRhcmsgdGgge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgZW5kXG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcbi8qXG5ncmV5IGxpZ2h0IDogIzVEODM5RFxuZ3JlZW4tYmx1ZSA6ICNhYmFiYWJcbmJsdWUgOiAjMDAyOEY1IC8gIzY3RDZGQlxuKi9cblxuLy8gaHR0cHM6Ly9tYXRlcmlhbC5pby9yZXNvdXJjZXMvY29sb3IvIyEvP3ZpZXcubGVmdD0wJnZpZXcucmlnaHQ9MCZwcmltYXJ5LmNvbG9yPTAwMjhGNSZzZWNvbmRhcnkuY29sb3I9NjdENkZCXG4vLyBodHRwczovL2luLXlvdXItc2Fhcy5naXRodWIuaW8vbWF0ZXJpYWwtdWktdGhlbWUtZWRpdG9yL1xuLypcbntcInBhbGV0dGVcIjp7XCJjb21tb25cIjp7XCJibGFja1wiOlwicmdiYSg1MSwgNTEsIDUxLCAxKVwiLFwid2hpdGVcIjpcIiNmZmZcIn0sXCJiYWNrZ3JvdW5kXCI6e1wicGFwZXJcIjpcIiNmZmZcIixcImRlZmF1bHRcIjpcIiNmYWZhZmFcIn0sXCJwcmltYXJ5XCI6e1wibGlnaHRcIjpcInJnYmEoNTEsIDgzLCAyNDcsIDEpXCIsXCJtYWluXCI6XCJyZ2JhKDAsIDQwLCAyNDUsIDEpXCIsXCJkYXJrXCI6XCJyZ2JhKDAsIDI4LCAxNzEsIDEpXCIsXCJjb250cmFzdFRleHRcIjpcIiNmZmZcIn0sXCJzZWNvbmRhcnlcIjp7XCJsaWdodFwiOlwicmdiYSg3MiwgMTQ5LCAxNzUsIDEpXCIsXCJtYWluXCI6XCJyZ2JhKDEwMywgMjE0LCAyNTEsIDEpXCIsXCJkYXJrXCI6XCJyZ2JhKDEzMywgMjIyLCAyNTEsIDEpXCIsXCJjb250cmFzdFRleHRcIjpcIiNmZmZcIn0sXCJlcnJvclwiOntcImxpZ2h0XCI6XCIjZTU3MzczXCIsXCJtYWluXCI6XCIjZjQ0MzM2XCIsXCJkYXJrXCI6XCIjZDMyZjJmXCIsXCJjb250cmFzdFRleHRcIjpcIiNmZmZcIn0sXCJ0ZXh0XCI6e1wicHJpbWFyeVwiOlwicmdiYSgwLCAwLCAwLCAwLjg3KVwiLFwic2Vjb25kYXJ5XCI6XCJyZ2JhKDAsIDAsIDAsIDAuNTQpXCIsXCJkaXNhYmxlZFwiOlwicmdiYSgwLCAwLCAwLCAwLjM4KVwiLFwiaGludFwiOlwicmdiYSgwLCAwLCAwLCAwLjM4KVwifX19XG4qL1xuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Sb2JvdG86MzAwLDQwMCw1MDAsNjAwLDcwMCZkaXNwbGF5PXN3YXAnKTtcblxuQGZvbnQtZmFjZSB7XG5mb250LWZhbWlseTogJ0NpcmN1bGFyU3RkJztcbnNyYzogbG9jYWwoJ0NpcmN1bGFyU3RkLU1lZGl1bScpLFxudXJsKCcuLi9mb250cy9DaXJjdWxhci9DaXJjdWxhclN0ZC1NZWRpdW0uc3ZnI0NpcmN1bGFyU3RkJykgZm9ybWF0KCdzdmcnKSxcbnVybCgnLi4vZm9udHMvQ2lyY3VsYXIvQ2lyY3VsYXJTdGQtTWVkaXVtLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbnVybCgnLi4vZm9udHMvQ2lyY3VsYXIvQ2lyY3VsYXJTdGQtTWVkaXVtLnR0ZicpIGZvcm1hdCgndHRmJyksXG51cmwoJy4uL2ZvbnRzL0NpcmN1bGFyL0NpcmN1bGFyU3RkLU1lZGl1bS5lb3QnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJylcbjtcbmZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuZm9udC1mYW1pbHk6ICdDaXJjdWxhclN0ZCc7XG5zcmM6IGxvY2FsKCdDaXJjdWxhclN0ZC1NZWRpdW1JdGFsaWMnKSxcbnVybCgnLi4vZm9udHMvQ2lyY3VsYXIvQ2lyY3VsYXJTdGQtTWVkaXVtSXRhbGljLnN2ZyNDaXJjdWxhclN0ZCcpIGZvcm1hdCgnc3ZnJyksXG51cmwoJy4uL2ZvbnRzL0NpcmN1bGFyL0NpcmN1bGFyU3RkLU1lZGl1bUl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG51cmwoJy4uL2ZvbnRzL0NpcmN1bGFyL0NpcmN1bGFyU3RkLU1lZGl1bUl0YWxpYy50dGYnKSBmb3JtYXQoJ3R0ZicpLFxudXJsKCcuLi9mb250cy9DaXJjdWxhci9DaXJjdWxhclN0ZC1NZWRpdW1JdGFsaWMuZW90JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpXG47XG5mb250LXN0eWxlOiBpdGFsaWM7XG59XG5AZm9udC1mYWNlIHtcbmZvbnQtZmFtaWx5OiAnQ2lyY3VsYXJTdGQnO1xuc3JjOiBsb2NhbCgnQ2lyY3VsYXJTdGQtQm9sZCcpLFxudXJsKCcuLi9mb250cy9DaXJjdWxhci9DaXJjdWxhclN0ZC1Cb2xkLnN2ZyNDaXJjdWxhclN0ZCcpIGZvcm1hdCgnc3ZnJyksXG51cmwoJy4uL2ZvbnRzL0NpcmN1bGFyL0NpcmN1bGFyU3RkLUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpLFxudXJsKCcuLi9mb250cy9DaXJjdWxhci9DaXJjdWxhclN0ZC1Cb2xkLnR0ZicpIGZvcm1hdCgndHRmJyksXG51cmwoJy4uL2ZvbnRzL0NpcmN1bGFyL0NpcmN1bGFyU3RkLUJvbGQuZW90JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpXG47XG5mb250LXdlaWdodDogYm9sZDtcbn1cbkBmb250LWZhY2Uge1xuZm9udC1mYW1pbHk6ICdDaXJjdWxhclN0ZCc7XG5zcmM6IGxvY2FsKCdDaXJjdWxhclN0ZC1Cb2xkJyksXG51cmwoJy4uL2ZvbnRzL0NpcmN1bGFyL0NpcmN1bGFyU3RkLUJvbGQuc3ZnI0NpcmN1bGFyU3RkJykgZm9ybWF0KCdzdmcnKSxcbnVybCgnLi4vZm9udHMvQ2lyY3VsYXIvQ2lyY3VsYXJTdGQtQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG51cmwoJy4uL2ZvbnRzL0NpcmN1bGFyL0NpcmN1bGFyU3RkLUJvbGQudHRmJykgZm9ybWF0KCd0dGYnKSxcbnVybCgnLi4vZm9udHMvQ2lyY3VsYXIvQ2lyY3VsYXJTdGQtQm9sZC5lb3QnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJylcbjtcbmZvbnQtd2VpZ2h0OiA1MDA7XG59XG5AZm9udC1mYWNlIHtcbmZvbnQtZmFtaWx5OiAnQ2lyY3VsYXJTdGQnO1xuc3JjOiBsb2NhbCgnQ2lyY3VsYXJTdGQtQm9sZCcpLFxudXJsKCcuLi9mb250cy9DaXJjdWxhci9DaXJjdWxhclN0ZC1Cb2xkLnN2ZyNDaXJjdWxhclN0ZCcpIGZvcm1hdCgnc3ZnJyksXG51cmwoJy4uL2ZvbnRzL0NpcmN1bGFyL0NpcmN1bGFyU3RkLUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpLFxudXJsKCcuLi9mb250cy9DaXJjdWxhci9DaXJjdWxhclN0ZC1Cb2xkLnR0ZicpIGZvcm1hdCgndHRmJyksXG51cmwoJy4uL2ZvbnRzL0NpcmN1bGFyL0NpcmN1bGFyU3RkLUJvbGQuZW90JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpXG47XG5mb250LXdlaWdodDogNzAwO1xufVxuXG5AZm9udC1mYWNlIHtcbmZvbnQtZmFtaWx5OiAnQ2lyY3VsYXJTdGQnO1xuc3JjOiBsb2NhbCgnQ2lyY3VsYXJTdGQtQm9sZEl0YWxpYycpLFxudXJsKCcuLi9mb250cy9DaXJjdWxhci9DaXJjdWxhclN0ZC1Cb2xkSXRhbGljLnN2ZyNDaXJjdWxhclN0ZCcpIGZvcm1hdCgnc3ZnJyksXG51cmwoJy4uL2ZvbnRzL0NpcmN1bGFyL0NpcmN1bGFyU3RkLUJvbGRJdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpLFxudXJsKCcuLi9mb250cy9DaXJjdWxhci9DaXJjdWxhclN0ZC1Cb2xkSXRhbGljLnR0ZicpIGZvcm1hdCgndHRmJyksXG51cmwoJy4uL2ZvbnRzL0NpcmN1bGFyL0NpcmN1bGFyU3RkLUJvbGRJdGFsaWMuZW90JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpXG47XG5mb250LXdlaWdodDo1MDA7XG5mb250LXN0eWxlOiBpdGFsaWM7XG59XG4kcHJpbWFyeTogIzAwMjhGNTtcbiRwcmltYXJ5LWRhcms6ICMwMDAwYzE7XG4kcHJpbWFyeS0xMjA6ICMwMDA2NDY7XG4kcHJpbWFyeS1saWdodDogIzZkNTZmZjtcbiRwcmltYXJ5LWxpZ2h0ZXI6ICMwMDBlZmY7XG5cbiRzZWNvbmRhcnk6ICM2N0Q2RkI7XG4kc2Vjb25kYXJ5LWRhcms6ICMyMmE0Yzg7Ly8jNDg5NWFmO1xuJHNlY29uZGFyeS1saWdodGVyOiNkN2RjZmY7Ly8gIzg1ZGVmYjtcbiRzZWNvbmRhcnktbGlnaHQ6IzlmZmZmZjsvLyAjODVkZWZiO1xuJHRoaXJkOiAjNzA3MDcwO1xuXG4kcmVkOiAjRkI0RTRFO1xuJHJlZC1kYXJrZXI6ICNFOTNDM0M7XG4kcmVkLWxpZ2h0ZXI6ICNGRjYyNjI7XG5cbiRvcmFuZ2U6ICNmZjcxNDA7XG4kb3JhbmdlLWxpZ2h0OiAjRkJFM0Q0OyAvL3JnYmEoMjU1LCAxMTMsIDY0LCAwLjIpO1xuJGdyZWVuOiAjMzliNTRhO1xuJHllbGxvdzogI2ZmZjEyNTtcbiRkYXJrOiAjM0UzRTNFO1xuXG5cbiRwcmltYXJ5OiAjMzMzRUZGOyAvLyA4MCVcbiRwcmltYXJ5LWRhcms6ICMxQTI2RkY7IC8vIDkwJVxuLy8kcHJpbWFyeS1kYXJrZXIgIzAwMEVGRjsgLy8gMTAwJSAvLyBvdmVycmlkZSBiZXNjYXVzZSBub3QgZW5vdWdodCBkYXJrXG4kcHJpbWFyeS1kYXJrZXI6ICMwMDBFRkY7IC8vIDEwMCVcbiRwcmltYXJ5LWRhcmtlc3Q6ICMwMDA2NDY7XG4kcHJpbWFyeS1saWdodDogIzRENTZGRjsgLy8gNzAlXG4kcHJpbWFyeS1saWdodGVyOiAjNjY2RUZGOyAvLyA2MCVcblxuJHByaW1hcnktODA6ICRwcmltYXJ5O1xuJHByaW1hcnktOTA6ICRwcmltYXJ5LWRhcms7XG4kcHJpbWFyeS0xMDA6ICRwcmltYXJ5LWRhcmtlcjtcbiRwcmltYXJ5LTEyMDogJHByaW1hcnktZGFya2VzdDtcbiRwcmltYXJ5LTcwOiAkcHJpbWFyeS1saWdodDtcbiRwcmltYXJ5LTYwOiAkcHJpbWFyeS1saWdodGVyO1xuXG5cbiRzZWNvbmRhcnk6ICNCM0I3RkY7IC8vMzAlXG4kc2Vjb25kYXJ5LWRhcms6ICM5OTlGRkY7Ly8gNDAlO1xuJHNlY29uZGFyeS1kYXJrZXI6ICM4MDg2RkY7Ly81MCU7XG4kc2Vjb25kYXJ5LWxpZ2h0OiNDQ0NGRkY7Ly8gMjAlO1xuJHNlY29uZGFyeS1saWdodGVyOiNFNkU3RkY7Ly8gMTAlO1xuJHNlY29uZGFyeS1saWdodGVzdDojOWZmZmZmOyAvLyBub3QgZW5vdWdodCBsaWdodDtcblxuXG4kZ3JleTogIzk5OUJCNTtcbiRncmV5LWRhcms6ICM2NjZBOTA7XG4kZ3JleS1kYXJrZXI6ICMzMzM4NkI7XG4kZ3JleS1kYXJrZXN0OiAjMDAwNjQ2O1xuJGdyZXktbGlnaHQ6ICNDQ0NEREE7XG4kZ3JleS1saWdodGVyOiAjRTZFNkVEO1xuJGdyZXktbGlnaHRlc3Q6ICNGMkYzRjY7XG5cblxuJHByaW1hcnktaG92ZXI6ICRwcmltYXJ5LWRhcms7XG5cbiRncmFkaWVuLWJnOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICRwcmltYXJ5LCAkc2Vjb25kYXJ5KTtcbiRncmFkaWVuLUgtYmc6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgJHByaW1hcnktZGFyaywgJHNlY29uZGFyeS1kYXJrKTtcblxuJGdyYWRpZW4tcmV2ZXJzZS1iZzogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAkc2Vjb25kYXJ5LCAkcHJpbWFyeSk7XG4kZ3JhZGllbi1yZXZlcnNlLWgtYmc6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgJHNlY29uZGFyeSwgJHByaW1hcnkpO1xuXG5cblxuXG4kZ3JheS1saWdodDogI0VGRTZFRjtcbiR0ZWFsOiAjMDBhMDk5O1xuJGN1c3RvbS1maWxlLXRleHQ6IChcbiAgZW46IFwiQnJvd3NlXCIsXG4gIGVzOiBcIkVsZWdpclwiLFxuICBmcjogXCJQYXJjb3VyaXJcIlxuKTtcblxuXG4kaG92ZXItb3BhY2l0eTogMC44O1xuXG4uYXZpdmEtYmd7IGJhY2tncm91bmQtY29sb3I6ICNmZmQ5MDA7IH1cbi5hdml2YS1jb2xvcnsgY29sb3I6IzAwNGZiNjsgfVxuLmJ0bi1hdml2YXtcbiAgQGV4dGVuZCAucHJpbWFyeS1iZztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNGZiNjs7XG4gIGNvbG9yOiNmZmQ5MDA7XG59XG5cbiNtYXNre1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDowO1xuICBsZWZ0OjA7XG5cbiAgei1pbmRleDoxO1xuICAmLm9wZW57XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OjEwMCU7XG4gIH1cbiAgJi52aXNpYmxle1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTI4LDEyOCwxMjgsMC4yNSk7XG4gIH1cblxufVxuXG4jcG9wdXB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogI0ZGRjtcbiAgei1pbmRleDo5OTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWF4LWhlaWdodDogOTB2aDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgJi5vcGVue1xuICAgIEBleHRlbmQgLmJveDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOjI1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICB0b3A6NXZoO1xuICAgIGxlZnQ6MTUlO1xuICAgIHdpZHRoOiA3MCU7XG4gIH1cblxuXG59XG5cbi5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXJ7Y29udGVudDpcIlBhcmNvdXJpclwiIWltcG9ydGFudDt9XG5cblxuLnByaW1hcnktYmd7IGJhY2tncm91bmQtY29sb3I6JHByaW1hcnk7IH1cbi5wcmltYXJ5LWNvbG9ye2NvbG9yOiRwcmltYXJ5O31cblxuLnByaW1hcnktSC1iZ3sgYmFja2dyb3VuZC1jb2xvcjokcHJpbWFyeS1kYXJrOyB9XG4ucHJpbWFyeS1ILWNvbG9yeyBjb2xvcjokcHJpbWFyeS1kYXJrO31cbi5wcmltYXJ5LUhILWJneyBiYWNrZ3JvdW5kLWNvbG9yOiRwcmltYXJ5LTEyMDt9XG4ucHJpbWFyeS1ISC1jb2xvcnsgY29sb3I6JHByaW1hcnktMTIwO31cblxuLnByaW1hcnktTC1iZ3sgYmFja2dyb3VuZC1jb2xvcjokcHJpbWFyeS1saWdodDsgfVxuLnByaW1hcnktTC1jb2xvcntjb2xvcjokcHJpbWFyeS1saWdodDt9XG4ucHJpbWFyeS1MTC1iZ3tiYWNrZ3JvdW5kLWNvbG9yOiRwcmltYXJ5LWxpZ2h0ZXI7fVxuLnByaW1hcnktTEwtY29sb3J7Y29sb3I6JHByaW1hcnktbGlnaHRlcjt9XG5cbi5zZWNvbmRhcnktYmd7IGJhY2tncm91bmQtY29sb3I6JHNlY29uZGFyeTsgfVxuLnNlY29uZGFyeS1jb2xvcntjb2xvcjokc2Vjb25kYXJ5O31cbi5zZWNvbmRhcnktSC1iZ3sgYmFja2dyb3VuZC1jb2xvcjokc2Vjb25kYXJ5LWRhcms7IH1cbi5zZWNvbmRhcnktSC1jb2xvcntjb2xvcjokc2Vjb25kYXJ5LWRhcms7fVxuLnNlY29uZGFyeS1ISC1iZ3sgYmFja2dyb3VuZC1jb2xvcjokc2Vjb25kYXJ5LWRhcmtlcjsgfVxuLnNlY29uZGFyeS1ISC1jb2xvcntjb2xvcjokc2Vjb25kYXJ5LWRhcmtlcjt9XG4uc2Vjb25kYXJ5LUwtYmd7IGJhY2tncm91bmQtY29sb3I6JHNlY29uZGFyeS1saWdodDsgfVxuLnNlY29uZGFyeS1MLWNvbG9ye2NvbG9yOiRzZWNvbmRhcnktbGlnaHQ7fVxuLnNlY29uZGFyeS1MTC1iZ3sgYmFja2dyb3VuZC1jb2xvcjokc2Vjb25kYXJ5LWxpZ2h0ZXI7IH1cbi5zZWNvbmRhcnktTEwtY29sb3J7Y29sb3I6JHNlY29uZGFyeS1saWdodGVyO31cbi5zZWNvbmRhcnktTExMLWJneyBiYWNrZ3JvdW5kLWNvbG9yOiRzZWNvbmRhcnktbGlnaHRlc3Q7IH1cbi5zZWNvbmRhcnktTExMLWNvbG9ye2NvbG9yOiRzZWNvbmRhcnktbGlnaHRlc3Q7fVxuXG4udGhpcmQtYmd7IGJhY2tncm91bmQtY29sb3I6JHRoaXJkOyB9XG4udGhpcmQtY29sb3J7Y29sb3I6JHRoaXJkO31cbi50ZWFsLWJneyBiYWNrZ3JvdW5kLWNvbG9yOiR0ZWFsOyB9XG4udGVhbC1jb2xvcntjb2xvcjokdGVhbDt9XG5cbi5ncmFkaWVuLWJne2JhY2tncm91bmQ6ICRncmFkaWVuLWJnO31cbi5ncmFkaWVuLUgtYmd7YmFja2dyb3VuZDogJGdyYWRpZW4tSC1iZzt9XG5cbi5ncmF5LWxpZ2h0LWJneyBiYWNrZ3JvdW5kLWNvbG9yOiRncmF5LWxpZ2h0OyB9XG4uZ3JheS1saWdodC1jb2xvcntjb2xvcjokZ3JheS1saWdodDt9XG5cblxuLndoaXRlLWJneyBiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7IH1cbi53aGl0ZS1jb2xvcntjb2xvcjojZmZmZmZmIWltcG9ydGFudDt9XG5cblxuLnJlZC1iZ3sgYmFja2dyb3VuZC1jb2xvcjokcmVkOyB9XG4ucmVkLWNvbG9ye2NvbG9yOiRyZWQhaW1wb3J0YW50O31cblxuLmdyZWVuLWJneyBiYWNrZ3JvdW5kLWNvbG9yOiRncmVlbjsgfVxuLmdyZWVuLWNvbG9ye2NvbG9yOiRncmVlbiFpbXBvcnRhbnQ7fVxuXG4uYm94eyBib3gtc2hhZG93OiAwcHggMHB4IDRweCAycHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbmJhY2tncm91bmQ6ICNmZmY7IH1cblxuXG4uYnRuLXByaW1hcnl7XG4gIEBleHRlbmQgLnByaW1hcnktYmc7XG5cbiAgJjpob3ZlcntcbiAgICBjb2xvcjojZmZmO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgfVxufVxuLmJ0bi1vdXRsaW5lLXByaW1hcnl7XG4gIGJvcmRlcjoxcHggc29saWQgJHByaW1hcnk7XG4gIEBleHRlbmQgLnByaW1hcnktY29sb3I7XG59XG5cbi5idG4tcHJpbWFyeS1Ie1xuICBAZXh0ZW5kIC5wcmltYXJ5LUgtYmc7XG4gIGNvbG9yOiNmZmY7XG4gICY6aG92ZXJ7XG4gICAgb3BhY2l0eTogMC44O1xuICAgIGNvbG9yOiNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc3R5bGU6aXRhbGljO1xuICB9XG59XG4uYnRuLW91dGxpbmUtcHJpbWFyeS1Ie1xuICBib3JkZXI6MXB4IHNvbGlkICRwcmltYXJ5LWRhcms7XG4gIEBleHRlbmQgLnByaW1hcnktSC1jb2xvcjtcbn1cblxuLmJ0bi1wcmltYXJ5LUx7XG4gIEBleHRlbmQgLnByaW1hcnktTC1iZztcbiAgY29sb3I6I2ZmZjtcbiAgJjpob3ZlcntcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgY29sb3I6I2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zdHlsZTppdGFsaWM7XG4gIH1cblxuXG59XG5cbi5idG4tb3V0bGluZS1wcmltYXJ5LUx7XG4gIGJvcmRlcjoxcHggc29saWQgJHByaW1hcnktbGlnaHQ7XG4gIEBleHRlbmQgLnByaW1hcnktTC1jb2xvcjtcbn1cblxuLmJ0bi1zZWNvbmRhcnl7XG4gIEBleHRlbmQgLnNlY29uZGFyeS1iZztcbiAgYm9yZGVyLWNvbG9yOiRzZWNvbmRhcnk7XG59XG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5e1xuICBib3JkZXI6MXB4IHNvbGlkICRzZWNvbmRhcnk7XG4gIEBleHRlbmQgLnNlY29uZGFyeS1jb2xvcjtcbn1cblxuXG5cblxuLmJ0bi1zZWNvbmRhcnktSHtcbiAgQGV4dGVuZCAuc2Vjb25kYXJ5LUgtYmc7XG59XG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LUh7XG5cbiAgYm9yZGVyOjFweCBzb2xpZCAkc2Vjb25kYXJ5LWRhcms7XG4gIEBleHRlbmQgLnNlY29uZGFyeS1ILWNvbG9yO1xufVxuLmJ0bi1saW5re1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xuICBjb2xvcjokZGFyaztcblxuICAmOmhvdmVye1xuICAgIGJhY2tncm91bmQtY29sb3I6JHByaW1hcnktbGlnaHRlcjtcbiAgICBjb2xvcjp3aGl0ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cbi5idG4tb3V0bGluZS13aGl0ZXtcbiAgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtcbiAgYm9yZGVyOjFweCBzb2xpZCAkZGFyaztcbiAgY29sb3I6JGRhcms7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgJjpob3ZlcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiRwcmltYXJ5LWxpZ2h0ZXI7XG4gICAgYm9yZGVyOjFweCBzb2xpZCAkcHJpbWFyeS1saWdodGVyO1xuICAgIGNvbG9yOndoaXRlO1xuXG4gIH1cbn1cblxuXG4uYm9yZGVyLXByaW1hcnl7IGJvcmRlcjoycHggc29saWQgJHByaW1hcnk7IH1cbi5ib3JkZXItcHJpbWFyeS1IeyBib3JkZXI6MnB4IHNvbGlkICRwcmltYXJ5LWRhcms7IH1cbi5ib3JkZXItcHJpbWFyeS1MeyBib3JkZXI6MnB4IHNvbGlkICRwcmltYXJ5LWxpZ2h0OyB9XG4uYm9yZGVyLXNlY29uZGFyeXsgYm9yZGVyOjJweCBzb2xpZCAkc2Vjb25kYXJ5OyB9XG4uYm9yZGVyLXNlY29uZGFyeS1IeyBib3JkZXI6MnB4IHNvbGlkICRzZWNvbmRhcnktZGFyazsgfVxuLmJvcmRlci1zZWNvbmRhcnktTHsgYm9yZGVyOjJweCBzb2xpZCAkc2Vjb25kYXJ5LWxpZ2h0OyB9XG5cbi5ib3JkZXItdG9wLXByaW1hcnl7IGJvcmRlci10b3A6MnB4IHNvbGlkICRwcmltYXJ5OyB9XG4uYm9yZGVyLXRvcC1wcmltYXJ5LUh7IGJvcmRlci10b3A6MnB4IHNvbGlkICRwcmltYXJ5LWRhcms7IH1cbi5ib3JkZXItdG9wLXByaW1hcnktTHsgYm9yZGVyLXRvcDoycHggc29saWQgJHByaW1hcnktbGlnaHQ7IH1cbi5ib3JkZXItdG9wLXNlY29uZGFyeXsgYm9yZGVyLXRvcDoycHggc29saWQgJHNlY29uZGFyeTsgfVxuLmJvcmRlci10b3Atc2Vjb25kYXJ5LUh7IGJvcmRlci10b3A6MnB4IHNvbGlkICRzZWNvbmRhcnktZGFyazsgfVxuLmJvcmRlci10b3Atc2Vjb25kYXJ5LUx7IGJvcmRlci10b3A6MnB4IHNvbGlkICRzZWNvbmRhcnktbGlnaHQ7IH1cblxuLmJvcmRlci0yMHsgYm9yZGVyLXJhZGl1czogMjBweDsgfVxuLmJvcmRlci01MHsgYm9yZGVyLXJhZGl1czogNTBweDsgfVxuXG4uZW1vaml7XG4gICBmb250LWZhbWlseTpBcHBsZSBDb2xvciBFbW9qaTtcbn1cbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTAge1xuICAuei0jeyRpfXtcbiAgICB6LWluZGV4OiN7JGl9O1xuICB9XG59XG5AZm9yICRpIGZyb20gNyB0aHJvdWdoIDcwIHtcbiAgLmZvbnQtI3skaX17XG4gICAgZm9udC1zaXplOiN7JGl9cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICBAZm9yICRpIGZyb20gNyB0aHJvdWdoIDcwIHtcbiAgICAuZm9udC1tZC0jeyRpfXtcbiAgICAgIGZvbnQtc2l6ZTojeyRpfXB4O1xuICAgIH1cbiAgfVxufVxuLm9wYWNpdHktMHsgb3BhY2l0eTogMDsgfVxuLm9wYWNpdHktMTB7IG9wYWNpdHk6IDAuMTsgfVxuLm9wYWNpdHktMjB7IG9wYWNpdHk6IDAuMjsgfVxuLm9wYWNpdHktMjV7IG9wYWNpdHk6IDAuMjU7IH1cbi5vcGFjaXR5LTUweyBvcGFjaXR5OiAwLjU7IH1cbi5vcGFjaXR5LTc1eyBvcGFjaXR5OiAwLjc1OyB9XG4ub3BhY2l0eS04MHsgb3BhY2l0eTogMC44OyB9XG4ub3BhY2l0eS05MHsgb3BhY2l0eTogMC45OyB9XG4ub3BhY2l0eS0xMDB7IG9wYWNpdHk6IDE7IH1cbiIsIkBpbXBvcnQgJ21peGluJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cblxuLmFuaW0tYWxsIHtcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZS1pbi1vdXQ7XG5cdC1tb3otdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2UtaW4tb3V0O1xuXHQtbXMtdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2UtaW4tb3V0O1xuXHQtby10cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZS1pbi1vdXQ7XG5cdHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlLWluLW91dDtcbn1cbi5hbmltLWFsbC0xcyB7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuXHQtbW96LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDtcblx0LW1zLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDtcblx0LW8tdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuXHR0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG59XG5cblxuLyogUk9UQVRJT04gKi9cbkAtbW96LWtleWZyYW1lcyBzcGluIHsgMTAwJSB7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7IDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuQGtleWZyYW1lcyBzcGluIHsgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgdHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIHNwaW4tcmV2ZXJzZSB7IDEwMCUgeyAtbW96LXRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpOyB9IH1cbkAtd2Via2l0LWtleWZyYW1lcyBzcGluLXJldmVyc2UgeyAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTsgfSB9XG5Aa2V5ZnJhbWVzIHNwaW4tcmV2ZXJzZSB7IDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpOyB0cmFuc2Zvcm06cm90YXRlKC0zNjBkZWcpOyB9IH1cblxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAyMHtcblx0LnJvdGF0ZS0jeyRpfXMge1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uOnNwaW4gI3skaX1zIGxpbmVhciBmb3J3YXJkcyBpbmZpbml0ZTtcblx0XHQtbW96LWFuaW1hdGlvbjpzcGluICN7JGl9cyBsaW5lYXIgZm9yd2FyZHMgaW5maW5pdGU7XG5cdFx0YW5pbWF0aW9uOnNwaW4gI3skaX1zIGxpbmVhciBmb3J3YXJkcyBpbmZpbml0ZTtcblxuXHR9XG5cblx0LnJvdGF0ZS1yZXZlcnNlLSN7JGl9c3tcblx0XHQtd2Via2l0LWFuaW1hdGlvbjpzcGluLXJldmVyc2UgI3skaX1zICBsaW5lYXIgZm9yd2FyZHMgaW5maW5pdGU7XG5cdFx0LW1vei1hbmltYXRpb246c3Bpbi1yZXZlcnNlICN7JGl9cyAgbGluZWFyIGZvcndhcmRzIGluZmluaXRlO1xuXHRcdGFuaW1hdGlvbjpzcGluLXJldmVyc2UgI3skaX1zIGxpbmVhciBmb3J3YXJkcyBpbmZpbml0ZTtcblx0fVxufVxuXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZWluLWFuaW0pIHtcblx0MCUgeyBvcGFjaXR5OjA7IGRpc3BsYXk6IG5vbmU7fVxuXHQxJSB7IG9wYWNpdHk6MDsgZGlzcGxheTogYmxvY2s7fVxuXHQ1MCUgIHtvcGFjaXR5IDogMTsgbWF4LWhlaWdodDogOTk5cHg7fVxuXHQxMDAlICB7b3BhY2l0eSA6IDE7IG1heC1oZWlnaHQ6IDk5OXB4O31cbn1cbkBpbmNsdWRlIGtleWZyYW1lcyhmYWRlb3V0LWFuaW0pIHtcblx0MCUge31cblx0NTAlICB7b3BhY2l0eSA6IDA7fVxuXHQxMDAlICB7b3BhY2l0eSA6IDA7IGRpc3BsYXk6bm9uZTsgei1pbmRleDotMTt9XG59XG5cblxuQGluY2x1ZGUga2V5ZnJhbWVzKHVwZGF0ZS1jb2xvcikge1xuXHQwJSB7ICB9XG5cdDUwJSAgeyBiYWNrZ3JvdW5kOiRwcmltYXJ5OyB9XG5cdDk1JSAgeyAgfVxuXHQxMDAlICB7ICB9XG59XG5cbkBpbmNsdWRlIGtleWZyYW1lcyhtb3ZlLXNoYXBlKSB7XG5cdDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAlLCAwcHgpIHJvdGF0ZSgwKSB9XG5cdDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDM1MCUsIDUwJSwgMHB4KSByb3RhdGUoMzYwZGVnKTsgfVxuXHQ5NSUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAlLCAwcHgpOyB9XG5cdDEwMCUgIHsgfVxufVxuXG5AaW5jbHVkZSBrZXlmcmFtZXMoYmctY2hhbmdlKSB7XG5cdDAlIHsgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93IH1cblx0MjUlICB7IGJhY2tncm91bmQtY29sb3I6IHJlZH1cblx0NTAlICB7IGJhY2tncm91bmQtY29sb3I6IHllbGxvd31cblx0NzUlICB7IGJhY2tncm91bmQtY29sb3I6IGJsYWNrfVxuXHQxMDAlICB7IGJhY2tncm91bmQtY29sb3I6IHllbGxvdyB9XG59XG5cbkBpbmNsdWRlIGtleWZyYW1lcyhzY2FsbC1uLXJvdGF0ZSkge1xuXHQwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDApIHJvdGF0ZSgwKTsgbWFyZ2luOjA7fVxuXHQxMCUgIHsgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMTgwKTttYXJnaW46LTIwcHggMCAwIDEwcHg7fVxuXHQyMCUgIHsgIHRyYW5zZm9ybTogc2NhbGUoMC4yKSByb3RhdGUoMzYwKTttYXJnaW46MjBweCAwIDAgLTVweDt9XG5cdDQwJSAgeyAgdHJhbnNmb3JtOiBzY2FsZSgwLjQpIHJvdGF0ZSgtMzYwKTttYXJnaW46MCAwIDAgMjBweDt9XG5cdDYwJSAgeyAgdHJhbnNmb3JtOiBzY2FsZSgwLjYpIHJvdGF0ZSgzNjApO21hcmdpbjotMjBweCAwIDAgLTVweDt9XG5cdDgwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgtMzYwZGVnKTsgbWFyZ2luOjA7IG9wYWNpdHk6IDE7fVxuXHQxMDAlICB7IHRyYW5zZm9ybTogc2NhbGUoMC41KSByb3RhdGUoLTM2MGRlZyk7IG9wYWNpdHk6IDA7IH1cbn1cblxuXG5AaW5jbHVkZSBrZXlmcmFtZXMoc2NhbGwtbi1sYXVuY2gpIHtcblx0MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuXHQ1MCUgIHsgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDBkZWcpOyAgfVxuXHQ1MiUgIHsgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDNkZWcpO31cblx0NTMlICB7ICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgtM2RlZyk7fVxuXHQ1NCUgIHsgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDJkZWcpOyB9XG5cdDU1JSAgeyAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoLTJkZWcpOyB9XG5cdDU2JSAgeyAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoLTJkZWcpOyB9XG5cdDU2JSAgeyAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMWRlZyk7ICB0b3A6MzMwcHg7cmlnaHQ6NTBweDsgIH1cblx0MTAwJSAgeyB0b3A6LTIwMHB4OyByaWdodDotMjAwcHg7fVxuXG59XG4uZW1vaml7XG5cdCR0aW1lOiA1cztcblxuXG5cdCYuLWVtLWVhcnRoLm9ue1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC1hbmltYXRpb246c2NhbGwtbi1yb3RhdGUgMTBzIGxpbmVhciBmb3J3YXJkcyAgIDE7XG5cdFx0LW1vei1hbmltYXRpb246c2NhbGwtbi1yb3RhdGUgMTBzIGxpbmVhciBmb3J3YXJkcyAxO1xuXHRcdGFuaW1hdGlvbjpzY2FsbC1uLXJvdGF0ZSAxMHMgbGluZWFyIGZvcndhcmRzICAxO1xuXHR9XG5cdCYuLWVtLXJvY2tldC5vbntcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uOnNjYWxsLW4tbGF1bmNoICR0aW1lIGxpbmVhciBmb3J3YXJkcyAgMTtcblx0XHQtbW96LWFuaW1hdGlvbjpzY2FsbC1uLWxhdW5jaCAkdGltZSBsaW5lYXIgZm9yd2FyZHMgMTtcblx0XHRhbmltYXRpb246c2NhbGwtbi1sYXVuY2ggJHRpbWUgbGluZWFyIGZvcndhcmRzICAxO1xuXHR9XG59XG5cdC8qXG4ubWV0YS10aXRsZS1zaGFwZXN7XG5cdCR0aW1lOiAxMHM7XG4td2Via2l0LWFuaW1hdGlvbjp1cGRhdGUtY29sb3IgJHRpbWUqMiBsaW5lYXIgZm9yd2FyZHMgaW5maW5pdGU7XG5cdC1tb3otYW5pbWF0aW9uOnVwZGF0ZS1jb2xvciAkdGltZSoyIGxpbmVhciBmb3J3YXJkcyBpbmZpbml0ZTtcblx0YW5pbWF0aW9uOnVwZGF0ZS1jb2xvciAkdGltZSoyIGxpbmVhciBmb3J3YXJkcyAgaW5maW5pdGU7XG5cblx0Lm1ldGEtdGl0bGUtc2hhcGV7XG5cblx0XHQtd2Via2l0LWFuaW1hdGlvbjptb3ZlLXNoYXBlICR0aW1lIGxpbmVhciBmb3J3YXJkcyBpbmZpbml0ZTtcblx0XHQtbW96LWFuaW1hdGlvbjptb3ZlLXNoYXBlICR0aW1lIGxpbmVhciBmb3J3YXJkcyBpbmZpbml0ZTtcblx0XHRhbmltYXRpb246bW92ZS1zaGFwZSAkdGltZSBsaW5lYXIgZm9yd2FyZHMgaW5maW5pdGU7XG5cblx0fVxufSovXG5cbkBpbmNsdWRlIGtleWZyYW1lcyhtb3ZlLWltZy1jYXJkKSB7XG5cdDAlIHsgIH1cblx0MjUlICB7IHRyYW5zZm9ybTogcm90YXRlKDNkZWcpOyB9XG5cdDUwJSAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuXHQ3NSUgIHsgdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpOyB9XG5cdDEwMCUgIHsgfVxufVxuLmZhZGVvdXR7XG5cblx0LXdlYmtpdC1hbmltYXRpb246ZmFkZW91dC1hbmltIDFzIGxpbmVhciBmb3J3YXJkcyAxO1xuXHQtbW96LWFuaW1hdGlvbjpmYWRlb3V0LWFuaW0gMXMgbGluZWFyIGZvcndhcmRzIDE7XG5cdGFuaW1hdGlvbjpmYWRlb3V0LWFuaW0gMXMgbGluZWFyIGZvcndhcmRzIDE7XG59XG5cbi5mYWRlaW57XG5cdC13ZWJraXQtYW5pbWF0aW9uOmZhZGVpbi1hbmltIDFzIGxpbmVhciBmb3J3YXJkcyAxO1xuXHQtbW96LWFuaW1hdGlvbjpmYWRlaW4tYW5pbSAxcyBsaW5lYXIgZm9yd2FyZHMgMTtcblx0YW5pbWF0aW9uOmZhZGVpbi1hbmltIDFzIGxpbmVhciBmb3J3YXJkcyAxO1xufVxuXG5AaW5jbHVkZSBrZXlmcmFtZXMgKGVtb2ppLXdhdmluZykge1xuXHQwJSB7IHRvcDoxMCU7IGxlZnQ6MTIwJTsgfVxuXHQ3JSB7IG9wYWNpdHk6IDE7IH1cblx0MTUlICB7IHRvcDoyMCU7ICB9XG5cdDI1JSAgeyB0b3A6MzAlOyAgfVxuXHQzMCUgIHsgdG9wOjI1JTsgfVxuXHQzNSUgIHsgdG9wOjM1JTsgfVxuXHQ0NSUgIHsgdG9wOjQ1JTsgfVxuXHQ1NSUgIHsgdG9wOjUxJTsgfVxuXHQ2NSUgIHsgdG9wOjQ1JTsgfVxuXHQ3NSUgIHsgdG9wOjM1JTsgfVxuXHQ4NSUgIHsgdG9wOjQ1JTsgfVxuXHQ5NSUgIHsgdG9wOjUyJTsgfVxuXHQ5OSUgeyBvcGFjaXR5OiAxO31cblx0MTAwJSAgeyB0b3A6NDUlOyBsZWZ0Oi0yMCU7IG9wYWNpdHk6IDA7fVxufVxuXG4jc2tpbGxze1xuXG5cdC5lbW9qaS5vbntcblx0XHRvcGFjaXR5OiAxO1xuXHRcdCR0aW1lOiAxNXM7XG5cdFx0LXdlYmtpdC1hbmltYXRpb246ZW1vamktd2F2aW5nICR0aW1lIGVhc2UtaW4tb3V0IGZvcndhcmRzIDE7XG5cdFx0LW1vei1hbmltYXRpb246ZW1vamktd2F2aW5nICR0aW1lIGVhc2UtaW4tb3V0IGZvcndhcmRzIDE7XG5cdFx0YW5pbWF0aW9uOmVtb2ppLXdhdmluZyAkdGltZSBlYXNlLWluLW91dCBmb3J3YXJkcyAxO1xuXHR9XG59XG4iLCJAbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XG4gIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxuICBALW1zLWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbkBtaXhpbiBrZXlmcmFtZXMtYW5pbWF0aW9uKCRuYW1lKSB7XG4gIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxuICBALW8ta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KXtcblxuICAubmF2YmFyLWNlbnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZXgoLTUwJSk7XG4gIH1cblxuXG5cbn1cblxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpe1xuXG4gICNtYWluLWNvbnRlbnR7XG4gICAgei1pbmRleDo2O1xuICB9XG4gICNjYXJkc3tcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4IDEwcHggMCAwIWltcG9ydGFudDtcbiAgfVxuXG4gIG5hdntcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgYnV0dG9uLm5hdmJhci10b2dnbGVye1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOjVweDtcblxuICAgIH1cbiAgICAjdG9wX21lbnVfY29udGVudHtcblxuICAgICAgLm5hdmJhci1jb2xsYXBzZS5zaG93e1xuICAgICAgICBib3gtc2hhZG93OiA0cHggNHB4IDNweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOjIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAyMHB4IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI21lbnV7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIH1cbiAgfVxuICAjc2tpbGxze1xuICAgICNza2lsbC1kZXNje1xuICAgICAgLnNraWxsLWRlc2N7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvIWltcG9ydGFudDtcbiAgICAgICAgbGVmdDowIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgIH1cbiAgICAjZW1vamktYmFye1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuXG5cbn1cbiIsIi5iZy1zaGFwZXtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICBib3JkZXItcmFkaXVzOiAxNSU7XG4gICYuLXNxMXtcbiAgICB0b3A6MTI1cHg7XG4gICAgbGVmdDotMzc1cHg7XG4gICAgd2lkdGg6IDQ1MHB4O1xuICAgIGhlaWdodDogNDUwcHg7XG5cbiAgICBib3JkZXI6MnB4IHNvbGlkICRwcmltYXJ5LTEyMDtcbiAgICBAZXh0ZW5kIC5yb3RhdGUtcmV2ZXJzZS0yMHM7XG4gICAgei1pbmRleDogMjtcblxuICB9XG4gICYuLXNxMntcbiAgICB0b3A6NTEwcHg7XG4gICAgbGVmdDo1JTtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwgNiwgNzAsIDAuMDgpO1xuICAgIHotaW5kZXg6IDM7XG4gICAgQGV4dGVuZCAucm90YXRlLTEwcztcbiAgfVxuICAmLi1zcTN7XG4gICAgdG9wOjY4MHB4O1xuICAgIGxlZnQ6OCU7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlcjoycHggc29saWQgJHByaW1hcnktMTIwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwJTtcbiAgICBAZXh0ZW5kIC5yb3RhdGUtcmV2ZXJzZS05cztcblxuICB9XG4gICYuLXNxNHtcbiAgICB0b3A6NjQwcHg7XG4gICAgbGVmdDozJTtcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gICAgYm9yZGVyOjJweCBzb2xpZCAkcHJpbWFyeTtcbiAgICBAZXh0ZW5kIC5yb3RhdGUtMTFzO1xuICB9XG5cbiAgJi4tc3E2e1xuICAgIHRvcDoyNzVweDtcbiAgICByaWdodDotMzI1cHg7XG4gICAgd2lkdGg6IDQ1MHB4O1xuICAgIGhlaWdodDogNDUwcHg7XG5cbiAgICBib3JkZXI6MnB4IHNvbGlkICRwcmltYXJ5LTEyMDtcbiAgICBAZXh0ZW5kIC5yb3RhdGUtcmV2ZXJzZS0yMHM7XG4gICAgei1pbmRleDogNDtcblxuICB9XG4gICYuLXNxN3tcbiAgICB0b3A6NzBweDtcbiAgICByaWdodDotMTAwcHg7XG4gICAgd2lkdGg6IDcxN3B4O1xuICAgIGhlaWdodDogNzE3cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCA2LCA3MCwgMC4wOCk7XG4gICAgLypib3JkZXI6MnB4IHNvbGlkICRwcmltYXJ5LTEyMDsqL1xuICAgIEBleHRlbmQgLnJvdGF0ZS0yMHM7XG4gICAgei1pbmRleDogMjtcblxuICB9XG4gICYuLXNxOHtcbiAgICB0b3A6NjgwcHg7XG4gICAgcmlnaHQ6OCU7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlcjoycHggc29saWQgJHByaW1hcnktMTIwO1xuICAgIEBleHRlbmQgLnJvdGF0ZS1yZXZlcnNlLTlzO1xuXG4gIH1cbiAgJi4tc3E5e1xuICAgIHRvcDo2NDBweDtcbiAgICByaWdodDozJTtcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gICAgYm9yZGVyOjJweCBzb2xpZCAkcHJpbWFyeTtcbiAgICBAZXh0ZW5kIC5yb3RhdGUtMTFzO1xuICB9XG4gICYuLXNxMTB7XG4gICAgdG9wOjU2MHB4O1xuICAgIHJpZ2h0OjYlO1xuICAgIHdpZHRoOiA0NXB4O1xuICAgIGhlaWdodDogNDVweDtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS0xMjA7XG4gICAgYm9yZGVyOjJweCBzb2xpZCAkcHJpbWFyeS0xMjA7XG4gICAgQGV4dGVuZCAucm90YXRlLXJldmVyc2UtOHM7XG4gIH1cblxufVxuIiwiXG4vKiBtYWluIHRpdGxlcyAqL1xuLm1ldGEtdGl0bGV7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuXG59XG5cbi5tZXRhLXRpdGxlLWNvbnRhaW5lciB7XG4gIGJvcmRlcjowcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2Zvcm06IG1hdHJpeCgxLCAwLCAwLCAxLCAwLCAwKTtcblxuXG4gIC5tZXRhLXRpdGxlLWhlYWRlcntcbiAgICBib3JkZXI6MDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29udGFpbjogbGF5b3V0IHN0eWxlO1xuXG4gICAgaDF7XG4gICAgICBAZXh0ZW5kIC5mb250LTM2O1xuICAgICAgQGV4dGVuZCAuZm9udC1tZC02NTtcbiAgICB9XG5cbiAgICBoMntcbiAgICAgIEBleHRlbmQgLmZvbnQtMzA7XG4gICAgICBAZXh0ZW5kIC5mb250LW1kLTYwO1xuICAgIH1cbiAgICBoM3tcbiAgICAgIEBleHRlbmQgLmZvbnQtMjY7XG4gICAgICBAZXh0ZW5kIC5mb250LW1kLTUwO1xuICAgIH1cblxuICAgIGg0e1xuICAgICAgQGV4dGVuZCAuZm9udC0yMDtcbiAgICAgIEBleHRlbmQgLmZvbnQtbWQtNDA7XG4gICAgfVxuICAgIGg1e1xuICAgICAgQGV4dGVuZCAuZm9udC0xNjtcbiAgICAgIEBleHRlbmQgLmZvbnQtbWQtMzA7XG4gICAgfVxuICAgIGg2e1xuICAgICAgQGV4dGVuZCAuZm9udC0xNDtcbiAgICAgIEBleHRlbmQgLmZvbnQtbWQtMjA7XG4gICAgfVxuXG4gICAgLm1ldGEtdGl0bGUtc2hhcGVzIHtcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMTBweDtcbiAgICAgIGxlZnQ6IC01cHg7XG4gICAgICByaWdodDogLTVweDtcbiAgICAgIGJvdHRvbTogLTUwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgLypiYWNrZ3JvdW5kOiAkcHJpbWFyeS0xMjA7Ki9cbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGFpbjogc3RyaWN0O1xuXG5cbiAgICAgIC5tZXRhLXRpdGxlLXNoYXBlIHtcblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblxuICAgICAgICBib3JkZXI6MXB4IHNvbGlkICMzMzM7XG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjAlO1xuICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDIwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjAlO1xuXG5cbiAgICAgICAgJi4tdjEge1xuICAgICAgICAgIHdpZHRoOiA2NTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDY1MHB4O1xuICAgICAgICAgIG1hcmdpbjogLTMyNXB4IDAgMCAtMzI1cHg7XG5cbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1kYXJrO1xuICAgICAgICB9XG4gICAgICAgICYuLXYyIHtcbiAgICAgICAgICB3aWR0aDogNDQwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA0NDBweDtcbiAgICAgICAgICBtYXJnaW46IC0yMjBweCAwIDAgLTIyMHB4O1xuXG4gICAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1saWdodDtcbiAgICAgICAgfVxuICAgICAgICAmLi12MyB7XG4gICAgICAgICAgd2lkdGg6IDI3MHB4O1xuICAgICAgICAgIGhlaWdodDogMjcwcHg7XG4gICAgICAgICAgbWFyZ2luOiAtMTM1cHggMCAwIC0xMzVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc3F1YXJlLXNoYXBle1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDc1ZGVnKTtcblxuICAgICAgICBib3JkZXI6MXB4IHNvbGlkICMzMzM7XG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjAlO1xuICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDIwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjAlO1xuXG4gICAgICAgICYuLXNoMXtcbiAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICAgICAgbGVmdDo1JTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgICAmLi1zaDJ7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgIHRvcDotNSU7XG4gICAgICAgICAgcmlnaHQ6MTAlO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWxpZ2h0ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuICB9XG5cbiAgLm1ldGEtdGl0bGUtaGVhZGVyLWJsZW5kIHtcblxuICAgIGNvbG9yOiAkcHJpbWFyeS0xMjA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcblxuICAgIG1peC1ibGVuZC1tb2RlOiBzY3JlZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJjo6YmVmb3JlIHtcblxuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTEycHg7XG4gICAgICBsZWZ0OiAtNnB4O1xuICAgICAgcmlnaHQ6IC02cHg7XG4gICAgICBib3R0b206IC01MnB4O1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xuICAgIH1cblxuXG4gIH1cbn1cbiIsIi5lbW9qaXtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA1O1xuICB3aWR0aDogMTIwcHg7XG4gIGhlaWdodDogMTIwcHg7XG4gIGJhY2tncm91bmQ6IGNlbnRlciBjZW50ZXIgI2ZmZiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTo4MHB4IDgwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwJTtcbiAgYm94LXNoYWRvdzogMCA2MHB4IDYwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTMpO1xuXG4gICRlbW9qaXM6ICdlYXJ0aCcsJ3JvY2snLCdoYW5kc2hha2UnLCdzcGVha2VyJywncm9ja2V0Jywnc2NyaXB0JywnbmV3c3BhcGVyJywnaGVsbG8nLCAnZ2VhcicsJ2NvbXB1dGVyJyxcbiAgJ3Nob3BwaW5nJywnYXJ0JywnY29tcHV0ZXIzJywgJ25lcmQnLCdpbnZhZGVyJywnbW9iaWxlJywgJ2NvZmZlZScsJ2ZpcnN0Jywncm9ib3QnLFxuICAnY29tcHV0ZXIyJywnYm9vaycsJ2hhc2h0YWcnLCdwcmludCcsJ3BpY3R1cmUnLCd2aWRlbycsJ2ZpbG0nLCAnYmFyLWNoYXJ0JywgJ3dyaXRpbmcnLCdsb3Vkc3BlYWtlcicsXG4gICdjaGFydCcsICdpZGVhJywgJ2dsYXNzZXMnLCdzdHJvbmcnLCdjb2ZmZWUnLCdmaXJzdCcsJ3JvYm90JywnbW9iaWxlJywnZWR1Y2F0aW9uJywnZm9vZCcsJ2hlYWx0aCcsJ3lvdScsJ2FuaW1hbHMnO1xuXG4gIEBlYWNoICRlbW9qaSBpbiAkZW1vamlze1xuICAgICYuLWVtLSN7JGVtb2ppfSwgJi5lbW9qaS0jeyRlbW9qaX17XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9ob21lL2Vtb2ppLyN7JGVtb2ppfS5wbmcnKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9ib290c3RyYXAnO1xuLy8jQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC12dWUvc3JjL2luZGV4LnNjc3MnO1xuXG5AaW1wb3J0ICdhbmltJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdtb2JpbGUtdjInO1xuQGltcG9ydCAnX3NoYXBlcyc7XG5AaW1wb3J0ICdfYW5pbWF0ZWRUaXRsZSc7XG5AaW1wb3J0ICdfZW1vamknO1xuXG4vKiBsYXlvdXQgYW5pbWF0aW9uICovXG5cblxuXG5cblxuI2xicC1sYXVuY2h7XG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5LTEyMDtcbiAgQGV4dGVuZCAuYW5pbS1hbGw7XG4gIHRleHQtYWxpZ246Y2VudGVyO1xuICAmOmhvdmVye1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWRhcms7XG4gIH1cblxuICBhXG4gIHtcblxuICAgICY6aG92ZXJ7XG5cbiAgICAgIC8qZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgYntcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH0qL1xuICB9XG59XG59XG5uYXYubmF2YmFyLWxpZ2h0e1xuXG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC45NSk7XG4gIC5uYXZiYXItbmF2e1xuICAgIGEubmF2LWxpbmt7XG4gICAgICBjb2xvcjokcHJpbWFyeS0xMjA7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICY6aG92ZXJ7XG4gICAgICAgIGNvbG9yOiRwcmltYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBpbWd7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG59XG5cblxuYmxvY2txdW90ZXtcbiAgbWFyZ2luLWxlZnQ6MTVweDtcbiAgcGFkZGluZy1sZWZ0OjE1cHg7XG4gIGJvcmRlci1sZWZ0OjVweCBzb2xpZCAkc2Vjb25kYXJ5LWxpZ2h0ZXI7XG59XG5cbmZvb3RlcntcbiAgI2Zvb3Rlci1sb2dve1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gIH1cbiAgYXtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBjb2xvcjp3aGl0ZTtcbiAgICAmOmhvdmVye1xuICAgICAgY29sb3I6ICRzZWNvbmRhcnktbGlnaHRlcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG5cblxufVxuIiwiXG4jYWNoaWV2ZW1lbnRze1xuXG5cbiAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gIC5hY2hpZXZlbWVudHtcblxuICAgIHdpZHRoOjExMHB4O1xuICAgIGhlaWdodDoxMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gICAgbWFyZ2luOjVweDtcblxuXG5cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgQGV4dGVuZCAuYW5pbS1hbGw7XG4gICAgJjpob3ZlcntcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xZGVnKTtcbiAgICB9XG5cbiAgICBzcGFue1xuXG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIG1hcmdpbjo1cHg7XG5cblxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblxuICAgIH1cblxuICAgICYjcmlmdHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNTRDOTc7XG4gICAgfVxuICAgICYjcG9zaXRpdnJ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmU4ZDA4O1xuICAgIH1cbiAgICAmI2h1bWFuaXR5LWxvdHRlcnl7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmRkM2ExO1xuICAgIH1cbiAgICAmI2xlLWNsdWItdntcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNTJjNDE7XG4gICAgfVxuICAgICYjZWtpd29ya3tcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYzY5MDA7XG4gICAgfVxuXG4gICAgJiNvbi1wYXNzZS1hLWxhY3Rle1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0UzNkEzNztcbiAgICB9XG5cblxuXG5cblxuICB9XG5cblxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/