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

body.bootstrap-dark {
  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: #d3d3d3;
  text-align: left;
  background-color: #191d21; }

.bootstrap-dark :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; }

.bootstrap-dark *,
.bootstrap-dark *::before,
.bootstrap-dark *::after {
  box-sizing: border-box; }

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

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

.bootstrap-dark 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: #d3d3d3;
  text-align: left;
  background-color: #191d21; }

.bootstrap-dark [tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important; }

.bootstrap-dark hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

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

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

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

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

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

.bootstrap-dark ol ol,
.bootstrap-dark ul ul,
.bootstrap-dark ol ul,
.bootstrap-dark ul ol {
  margin-bottom: 0; }

.bootstrap-dark dt {
  font-weight: 700; }

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

.bootstrap-dark blockquote {
  margin: 0 0 1rem; }

.bootstrap-dark b,
.bootstrap-dark strong {
  font-weight: bolder; }

.bootstrap-dark small {
  font-size: 80%; }

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

.bootstrap-dark sub {
  bottom: -.25em; }

.bootstrap-dark sup {
  top: -.5em; }

.bootstrap-dark a {
  color: #adadad;
  text-decoration: none;
  background-color: transparent; }
  .bootstrap-dark a:hover {
    color: #878787;
    text-decoration: underline; }

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

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

.bootstrap-dark pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar; }

.bootstrap-dark figure {
  margin: 0 0 1rem; }

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

.bootstrap-dark svg {
  overflow: hidden;
  vertical-align: middle; }

.bootstrap-dark table {
  border-collapse: collapse; }

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

.bootstrap-dark th {
  text-align: inherit;
  text-align: -webkit-match-parent; }

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

.bootstrap-dark button {
  border-radius: 0; }

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

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

.bootstrap-dark button,
.bootstrap-dark input {
  overflow: visible; }

.bootstrap-dark button,
.bootstrap-dark select {
  text-transform: none; }

.bootstrap-dark [role="button"] {
  cursor: pointer; }

.bootstrap-dark select {
  word-wrap: normal; }

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

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

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

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

.bootstrap-dark textarea {
  overflow: auto;
  resize: vertical; }

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

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

.bootstrap-dark progress {
  vertical-align: baseline; }

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

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

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

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

.bootstrap-dark output {
  display: inline-block; }

.bootstrap-dark summary {
  display: list-item;
  cursor: pointer; }

.bootstrap-dark template {
  display: none; }

.bootstrap-dark [hidden] {
  display: none !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .figure {
  display: inline-block; }

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

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

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

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

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

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

.bootstrap-dark .container,
.bootstrap-dark .container-fluid,
.bootstrap-dark .container-sm,
.bootstrap-dark .container-md,
.bootstrap-dark .container-lg,
.bootstrap-dark .container-xl {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }

@media (min-width: 576px) {
  .bootstrap-dark .container, .bootstrap-dark .container-sm {
    max-width: 540px; } }

@media (min-width: 768px) {
  .bootstrap-dark .container, .bootstrap-dark .container-sm, .bootstrap-dark .container-md {
    max-width: 720px; } }

@media (min-width: 992px) {
  .bootstrap-dark .container, .bootstrap-dark .container-sm, .bootstrap-dark .container-md, .bootstrap-dark .container-lg {
    max-width: 960px; } }

@media (min-width: 1200px) {
  .bootstrap-dark .container, .bootstrap-dark .container-sm, .bootstrap-dark .container-md, .bootstrap-dark .container-lg, .bootstrap-dark .container-xl {
    max-width: 1140px; } }

.bootstrap-dark .row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px; }

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .col-1 {
  flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.bootstrap-dark .col-2 {
  flex: 0 0 16.66667%;
  max-width: 16.66667%; }

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

.bootstrap-dark .col-4 {
  flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.bootstrap-dark .col-5 {
  flex: 0 0 41.66667%;
  max-width: 41.66667%; }

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

.bootstrap-dark .col-7 {
  flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.bootstrap-dark .col-8 {
  flex: 0 0 66.66667%;
  max-width: 66.66667%; }

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

.bootstrap-dark .col-10 {
  flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.bootstrap-dark .col-11 {
  flex: 0 0 91.66667%;
  max-width: 91.66667%; }

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

.bootstrap-dark .order-first {
  order: -1; }

.bootstrap-dark .order-last {
  order: 13; }

.bootstrap-dark .order-0 {
  order: 0; }

.bootstrap-dark .order-1 {
  order: 1; }

.bootstrap-dark .order-2 {
  order: 2; }

.bootstrap-dark .order-3 {
  order: 3; }

.bootstrap-dark .order-4 {
  order: 4; }

.bootstrap-dark .order-5 {
  order: 5; }

.bootstrap-dark .order-6 {
  order: 6; }

.bootstrap-dark .order-7 {
  order: 7; }

.bootstrap-dark .order-8 {
  order: 8; }

.bootstrap-dark .order-9 {
  order: 9; }

.bootstrap-dark .order-10 {
  order: 10; }

.bootstrap-dark .order-11 {
  order: 11; }

.bootstrap-dark .order-12 {
  order: 12; }

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .bootstrap-dark .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .bootstrap-dark .row-cols-sm-1 > * {
    flex: 0 0 100%;
    max-width: 100%; }
  .bootstrap-dark .row-cols-sm-2 > * {
    flex: 0 0 50%;
    max-width: 50%; }
  .bootstrap-dark .row-cols-sm-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .bootstrap-dark .row-cols-sm-4 > * {
    flex: 0 0 25%;
    max-width: 25%; }
  .bootstrap-dark .row-cols-sm-5 > * {
    flex: 0 0 20%;
    max-width: 20%; }
  .bootstrap-dark .row-cols-sm-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .bootstrap-dark .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .bootstrap-dark .col-sm-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .bootstrap-dark .col-sm-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .bootstrap-dark .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .bootstrap-dark .col-sm-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .bootstrap-dark .col-sm-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .bootstrap-dark .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .bootstrap-dark .col-sm-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .bootstrap-dark .col-sm-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .bootstrap-dark .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .bootstrap-dark .col-sm-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .bootstrap-dark .col-sm-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .bootstrap-dark .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .bootstrap-dark .order-sm-first {
    order: -1; }
  .bootstrap-dark .order-sm-last {
    order: 13; }
  .bootstrap-dark .order-sm-0 {
    order: 0; }
  .bootstrap-dark .order-sm-1 {
    order: 1; }
  .bootstrap-dark .order-sm-2 {
    order: 2; }
  .bootstrap-dark .order-sm-3 {
    order: 3; }
  .bootstrap-dark .order-sm-4 {
    order: 4; }
  .bootstrap-dark .order-sm-5 {
    order: 5; }
  .bootstrap-dark .order-sm-6 {
    order: 6; }
  .bootstrap-dark .order-sm-7 {
    order: 7; }
  .bootstrap-dark .order-sm-8 {
    order: 8; }
  .bootstrap-dark .order-sm-9 {
    order: 9; }
  .bootstrap-dark .order-sm-10 {
    order: 10; }
  .bootstrap-dark .order-sm-11 {
    order: 11; }
  .bootstrap-dark .order-sm-12 {
    order: 12; }
  .bootstrap-dark .offset-sm-0 {
    margin-left: 0; }
  .bootstrap-dark .offset-sm-1 {
    margin-left: 8.33333%; }
  .bootstrap-dark .offset-sm-2 {
    margin-left: 16.66667%; }
  .bootstrap-dark .offset-sm-3 {
    margin-left: 25%; }
  .bootstrap-dark .offset-sm-4 {
    margin-left: 33.33333%; }
  .bootstrap-dark .offset-sm-5 {
    margin-left: 41.66667%; }
  .bootstrap-dark .offset-sm-6 {
    margin-left: 50%; }
  .bootstrap-dark .offset-sm-7 {
    margin-left: 58.33333%; }
  .bootstrap-dark .offset-sm-8 {
    margin-left: 66.66667%; }
  .bootstrap-dark .offset-sm-9 {
    margin-left: 75%; }
  .bootstrap-dark .offset-sm-10 {
    margin-left: 83.33333%; }
  .bootstrap-dark .offset-sm-11 {
    margin-left: 91.66667%; } }

@media (min-width: 768px) {
  .bootstrap-dark .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .bootstrap-dark .row-cols-md-1 > * {
    flex: 0 0 100%;
    max-width: 100%; }
  .bootstrap-dark .row-cols-md-2 > * {
    flex: 0 0 50%;
    max-width: 50%; }
  .bootstrap-dark .row-cols-md-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .bootstrap-dark .row-cols-md-4 > * {
    flex: 0 0 25%;
    max-width: 25%; }
  .bootstrap-dark .row-cols-md-5 > * {
    flex: 0 0 20%;
    max-width: 20%; }
  .bootstrap-dark .row-cols-md-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .bootstrap-dark .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .bootstrap-dark .col-md-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .bootstrap-dark .col-md-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .bootstrap-dark .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .bootstrap-dark .col-md-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .bootstrap-dark .col-md-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .bootstrap-dark .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .bootstrap-dark .col-md-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .bootstrap-dark .col-md-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .bootstrap-dark .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .bootstrap-dark .col-md-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .bootstrap-dark .col-md-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .bootstrap-dark .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .bootstrap-dark .order-md-first {
    order: -1; }
  .bootstrap-dark .order-md-last {
    order: 13; }
  .bootstrap-dark .order-md-0 {
    order: 0; }
  .bootstrap-dark .order-md-1 {
    order: 1; }
  .bootstrap-dark .order-md-2 {
    order: 2; }
  .bootstrap-dark .order-md-3 {
    order: 3; }
  .bootstrap-dark .order-md-4 {
    order: 4; }
  .bootstrap-dark .order-md-5 {
    order: 5; }
  .bootstrap-dark .order-md-6 {
    order: 6; }
  .bootstrap-dark .order-md-7 {
    order: 7; }
  .bootstrap-dark .order-md-8 {
    order: 8; }
  .bootstrap-dark .order-md-9 {
    order: 9; }
  .bootstrap-dark .order-md-10 {
    order: 10; }
  .bootstrap-dark .order-md-11 {
    order: 11; }
  .bootstrap-dark .order-md-12 {
    order: 12; }
  .bootstrap-dark .offset-md-0 {
    margin-left: 0; }
  .bootstrap-dark .offset-md-1 {
    margin-left: 8.33333%; }
  .bootstrap-dark .offset-md-2 {
    margin-left: 16.66667%; }
  .bootstrap-dark .offset-md-3 {
    margin-left: 25%; }
  .bootstrap-dark .offset-md-4 {
    margin-left: 33.33333%; }
  .bootstrap-dark .offset-md-5 {
    margin-left: 41.66667%; }
  .bootstrap-dark .offset-md-6 {
    margin-left: 50%; }
  .bootstrap-dark .offset-md-7 {
    margin-left: 58.33333%; }
  .bootstrap-dark .offset-md-8 {
    margin-left: 66.66667%; }
  .bootstrap-dark .offset-md-9 {
    margin-left: 75%; }
  .bootstrap-dark .offset-md-10 {
    margin-left: 83.33333%; }
  .bootstrap-dark .offset-md-11 {
    margin-left: 91.66667%; } }

@media (min-width: 992px) {
  .bootstrap-dark .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .bootstrap-dark .row-cols-lg-1 > * {
    flex: 0 0 100%;
    max-width: 100%; }
  .bootstrap-dark .row-cols-lg-2 > * {
    flex: 0 0 50%;
    max-width: 50%; }
  .bootstrap-dark .row-cols-lg-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .bootstrap-dark .row-cols-lg-4 > * {
    flex: 0 0 25%;
    max-width: 25%; }
  .bootstrap-dark .row-cols-lg-5 > * {
    flex: 0 0 20%;
    max-width: 20%; }
  .bootstrap-dark .row-cols-lg-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .bootstrap-dark .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .bootstrap-dark .col-lg-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .bootstrap-dark .col-lg-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .bootstrap-dark .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .bootstrap-dark .col-lg-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .bootstrap-dark .col-lg-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .bootstrap-dark .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .bootstrap-dark .col-lg-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .bootstrap-dark .col-lg-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .bootstrap-dark .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .bootstrap-dark .col-lg-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .bootstrap-dark .col-lg-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .bootstrap-dark .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .bootstrap-dark .order-lg-first {
    order: -1; }
  .bootstrap-dark .order-lg-last {
    order: 13; }
  .bootstrap-dark .order-lg-0 {
    order: 0; }
  .bootstrap-dark .order-lg-1 {
    order: 1; }
  .bootstrap-dark .order-lg-2 {
    order: 2; }
  .bootstrap-dark .order-lg-3 {
    order: 3; }
  .bootstrap-dark .order-lg-4 {
    order: 4; }
  .bootstrap-dark .order-lg-5 {
    order: 5; }
  .bootstrap-dark .order-lg-6 {
    order: 6; }
  .bootstrap-dark .order-lg-7 {
    order: 7; }
  .bootstrap-dark .order-lg-8 {
    order: 8; }
  .bootstrap-dark .order-lg-9 {
    order: 9; }
  .bootstrap-dark .order-lg-10 {
    order: 10; }
  .bootstrap-dark .order-lg-11 {
    order: 11; }
  .bootstrap-dark .order-lg-12 {
    order: 12; }
  .bootstrap-dark .offset-lg-0 {
    margin-left: 0; }
  .bootstrap-dark .offset-lg-1 {
    margin-left: 8.33333%; }
  .bootstrap-dark .offset-lg-2 {
    margin-left: 16.66667%; }
  .bootstrap-dark .offset-lg-3 {
    margin-left: 25%; }
  .bootstrap-dark .offset-lg-4 {
    margin-left: 33.33333%; }
  .bootstrap-dark .offset-lg-5 {
    margin-left: 41.66667%; }
  .bootstrap-dark .offset-lg-6 {
    margin-left: 50%; }
  .bootstrap-dark .offset-lg-7 {
    margin-left: 58.33333%; }
  .bootstrap-dark .offset-lg-8 {
    margin-left: 66.66667%; }
  .bootstrap-dark .offset-lg-9 {
    margin-left: 75%; }
  .bootstrap-dark .offset-lg-10 {
    margin-left: 83.33333%; }
  .bootstrap-dark .offset-lg-11 {
    margin-left: 91.66667%; } }

@media (min-width: 1200px) {
  .bootstrap-dark .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .bootstrap-dark .row-cols-xl-1 > * {
    flex: 0 0 100%;
    max-width: 100%; }
  .bootstrap-dark .row-cols-xl-2 > * {
    flex: 0 0 50%;
    max-width: 50%; }
  .bootstrap-dark .row-cols-xl-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .bootstrap-dark .row-cols-xl-4 > * {
    flex: 0 0 25%;
    max-width: 25%; }
  .bootstrap-dark .row-cols-xl-5 > * {
    flex: 0 0 20%;
    max-width: 20%; }
  .bootstrap-dark .row-cols-xl-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .bootstrap-dark .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .bootstrap-dark .col-xl-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .bootstrap-dark .col-xl-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .bootstrap-dark .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .bootstrap-dark .col-xl-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .bootstrap-dark .col-xl-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .bootstrap-dark .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .bootstrap-dark .col-xl-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .bootstrap-dark .col-xl-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .bootstrap-dark .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .bootstrap-dark .col-xl-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .bootstrap-dark .col-xl-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .bootstrap-dark .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .bootstrap-dark .order-xl-first {
    order: -1; }
  .bootstrap-dark .order-xl-last {
    order: 13; }
  .bootstrap-dark .order-xl-0 {
    order: 0; }
  .bootstrap-dark .order-xl-1 {
    order: 1; }
  .bootstrap-dark .order-xl-2 {
    order: 2; }
  .bootstrap-dark .order-xl-3 {
    order: 3; }
  .bootstrap-dark .order-xl-4 {
    order: 4; }
  .bootstrap-dark .order-xl-5 {
    order: 5; }
  .bootstrap-dark .order-xl-6 {
    order: 6; }
  .bootstrap-dark .order-xl-7 {
    order: 7; }
  .bootstrap-dark .order-xl-8 {
    order: 8; }
  .bootstrap-dark .order-xl-9 {
    order: 9; }
  .bootstrap-dark .order-xl-10 {
    order: 10; }
  .bootstrap-dark .order-xl-11 {
    order: 11; }
  .bootstrap-dark .order-xl-12 {
    order: 12; }
  .bootstrap-dark .offset-xl-0 {
    margin-left: 0; }
  .bootstrap-dark .offset-xl-1 {
    margin-left: 8.33333%; }
  .bootstrap-dark .offset-xl-2 {
    margin-left: 16.66667%; }
  .bootstrap-dark .offset-xl-3 {
    margin-left: 25%; }
  .bootstrap-dark .offset-xl-4 {
    margin-left: 33.33333%; }
  .bootstrap-dark .offset-xl-5 {
    margin-left: 41.66667%; }
  .bootstrap-dark .offset-xl-6 {
    margin-left: 50%; }
  .bootstrap-dark .offset-xl-7 {
    margin-left: 58.33333%; }
  .bootstrap-dark .offset-xl-8 {
    margin-left: 66.66667%; }
  .bootstrap-dark .offset-xl-9 {
    margin-left: 75%; }
  .bootstrap-dark .offset-xl-10 {
    margin-left: 83.33333%; }
  .bootstrap-dark .offset-xl-11 {
    margin-left: 91.66667%; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .table .thead-light th {
  color: #495057;
  background-color: #e9ecef;
  border-color: #343a40; }

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

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

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

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

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

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

.bootstrap-dark .table-primary,
.bootstrap-dark .table-primary > th,
.bootstrap-dark .table-primary > td {
  color: #212529; }

.bootstrap-dark .table-hover .table-primary:hover {
  color: #212529; }
  .bootstrap-dark .table-hover .table-primary:hover > td,
  .bootstrap-dark .table-hover .table-primary:hover > th {
    color: #212529; }

.bootstrap-dark .table-secondary,
.bootstrap-dark .table-secondary > th,
.bootstrap-dark .table-secondary > td {
  color: #212529; }

.bootstrap-dark .table-hover .table-secondary:hover {
  color: #212529; }
  .bootstrap-dark .table-hover .table-secondary:hover > td,
  .bootstrap-dark .table-hover .table-secondary:hover > th {
    color: #212529; }

.bootstrap-dark .table-success,
.bootstrap-dark .table-success > th,
.bootstrap-dark .table-success > td {
  color: #212529; }

.bootstrap-dark .table-hover .table-success:hover {
  color: #212529; }
  .bootstrap-dark .table-hover .table-success:hover > td,
  .bootstrap-dark .table-hover .table-success:hover > th {
    color: #212529; }

.bootstrap-dark .table-info,
.bootstrap-dark .table-info > th,
.bootstrap-dark .table-info > td {
  color: #212529; }

.bootstrap-dark .table-hover .table-info:hover {
  color: #212529; }
  .bootstrap-dark .table-hover .table-info:hover > td,
  .bootstrap-dark .table-hover .table-info:hover > th {
    color: #212529; }

.bootstrap-dark .table-warning,
.bootstrap-dark .table-warning > th,
.bootstrap-dark .table-warning > td {
  color: #212529; }

.bootstrap-dark .table-hover .table-warning:hover {
  color: #212529; }
  .bootstrap-dark .table-hover .table-warning:hover > td,
  .bootstrap-dark .table-hover .table-warning:hover > th {
    color: #212529; }

.bootstrap-dark .table-danger,
.bootstrap-dark .table-danger > th,
.bootstrap-dark .table-danger > td {
  color: #212529; }

.bootstrap-dark .table-hover .table-danger:hover {
  color: #212529; }
  .bootstrap-dark .table-hover .table-danger:hover > td,
  .bootstrap-dark .table-hover .table-danger:hover > th {
    color: #212529; }

.bootstrap-dark .table-light,
.bootstrap-dark .table-light > th,
.bootstrap-dark .table-light > td {
  color: #212529; }

.bootstrap-dark .table-hover .table-light:hover {
  color: #212529; }
  .bootstrap-dark .table-hover .table-light:hover > td,
  .bootstrap-dark .table-hover .table-light:hover > th {
    color: #212529; }

.bootstrap-dark .table-dark,
.bootstrap-dark .table-dark > th,
.bootstrap-dark .table-dark > td {
  color: #212529; }

.bootstrap-dark .table-hover .table-dark:hover {
  color: #212529; }
  .bootstrap-dark .table-hover .table-dark:hover > td,
  .bootstrap-dark .table-hover .table-dark:hover > th {
    color: #212529; }

.bootstrap-dark .table-active,
.bootstrap-dark .table-active > th,
.bootstrap-dark .table-active > td {
  color: #ced4da; }

.bootstrap-dark .table-hover .table-active:hover {
  color: #ced4da; }
  .bootstrap-dark .table-hover .table-active:hover > td,
  .bootstrap-dark .table-hover .table-active:hover > th {
    color: #ced4da; }

.bootstrap-dark .table-dark {
  color: #dee2e6; }

.bootstrap-dark .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: #dee2e6;
  background-color: #000;
  background-clip: padding-box;
  border: 1px solid #6c757d;
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .bootstrap-dark .form-control {
      transition: none; } }
  .bootstrap-dark .form-control::-ms-expand {
    background-color: transparent;
    border: 0; }
  .bootstrap-dark .form-control:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #dee2e6; }
  .bootstrap-dark .form-control:focus {
    color: #dee2e6;
    background-color: #191d21;
    border-color: #b3d7ff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .bootstrap-dark .form-control::-webkit-input-placeholder {
    color: #6c757d;
    opacity: 1; }
  .bootstrap-dark .form-control::-moz-placeholder {
    color: #6c757d;
    opacity: 1; }
  .bootstrap-dark .form-control::-ms-input-placeholder {
    color: #6c757d;
    opacity: 1; }
  .bootstrap-dark .form-control::placeholder {
    color: #6c757d;
    opacity: 1; }
  .bootstrap-dark .form-control:disabled, .bootstrap-dark .form-control[readonly] {
    background-color: #343a40;
    opacity: 1; }

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

.bootstrap-dark select.form-control:focus::-ms-value {
  color: #dee2e6;
  background-color: #000; }

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

.bootstrap-dark .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; }

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

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

.bootstrap-dark .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; }
  .bootstrap-dark .form-control-plaintext.form-control-sm, .bootstrap-dark .form-control-plaintext.form-control-lg {
    padding-right: 0;
    padding-left: 0; }

.bootstrap-dark .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; }

.bootstrap-dark .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; }

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

.bootstrap-dark textarea.form-control {
  height: auto; }

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

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

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

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

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

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

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

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

.bootstrap-dark .valid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #ced4da;
  background-color: rgba(40, 167, 69, 0.9);
  border-radius: 0.25rem; }
  .form-row > .col > .bootstrap-dark .valid-tooltip,
  .form-row > [class*="col-"] > .bootstrap-dark .valid-tooltip {
    left: 5px; }

.bootstrap-dark .is-valid ~ .valid-feedback,
.bootstrap-dark .is-valid ~ .valid-tooltip {
  display: block; }

.bootstrap-dark .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); }
  .bootstrap-dark .form-control.is-valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }

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

.bootstrap-dark .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, #000 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; }
  .bootstrap-dark .custom-select.is-valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }

.bootstrap-dark .form-check-input.is-valid ~ .form-check-label {
  color: #28a745; }

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

.bootstrap-dark .custom-control-input.is-valid ~ .custom-control-label {
  color: #28a745; }
  .bootstrap-dark .custom-control-input.is-valid ~ .custom-control-label::before {
    border-color: #28a745; }

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

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

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

.bootstrap-dark .custom-file-input.is-valid ~ .custom-file-label {
  border-color: #28a745; }

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

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

.bootstrap-dark .invalid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #ced4da;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 0.25rem; }
  .form-row > .col > .bootstrap-dark .invalid-tooltip,
  .form-row > [class*="col-"] > .bootstrap-dark .invalid-tooltip {
    left: 5px; }

.bootstrap-dark .is-invalid ~ .invalid-feedback,
.bootstrap-dark .is-invalid ~ .invalid-tooltip {
  display: block; }

.bootstrap-dark .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); }
  .bootstrap-dark .form-control.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }

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

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

.bootstrap-dark .form-check-input.is-invalid ~ .form-check-label {
  color: #dc3545; }

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

.bootstrap-dark .custom-control-input.is-invalid ~ .custom-control-label {
  color: #dc3545; }
  .bootstrap-dark .custom-control-input.is-invalid ~ .custom-control-label::before {
    border-color: #dc3545; }

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

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

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

.bootstrap-dark .custom-file-input.is-invalid ~ .custom-file-label {
  border-color: #dc3545; }

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

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

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

.bootstrap-dark .was-validated .valid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #ced4da;
  background-color: rgba(40, 167, 69, 0.9);
  border-radius: 0.25rem; }
  .form-row > .col > .bootstrap-dark .was-validated .valid-tooltip,
  .form-row > [class*="col-"] > .bootstrap-dark .was-validated .valid-tooltip {
    left: 5px; }

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

.bootstrap-dark .was-validated .form-control:valid, .bootstrap-dark .was-validated .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); }
  .bootstrap-dark .was-validated .form-control:valid:focus, .bootstrap-dark .was-validated .form-control.is-valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }

.bootstrap-dark .was-validated textarea.form-control:valid, .bootstrap-dark .was-validated 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); }

.bootstrap-dark .was-validated .custom-select:valid, .bootstrap-dark .was-validated .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, #000 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; }
  .bootstrap-dark .was-validated .custom-select:valid:focus, .bootstrap-dark .was-validated .custom-select.is-valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }

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

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

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

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

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

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

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

.bootstrap-dark .was-validated .custom-file-input:valid:focus ~ .custom-file-label, .bootstrap-dark .was-validated .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); }

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

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

.bootstrap-dark .was-validated .invalid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #ced4da;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 0.25rem; }
  .form-row > .col > .bootstrap-dark .was-validated .invalid-tooltip,
  .form-row > [class*="col-"] > .bootstrap-dark .was-validated .invalid-tooltip {
    left: 5px; }

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

.bootstrap-dark .was-validated .form-control:invalid, .bootstrap-dark .was-validated .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); }
  .bootstrap-dark .was-validated .form-control:invalid:focus, .bootstrap-dark .was-validated .form-control.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }

.bootstrap-dark .was-validated textarea.form-control:invalid, .bootstrap-dark .was-validated 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); }

.bootstrap-dark .was-validated .custom-select:invalid, .bootstrap-dark .was-validated .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, #000 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; }
  .bootstrap-dark .was-validated .custom-select:invalid:focus, .bootstrap-dark .was-validated .custom-select.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }

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

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

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

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

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

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

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

.bootstrap-dark .was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .bootstrap-dark .was-validated .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); }

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

.bootstrap-dark .btn {
  display: inline-block;
  font-weight: 400;
  color: #d3d3d3;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  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) {
    .bootstrap-dark .btn {
      transition: none; } }
  .bootstrap-dark .btn:hover {
    color: #d3d3d3;
    text-decoration: none; }
  .bootstrap-dark .btn:focus, .bootstrap-dark .btn.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .bootstrap-dark .btn.disabled, .bootstrap-dark .btn:disabled {
    opacity: 0.65; }
  .bootstrap-dark .btn:not(:disabled):not(.disabled) {
    cursor: pointer; }

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

.bootstrap-dark .btn-primary {
  color: #ced4da;
  background-color: #007bff;
  border-color: #007bff; }
  .bootstrap-dark .btn-primary:hover {
    color: #ced4da;
    background-color: #0069d9;
    border-color: #0062cc; }
  .bootstrap-dark .btn-primary:focus, .bootstrap-dark .btn-primary.focus {
    color: #ced4da;
    background-color: #0069d9;
    border-color: #0062cc;
    box-shadow: 0 0 0 0.2rem rgba(31, 136, 249, 0.5); }
  .bootstrap-dark .btn-primary.disabled, .bootstrap-dark .btn-primary:disabled {
    color: #ced4da;
    background-color: #007bff;
    border-color: #007bff; }
  .bootstrap-dark .btn-primary:not(:disabled):not(.disabled):active, .bootstrap-dark .btn-primary:not(:disabled):not(.disabled).active,
  .show > .bootstrap-dark .btn-primary.dropdown-toggle {
    color: #ced4da;
    background-color: #0062cc;
    border-color: #005cbf; }
    .bootstrap-dark .btn-primary:not(:disabled):not(.disabled):active:focus, .bootstrap-dark .btn-primary:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap-dark .btn-primary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(31, 136, 249, 0.5); }

.bootstrap-dark .btn-secondary {
  color: #ced4da;
  background-color: #6c757d;
  border-color: #6c757d; }
  .bootstrap-dark .btn-secondary:hover {
    color: #ced4da;
    background-color: #5a6268;
    border-color: #545b62; }
  .bootstrap-dark .btn-secondary:focus, .bootstrap-dark .btn-secondary.focus {
    color: #ced4da;
    background-color: #5a6268;
    border-color: #545b62;
    box-shadow: 0 0 0 0.2rem rgba(123, 131, 139, 0.5); }
  .bootstrap-dark .btn-secondary.disabled, .bootstrap-dark .btn-secondary:disabled {
    color: #ced4da;
    background-color: #6c757d;
    border-color: #6c757d; }
  .bootstrap-dark .btn-secondary:not(:disabled):not(.disabled):active, .bootstrap-dark .btn-secondary:not(:disabled):not(.disabled).active,
  .show > .bootstrap-dark .btn-secondary.dropdown-toggle {
    color: #ced4da;
    background-color: #545b62;
    border-color: #4e555b; }
    .bootstrap-dark .btn-secondary:not(:disabled):not(.disabled):active:focus, .bootstrap-dark .btn-secondary:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap-dark .btn-secondary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(123, 131, 139, 0.5); }

.bootstrap-dark .btn-success {
  color: #ced4da;
  background-color: #28a745;
  border-color: #28a745; }
  .bootstrap-dark .btn-success:hover {
    color: #ced4da;
    background-color: #218838;
    border-color: #1e7e34; }
  .bootstrap-dark .btn-success:focus, .bootstrap-dark .btn-success.focus {
    color: #ced4da;
    background-color: #218838;
    border-color: #1e7e34;
    box-shadow: 0 0 0 0.2rem rgba(65, 174, 91, 0.5); }
  .bootstrap-dark .btn-success.disabled, .bootstrap-dark .btn-success:disabled {
    color: #ced4da;
    background-color: #28a745;
    border-color: #28a745; }
  .bootstrap-dark .btn-success:not(:disabled):not(.disabled):active, .bootstrap-dark .btn-success:not(:disabled):not(.disabled).active,
  .show > .bootstrap-dark .btn-success.dropdown-toggle {
    color: #ced4da;
    background-color: #1e7e34;
    border-color: #1c7430; }
    .bootstrap-dark .btn-success:not(:disabled):not(.disabled):active:focus, .bootstrap-dark .btn-success:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap-dark .btn-success.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(65, 174, 91, 0.5); }

.bootstrap-dark .btn-info {
  color: #ced4da;
  background-color: #17a2b8;
  border-color: #17a2b8; }
  .bootstrap-dark .btn-info:hover {
    color: #ced4da;
    background-color: #138496;
    border-color: #117a8b; }
  .bootstrap-dark .btn-info:focus, .bootstrap-dark .btn-info.focus {
    color: #ced4da;
    background-color: #138496;
    border-color: #117a8b;
    box-shadow: 0 0 0 0.2rem rgba(50, 170, 189, 0.5); }
  .bootstrap-dark .btn-info.disabled, .bootstrap-dark .btn-info:disabled {
    color: #ced4da;
    background-color: #17a2b8;
    border-color: #17a2b8; }
  .bootstrap-dark .btn-info:not(:disabled):not(.disabled):active, .bootstrap-dark .btn-info:not(:disabled):not(.disabled).active,
  .show > .bootstrap-dark .btn-info.dropdown-toggle {
    color: #ced4da;
    background-color: #117a8b;
    border-color: #10707f; }
    .bootstrap-dark .btn-info:not(:disabled):not(.disabled):active:focus, .bootstrap-dark .btn-info:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap-dark .btn-info.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(50, 170, 189, 0.5); }

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

.bootstrap-dark .btn-danger {
  color: #ced4da;
  background-color: #dc3545;
  border-color: #dc3545; }
  .bootstrap-dark .btn-danger:hover {
    color: #ced4da;
    background-color: #c82333;
    border-color: #bd2130; }
  .bootstrap-dark .btn-danger:focus, .bootstrap-dark .btn-danger.focus {
    color: #ced4da;
    background-color: #c82333;
    border-color: #bd2130;
    box-shadow: 0 0 0 0.2rem rgba(218, 77, 91, 0.5); }
  .bootstrap-dark .btn-danger.disabled, .bootstrap-dark .btn-danger:disabled {
    color: #ced4da;
    background-color: #dc3545;
    border-color: #dc3545; }
  .bootstrap-dark .btn-danger:not(:disabled):not(.disabled):active, .bootstrap-dark .btn-danger:not(:disabled):not(.disabled).active,
  .show > .bootstrap-dark .btn-danger.dropdown-toggle {
    color: #ced4da;
    background-color: #bd2130;
    border-color: #b21f2d; }
    .bootstrap-dark .btn-danger:not(:disabled):not(.disabled):active:focus, .bootstrap-dark .btn-danger:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap-dark .btn-danger.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(218, 77, 91, 0.5); }

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

.bootstrap-dark .btn-dark {
  color: #ced4da;
  background-color: #343a40;
  border-color: #343a40; }
  .bootstrap-dark .btn-dark:hover {
    color: #ced4da;
    background-color: #23272b;
    border-color: #1d2124; }
  .bootstrap-dark .btn-dark:focus, .bootstrap-dark .btn-dark.focus {
    color: #ced4da;
    background-color: #23272b;
    border-color: #1d2124;
    box-shadow: 0 0 0 0.2rem rgba(75, 81, 87, 0.5); }
  .bootstrap-dark .btn-dark.disabled, .bootstrap-dark .btn-dark:disabled {
    color: #ced4da;
    background-color: #343a40;
    border-color: #343a40; }
  .bootstrap-dark .btn-dark:not(:disabled):not(.disabled):active, .bootstrap-dark .btn-dark:not(:disabled):not(.disabled).active,
  .show > .bootstrap-dark .btn-dark.dropdown-toggle {
    color: #ced4da;
    background-color: #1d2124;
    border-color: #171a1d; }
    .bootstrap-dark .btn-dark:not(:disabled):not(.disabled):active:focus, .bootstrap-dark .btn-dark:not(:disabled):not(.disabled).active:focus,
    .show > .bootstrap-dark .btn-dark.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(75, 81, 87, 0.5); }

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

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

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

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

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

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

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

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

.bootstrap-dark .btn-link {
  font-weight: 400;
  color: #adadad;
  text-decoration: none; }
  .bootstrap-dark .btn-link:hover {
    color: #878787;
    text-decoration: underline; }
  .bootstrap-dark .btn-link:focus, .bootstrap-dark .btn-link.focus {
    text-decoration: underline; }
  .bootstrap-dark .btn-link:disabled, .bootstrap-dark .btn-link.disabled {
    color: #6c757d;
    pointer-events: none; }

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

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

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

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

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

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

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

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

.bootstrap-dark .dropdown-toggle {
  white-space: nowrap; }
  .bootstrap-dark .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; }
  .bootstrap-dark .dropdown-toggle:empty::after {
    margin-left: 0; }

.bootstrap-dark .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: #d3d3d3;
  text-align: left;
  list-style: none;
  background-color: #000;
  background-clip: padding-box;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 0.25rem; }

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

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

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

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

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

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

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

.bootstrap-dark .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; }

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

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

.bootstrap-dark .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; }

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

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

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

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

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

.bootstrap-dark .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; }

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

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

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

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

.bootstrap-dark .dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #f8f9fa;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0; }
  .bootstrap-dark .dropdown-item:hover, .bootstrap-dark .dropdown-item:focus {
    color: white;
    text-decoration: none;
    background-color: #212529; }
  .bootstrap-dark .dropdown-item.active, .bootstrap-dark .dropdown-item:active {
    color: #000;
    text-decoration: none;
    background-color: #3395ff; }
  .bootstrap-dark .dropdown-item.disabled, .bootstrap-dark .dropdown-item:disabled {
    color: #ced4da;
    pointer-events: none;
    background-color: transparent; }

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

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

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

.bootstrap-dark .btn-group,
.bootstrap-dark .btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle; }
  .bootstrap-dark .btn-group > .btn,
  .bootstrap-dark .btn-group-vertical > .btn {
    position: relative;
    flex: 1 1 auto; }
    .bootstrap-dark .btn-group > .btn:hover,
    .bootstrap-dark .btn-group-vertical > .btn:hover {
      z-index: 1; }
    .bootstrap-dark .btn-group > .btn:focus, .bootstrap-dark .btn-group > .btn:active, .bootstrap-dark .btn-group > .btn.active,
    .bootstrap-dark .btn-group-vertical > .btn:focus,
    .bootstrap-dark .btn-group-vertical > .btn:active,
    .bootstrap-dark .btn-group-vertical > .btn.active {
      z-index: 1; }

.bootstrap-dark .btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start; }
  .bootstrap-dark .btn-toolbar .input-group {
    width: auto; }

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

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

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

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

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

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

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

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

.bootstrap-dark .input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%; }
  .bootstrap-dark .input-group > .form-control,
  .bootstrap-dark .input-group > .form-control-plaintext,
  .bootstrap-dark .input-group > .custom-select,
  .bootstrap-dark .input-group > .custom-file {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    margin-bottom: 0; }
    .bootstrap-dark .input-group > .form-control + .form-control,
    .bootstrap-dark .input-group > .form-control + .custom-select,
    .bootstrap-dark .input-group > .form-control + .custom-file,
    .bootstrap-dark .input-group > .form-control-plaintext + .form-control,
    .bootstrap-dark .input-group > .form-control-plaintext + .custom-select,
    .bootstrap-dark .input-group > .form-control-plaintext + .custom-file,
    .bootstrap-dark .input-group > .custom-select + .form-control,
    .bootstrap-dark .input-group > .custom-select + .custom-select,
    .bootstrap-dark .input-group > .custom-select + .custom-file,
    .bootstrap-dark .input-group > .custom-file + .form-control,
    .bootstrap-dark .input-group > .custom-file + .custom-select,
    .bootstrap-dark .input-group > .custom-file + .custom-file {
      margin-left: -1px; }
  .bootstrap-dark .input-group > .form-control:focus,
  .bootstrap-dark .input-group > .custom-select:focus,
  .bootstrap-dark .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
    z-index: 3; }
  .bootstrap-dark .input-group > .custom-file .custom-file-input:focus {
    z-index: 4; }
  .bootstrap-dark .input-group > .form-control:not(:first-child),
  .bootstrap-dark .input-group > .custom-select:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0; }
  .bootstrap-dark .input-group > .custom-file {
    display: flex;
    align-items: center; }
    .bootstrap-dark .input-group > .custom-file:not(:last-child) .custom-file-label,
    .bootstrap-dark .input-group > .custom-file:not(:first-child) .custom-file-label {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0; }
  .bootstrap-dark .input-group:not(.has-validation) > .form-control:not(:last-child),
  .bootstrap-dark .input-group:not(.has-validation) > .custom-select:not(:last-child),
  .bootstrap-dark .input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }
  .bootstrap-dark .input-group.has-validation > .form-control:nth-last-child(n + 3),
  .bootstrap-dark .input-group.has-validation > .custom-select:nth-last-child(n + 3),
  .bootstrap-dark .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; }

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

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

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

.bootstrap-dark .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: #dee2e6;
  text-align: center;
  white-space: nowrap;
  background-color: #343a40;
  border: 1px solid #6c757d;
  border-radius: 0.25rem; }
  .bootstrap-dark .input-group-text input[type="radio"],
  .bootstrap-dark .input-group-text input[type="checkbox"] {
    margin-top: 0; }

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

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

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

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

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

.bootstrap-dark .input-group > .input-group-prepend > .btn,
.bootstrap-dark .input-group > .input-group-prepend > .input-group-text,
.bootstrap-dark .input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,
.bootstrap-dark .input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,
.bootstrap-dark .input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn,
.bootstrap-dark .input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text,
.bootstrap-dark .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.bootstrap-dark .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

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

.bootstrap-dark .input-group > .input-group-append > .custom-select {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

.bootstrap-dark .input-group > .input-group-prepend > .custom-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

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

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

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

.bootstrap-dark .custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top; }
  .bootstrap-dark .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; }
  .bootstrap-dark .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; }

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

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

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

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

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

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

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

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

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

.bootstrap-dark .custom-switch {
  padding-left: 2.25rem; }
  .bootstrap-dark .custom-switch .custom-control-label::before {
    left: -2.25rem;
    width: 1.75rem;
    pointer-events: all;
    border-radius: 0.5rem; }
  .bootstrap-dark .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) {
      .bootstrap-dark .custom-switch .custom-control-label::after {
        transition: none; } }
  .bootstrap-dark .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
    background-color: #fff;
    transform: translateX(0.75rem); }
  .bootstrap-dark .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(0, 123, 255, 0.5); }

.bootstrap-dark .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: #dee2e6;
  vertical-align: middle;
  background: #000 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 #6c757d;
  border-radius: 0.25rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  .bootstrap-dark .custom-select:focus {
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .bootstrap-dark .custom-select:focus::-ms-value {
      color: #dee2e6;
      background-color: #000; }
  .bootstrap-dark .custom-select[multiple], .bootstrap-dark .custom-select[size]:not([size="1"]) {
    height: auto;
    padding-right: 0.75rem;
    background-image: none; }
  .bootstrap-dark .custom-select:disabled {
    color: #ced4da;
    background-color: #343a40; }
  .bootstrap-dark .custom-select::-ms-expand {
    display: none; }
  .bootstrap-dark .custom-select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #dee2e6; }

.bootstrap-dark .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; }

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

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

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

.bootstrap-dark .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; }
  .bootstrap-dark .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; }

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

.bootstrap-dark .custom-control-label::before,
.bootstrap-dark .custom-file-label,
.bootstrap-dark .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) {
    .bootstrap-dark .custom-control-label::before,
    .bootstrap-dark .custom-file-label,
    .bootstrap-dark .custom-select {
      transition: none; } }

.bootstrap-dark .nav {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }

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

.bootstrap-dark .nav-tabs {
  border-bottom: 1px solid rgba(255, 255, 255, 0.125); }
  .bootstrap-dark .nav-tabs .nav-link {
    margin-bottom: -1px;
    border: 1px solid transparent;
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem; }
    .bootstrap-dark .nav-tabs .nav-link:hover, .bootstrap-dark .nav-tabs .nav-link:focus {
      border-color: #495057 #495057 rgba(255, 255, 255, 0.125); }
    .bootstrap-dark .nav-tabs .nav-link.disabled {
      color: #6c757d;
      background-color: transparent;
      border-color: transparent; }
  .bootstrap-dark .nav-tabs .nav-link.active,
  .bootstrap-dark .nav-tabs .nav-item.show .nav-link {
    color: #f8f9fa;
    background-color: #191d21;
    border-color: #495057 #495057 #191d21; }
  .bootstrap-dark .nav-tabs .dropdown-menu {
    margin-top: -1px;
    border-top-left-radius: 0;
    border-top-right-radius: 0; }

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

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

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

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

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

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

.bootstrap-dark .navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1rem; }
  .bootstrap-dark .navbar .container,
  .bootstrap-dark .navbar .container-fluid, .bootstrap-dark .navbar .container-sm, .bootstrap-dark .navbar .container-md, .bootstrap-dark .navbar .container-lg, .bootstrap-dark .navbar .container-xl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between; }

.bootstrap-dark .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; }
  .bootstrap-dark .navbar-brand:hover, .bootstrap-dark .navbar-brand:focus {
    text-decoration: none; }

.bootstrap-dark .navbar-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }
  .bootstrap-dark .navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 0; }
  .bootstrap-dark .navbar-nav .dropdown-menu {
    position: static;
    float: none; }

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

.bootstrap-dark .navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center; }

.bootstrap-dark .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; }
  .bootstrap-dark .navbar-toggler:hover, .bootstrap-dark .navbar-toggler:focus {
    text-decoration: none; }

.bootstrap-dark .navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  content: "";
  background: 50% / 100% 100% no-repeat; }

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

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

@media (min-width: 576px) {
  .bootstrap-dark .navbar-expand-sm {
    flex-flow: row nowrap;
    justify-content: flex-start; }
    .bootstrap-dark .navbar-expand-sm .navbar-nav {
      flex-direction: row; }
      .bootstrap-dark .navbar-expand-sm .navbar-nav .dropdown-menu {
        position: absolute; }
      .bootstrap-dark .navbar-expand-sm .navbar-nav .nav-link {
        padding-right: 0.5rem;
        padding-left: 0.5rem; }
    .bootstrap-dark .navbar-expand-sm > .container,
    .bootstrap-dark .navbar-expand-sm > .container-fluid, .bootstrap-dark .navbar-expand-sm > .container-sm, .bootstrap-dark .navbar-expand-sm > .container-md, .bootstrap-dark .navbar-expand-sm > .container-lg, .bootstrap-dark .navbar-expand-sm > .container-xl {
      flex-wrap: nowrap; }
    .bootstrap-dark .navbar-expand-sm .navbar-nav-scroll {
      overflow: visible; }
    .bootstrap-dark .navbar-expand-sm .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .bootstrap-dark .navbar-expand-sm .navbar-toggler {
      display: none; } }

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

@media (min-width: 768px) {
  .bootstrap-dark .navbar-expand-md {
    flex-flow: row nowrap;
    justify-content: flex-start; }
    .bootstrap-dark .navbar-expand-md .navbar-nav {
      flex-direction: row; }
      .bootstrap-dark .navbar-expand-md .navbar-nav .dropdown-menu {
        position: absolute; }
      .bootstrap-dark .navbar-expand-md .navbar-nav .nav-link {
        padding-right: 0.5rem;
        padding-left: 0.5rem; }
    .bootstrap-dark .navbar-expand-md > .container,
    .bootstrap-dark .navbar-expand-md > .container-fluid, .bootstrap-dark .navbar-expand-md > .container-sm, .bootstrap-dark .navbar-expand-md > .container-md, .bootstrap-dark .navbar-expand-md > .container-lg, .bootstrap-dark .navbar-expand-md > .container-xl {
      flex-wrap: nowrap; }
    .bootstrap-dark .navbar-expand-md .navbar-nav-scroll {
      overflow: visible; }
    .bootstrap-dark .navbar-expand-md .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .bootstrap-dark .navbar-expand-md .navbar-toggler {
      display: none; } }

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

@media (min-width: 992px) {
  .bootstrap-dark .navbar-expand-lg {
    flex-flow: row nowrap;
    justify-content: flex-start; }
    .bootstrap-dark .navbar-expand-lg .navbar-nav {
      flex-direction: row; }
      .bootstrap-dark .navbar-expand-lg .navbar-nav .dropdown-menu {
        position: absolute; }
      .bootstrap-dark .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 0.5rem;
        padding-left: 0.5rem; }
    .bootstrap-dark .navbar-expand-lg > .container,
    .bootstrap-dark .navbar-expand-lg > .container-fluid, .bootstrap-dark .navbar-expand-lg > .container-sm, .bootstrap-dark .navbar-expand-lg > .container-md, .bootstrap-dark .navbar-expand-lg > .container-lg, .bootstrap-dark .navbar-expand-lg > .container-xl {
      flex-wrap: nowrap; }
    .bootstrap-dark .navbar-expand-lg .navbar-nav-scroll {
      overflow: visible; }
    .bootstrap-dark .navbar-expand-lg .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .bootstrap-dark .navbar-expand-lg .navbar-toggler {
      display: none; } }

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

@media (min-width: 1200px) {
  .bootstrap-dark .navbar-expand-xl {
    flex-flow: row nowrap;
    justify-content: flex-start; }
    .bootstrap-dark .navbar-expand-xl .navbar-nav {
      flex-direction: row; }
      .bootstrap-dark .navbar-expand-xl .navbar-nav .dropdown-menu {
        position: absolute; }
      .bootstrap-dark .navbar-expand-xl .navbar-nav .nav-link {
        padding-right: 0.5rem;
        padding-left: 0.5rem; }
    .bootstrap-dark .navbar-expand-xl > .container,
    .bootstrap-dark .navbar-expand-xl > .container-fluid, .bootstrap-dark .navbar-expand-xl > .container-sm, .bootstrap-dark .navbar-expand-xl > .container-md, .bootstrap-dark .navbar-expand-xl > .container-lg, .bootstrap-dark .navbar-expand-xl > .container-xl {
      flex-wrap: nowrap; }
    .bootstrap-dark .navbar-expand-xl .navbar-nav-scroll {
      overflow: visible; }
    .bootstrap-dark .navbar-expand-xl .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .bootstrap-dark .navbar-expand-xl .navbar-toggler {
      display: none; } }

.bootstrap-dark .navbar-expand {
  flex-flow: row nowrap;
  justify-content: flex-start; }
  .bootstrap-dark .navbar-expand > .container,
  .bootstrap-dark .navbar-expand > .container-fluid, .bootstrap-dark .navbar-expand > .container-sm, .bootstrap-dark .navbar-expand > .container-md, .bootstrap-dark .navbar-expand > .container-lg, .bootstrap-dark .navbar-expand > .container-xl {
    padding-right: 0;
    padding-left: 0; }
  .bootstrap-dark .navbar-expand .navbar-nav {
    flex-direction: row; }
    .bootstrap-dark .navbar-expand .navbar-nav .dropdown-menu {
      position: absolute; }
    .bootstrap-dark .navbar-expand .navbar-nav .nav-link {
      padding-right: 0.5rem;
      padding-left: 0.5rem; }
  .bootstrap-dark .navbar-expand > .container,
  .bootstrap-dark .navbar-expand > .container-fluid, .bootstrap-dark .navbar-expand > .container-sm, .bootstrap-dark .navbar-expand > .container-md, .bootstrap-dark .navbar-expand > .container-lg, .bootstrap-dark .navbar-expand > .container-xl {
    flex-wrap: nowrap; }
  .bootstrap-dark .navbar-expand .navbar-nav-scroll {
    overflow: visible; }
  .bootstrap-dark .navbar-expand .navbar-collapse {
    display: flex !important;
    flex-basis: auto; }
  .bootstrap-dark .navbar-expand .navbar-toggler {
    display: none; }

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .navbar-dark .navbar-toggler-icon, .bootstrap-dark .navbar-themed .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"); }

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

.bootstrap-dark .card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #212529;
  background-clip: border-box;
  border: 1px solid rgba(255, 255, 255, 0.125);
  border-radius: 0.25rem; }
  .bootstrap-dark .card > hr {
    margin-right: 0;
    margin-left: 0; }
  .bootstrap-dark .card > .list-group {
    border-top: inherit;
    border-bottom: inherit; }
    .bootstrap-dark .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); }
    .bootstrap-dark .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); }
  .bootstrap-dark .card > .card-header + .list-group,
  .bootstrap-dark .card > .list-group + .card-footer {
    border-top: 0; }

.bootstrap-dark .card-body {
  flex: 1 1 auto;
  min-height: 1px;
  padding: 1.25rem; }

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

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

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

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

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

.bootstrap-dark .card-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  background-color: rgba(255, 255, 255, 0.03);
  border-bottom: 1px solid rgba(255, 255, 255, 0.125); }
  .bootstrap-dark .card-header:first-child {
    border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; }

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

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

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

.bootstrap-dark .card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem;
  border-radius: calc(0.25rem - 1px); }

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

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

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

.bootstrap-dark .card-deck .card {
  margin-bottom: 15px; }

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

.bootstrap-dark .card-group > .card {
  margin-bottom: 15px; }

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

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

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

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

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

.bootstrap-dark .breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem; }
  .bootstrap-dark .breadcrumb-item + .breadcrumb-item::before {
    float: left;
    padding-right: 0.5rem;
    color: #ced4da;
    content: "/"; }

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

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

.bootstrap-dark .breadcrumb-item.active {
  color: #ced4da; }

.bootstrap-dark .pagination {
  display: flex;
  padding-left: 0;
  list-style: none;
  border-radius: 0.25rem; }

.bootstrap-dark .page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.25;
  color: #adadad;
  background-color: #000;
  border: 1px solid #495057; }
  .bootstrap-dark .page-link:hover {
    z-index: 2;
    color: #878787;
    text-decoration: none;
    background-color: #343a40;
    border-color: #495057; }
  .bootstrap-dark .page-link:focus {
    z-index: 3;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }

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

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

.bootstrap-dark .page-item.active .page-link {
  z-index: 3;
  color: #000;
  background-color: #3395ff;
  border-color: #3395ff; }

.bootstrap-dark .page-item.disabled .page-link {
  color: #ced4da;
  pointer-events: none;
  cursor: auto;
  background-color: #000;
  border-color: #495057; }

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

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

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

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

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

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

.bootstrap-dark .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) {
    .bootstrap-dark .badge {
      transition: none; } }
  a.bootstrap-dark .badge:hover, a.bootstrap-dark .badge:focus {
    text-decoration: none; }
  .bootstrap-dark .badge:empty {
    display: none; }

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .alert-heading {
  color: inherit; }

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .progress {
  display: flex;
  height: 1rem;
  overflow: hidden;
  line-height: 0;
  font-size: 0.75rem;
  background-color: #e9ecef;
  border-radius: 0.25rem; }

.bootstrap-dark .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) {
    .bootstrap-dark .progress-bar {
      transition: none; } }

.bootstrap-dark .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; }

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

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

.bootstrap-dark .media-body {
  flex: 1; }

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

.bootstrap-dark .list-group-item-action {
  width: 100%;
  color: #dee2e6;
  text-align: inherit; }
  .bootstrap-dark .list-group-item-action:hover, .bootstrap-dark .list-group-item-action:focus {
    z-index: 1;
    color: #dee2e6;
    text-decoration: none;
    background-color: #212529; }
  .bootstrap-dark .list-group-item-action:active {
    color: #d3d3d3;
    background-color: #343a40; }

.bootstrap-dark .list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  background-color: rgba(25, 29, 33, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.125); }
  .bootstrap-dark .list-group-item:first-child {
    border-top-left-radius: inherit;
    border-top-right-radius: inherit; }
  .bootstrap-dark .list-group-item:last-child {
    border-bottom-right-radius: inherit;
    border-bottom-left-radius: inherit; }
  .bootstrap-dark .list-group-item.disabled, .bootstrap-dark .list-group-item:disabled {
    color: #ced4da;
    pointer-events: none;
    background-color: rgba(25, 29, 33, 0.05); }
  .bootstrap-dark .list-group-item.active {
    z-index: 2;
    color: #000;
    background-color: #3395ff;
    border-color: #3395ff; }
  .bootstrap-dark .list-group-item + .bootstrap-dark .list-group-item {
    border-top-width: 0; }
    .bootstrap-dark .list-group-item + .bootstrap-dark .list-group-item.active {
      margin-top: -1px;
      border-top-width: 1px; }

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

@media (min-width: 576px) {
  .bootstrap-dark .list-group-horizontal-sm {
    flex-direction: row; }
    .bootstrap-dark .list-group-horizontal-sm > .list-group-item:first-child {
      border-bottom-left-radius: 0.25rem;
      border-top-right-radius: 0; }
    .bootstrap-dark .list-group-horizontal-sm > .list-group-item:last-child {
      border-top-right-radius: 0.25rem;
      border-bottom-left-radius: 0; }
    .bootstrap-dark .list-group-horizontal-sm > .list-group-item.active {
      margin-top: 0; }
    .bootstrap-dark .list-group-horizontal-sm > .list-group-item + .list-group-item {
      border-top-width: 1px;
      border-left-width: 0; }
      .bootstrap-dark .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
        margin-left: -1px;
        border-left-width: 1px; } }

@media (min-width: 768px) {
  .bootstrap-dark .list-group-horizontal-md {
    flex-direction: row; }
    .bootstrap-dark .list-group-horizontal-md > .list-group-item:first-child {
      border-bottom-left-radius: 0.25rem;
      border-top-right-radius: 0; }
    .bootstrap-dark .list-group-horizontal-md > .list-group-item:last-child {
      border-top-right-radius: 0.25rem;
      border-bottom-left-radius: 0; }
    .bootstrap-dark .list-group-horizontal-md > .list-group-item.active {
      margin-top: 0; }
    .bootstrap-dark .list-group-horizontal-md > .list-group-item + .list-group-item {
      border-top-width: 1px;
      border-left-width: 0; }
      .bootstrap-dark .list-group-horizontal-md > .list-group-item + .list-group-item.active {
        margin-left: -1px;
        border-left-width: 1px; } }

@media (min-width: 992px) {
  .bootstrap-dark .list-group-horizontal-lg {
    flex-direction: row; }
    .bootstrap-dark .list-group-horizontal-lg > .list-group-item:first-child {
      border-bottom-left-radius: 0.25rem;
      border-top-right-radius: 0; }
    .bootstrap-dark .list-group-horizontal-lg > .list-group-item:last-child {
      border-top-right-radius: 0.25rem;
      border-bottom-left-radius: 0; }
    .bootstrap-dark .list-group-horizontal-lg > .list-group-item.active {
      margin-top: 0; }
    .bootstrap-dark .list-group-horizontal-lg > .list-group-item + .list-group-item {
      border-top-width: 1px;
      border-left-width: 0; }
      .bootstrap-dark .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
        margin-left: -1px;
        border-left-width: 1px; } }

@media (min-width: 1200px) {
  .bootstrap-dark .list-group-horizontal-xl {
    flex-direction: row; }
    .bootstrap-dark .list-group-horizontal-xl > .list-group-item:first-child {
      border-bottom-left-radius: 0.25rem;
      border-top-right-radius: 0; }
    .bootstrap-dark .list-group-horizontal-xl > .list-group-item:last-child {
      border-top-right-radius: 0.25rem;
      border-bottom-left-radius: 0; }
    .bootstrap-dark .list-group-horizontal-xl > .list-group-item.active {
      margin-top: 0; }
    .bootstrap-dark .list-group-horizontal-xl > .list-group-item + .list-group-item {
      border-top-width: 1px;
      border-left-width: 0; }
      .bootstrap-dark .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
        margin-left: -1px;
        border-left-width: 1px; } }

.bootstrap-dark .list-group-flush {
  border-radius: 0; }
  .bootstrap-dark .list-group-flush > .list-group-item {
    border-width: 0 0 1px; }
    .bootstrap-dark .list-group-flush > .list-group-item:last-child {
      border-bottom-width: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .toast-header {
  display: flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  color: #ced4da;
  background-color: rgba(0, 0, 0, 0.85);
  background-clip: padding-box;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px); }

.bootstrap-dark .toast-body {
  padding: 0.75rem; }

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

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

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

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

.bootstrap-dark .modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem); }
  .bootstrap-dark .modal-dialog-centered::before {
    display: block;
    height: calc(100vh - 1rem);
    height: -webkit-min-content;
    height: -moz-min-content;
    height: min-content;
    content: ""; }
  .bootstrap-dark .modal-dialog-centered.modal-dialog-scrollable {
    flex-direction: column;
    justify-content: center;
    height: 100%; }
    .bootstrap-dark .modal-dialog-centered.modal-dialog-scrollable .modal-content {
      max-height: none; }
    .bootstrap-dark .modal-dialog-centered.modal-dialog-scrollable::before {
      content: none; }

.bootstrap-dark .modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #191d21;
  background-clip: padding-box;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0.3rem;
  outline: 0; }

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

.bootstrap-dark .modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #343a40;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px); }
  .bootstrap-dark .modal-header .close {
    padding: 1rem 1rem;
    margin: -1rem -1rem -1rem auto; }

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

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

.bootstrap-dark .modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: 0.75rem;
  border-top: 1px solid #343a40;
  border-bottom-right-radius: calc(0.3rem - 1px);
  border-bottom-left-radius: calc(0.3rem - 1px); }
  .bootstrap-dark .modal-footer > * {
    margin: 0.25rem; }

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

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

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

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

.bootstrap-dark .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; }
  .bootstrap-dark .tooltip.show {
    opacity: 0.9; }
  .bootstrap-dark .tooltip .arrow {
    position: absolute;
    display: block;
    width: 0.8rem;
    height: 0.4rem; }
    .bootstrap-dark .tooltip .arrow::before {
      position: absolute;
      content: "";
      border-color: transparent;
      border-style: solid; }

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

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

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

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

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

.bootstrap-dark .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; }
  .bootstrap-dark .popover .arrow {
    position: absolute;
    display: block;
    width: 1rem;
    height: 0.5rem;
    margin: 0 0.3rem; }
    .bootstrap-dark .popover .arrow::before, .bootstrap-dark .popover .arrow::after {
      position: absolute;
      display: block;
      content: "";
      border-color: transparent;
      border-style: solid; }

.bootstrap-dark .bs-popover-top, .bootstrap-dark .bs-popover-auto[x-placement^="top"] {
  margin-bottom: 0.5rem; }
  .bootstrap-dark .bs-popover-top > .arrow, .bootstrap-dark .bs-popover-auto[x-placement^="top"] > .arrow {
    bottom: calc(-0.5rem - 1px); }
    .bootstrap-dark .bs-popover-top > .arrow::before, .bootstrap-dark .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); }
    .bootstrap-dark .bs-popover-top > .arrow::after, .bootstrap-dark .bs-popover-auto[x-placement^="top"] > .arrow::after {
      bottom: 1px;
      border-width: 0.5rem 0.5rem 0;
      border-top-color: #fff; }

.bootstrap-dark .bs-popover-right, .bootstrap-dark .bs-popover-auto[x-placement^="right"] {
  margin-left: 0.5rem; }
  .bootstrap-dark .bs-popover-right > .arrow, .bootstrap-dark .bs-popover-auto[x-placement^="right"] > .arrow {
    left: calc(-0.5rem - 1px);
    width: 0.5rem;
    height: 1rem;
    margin: 0.3rem 0; }
    .bootstrap-dark .bs-popover-right > .arrow::before, .bootstrap-dark .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); }
    .bootstrap-dark .bs-popover-right > .arrow::after, .bootstrap-dark .bs-popover-auto[x-placement^="right"] > .arrow::after {
      left: 1px;
      border-width: 0.5rem 0.5rem 0.5rem 0;
      border-right-color: #fff; }

.bootstrap-dark .bs-popover-bottom, .bootstrap-dark .bs-popover-auto[x-placement^="bottom"] {
  margin-top: 0.5rem; }
  .bootstrap-dark .bs-popover-bottom > .arrow, .bootstrap-dark .bs-popover-auto[x-placement^="bottom"] > .arrow {
    top: calc(-0.5rem - 1px); }
    .bootstrap-dark .bs-popover-bottom > .arrow::before, .bootstrap-dark .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); }
    .bootstrap-dark .bs-popover-bottom > .arrow::after, .bootstrap-dark .bs-popover-auto[x-placement^="bottom"] > .arrow::after {
      top: 1px;
      border-width: 0 0.5rem 0.5rem 0.5rem;
      border-bottom-color: #fff; }
  .bootstrap-dark .bs-popover-bottom .popover-header::before, .bootstrap-dark .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; }

.bootstrap-dark .bs-popover-left, .bootstrap-dark .bs-popover-auto[x-placement^="left"] {
  margin-right: 0.5rem; }
  .bootstrap-dark .bs-popover-left > .arrow, .bootstrap-dark .bs-popover-auto[x-placement^="left"] > .arrow {
    right: calc(-0.5rem - 1px);
    width: 0.5rem;
    height: 1rem;
    margin: 0.3rem 0; }
    .bootstrap-dark .bs-popover-left > .arrow::before, .bootstrap-dark .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); }
    .bootstrap-dark .bs-popover-left > .arrow::after, .bootstrap-dark .bs-popover-auto[x-placement^="left"] > .arrow::after {
      right: 1px;
      border-width: 0.5rem 0 0.5rem 0.5rem;
      border-left-color: #fff; }

.bootstrap-dark .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); }
  .bootstrap-dark .popover-header:empty {
    display: none; }

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

.bootstrap-dark .carousel {
  position: relative; }

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

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

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

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

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

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

.bootstrap-dark .carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none; }

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

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

.bootstrap-dark .carousel-control-prev,
.bootstrap-dark .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) {
    .bootstrap-dark .carousel-control-prev,
    .bootstrap-dark .carousel-control-next {
      transition: none; } }
  .bootstrap-dark .carousel-control-prev:hover, .bootstrap-dark .carousel-control-prev:focus,
  .bootstrap-dark .carousel-control-next:hover,
  .bootstrap-dark .carousel-control-next:focus {
    color: #fff;
    text-decoration: none;
    outline: 0;
    opacity: 0.9; }

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

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

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

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

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

.bootstrap-dark .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; }
  .bootstrap-dark .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: .5;
    transition: opacity 0.6s ease; }
    @media (prefers-reduced-motion: reduce) {
      .bootstrap-dark .carousel-indicators li {
        transition: none; } }
  .bootstrap-dark .carousel-indicators .active {
    opacity: 1; }

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

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

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

.bootstrap-dark .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%;
  -webkit-animation: .75s linear infinite spinner-border;
          animation: .75s linear infinite spinner-border; }

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

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

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

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

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

@media (prefers-reduced-motion: reduce) {
  .bootstrap-dark .spinner-border,
  .bootstrap-dark .spinner-grow {
    -webkit-animation-duration: 1.5s;
            animation-duration: 1.5s; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .bg-light, .bootstrap-dark .bg-themed-inverted {
  background-color: #f8f9fa !important; }

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

.bootstrap-dark .bg-dark, .bootstrap-dark .navbar-themed, .bootstrap-dark .bg-themed {
  background-color: #343a40 !important; }

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

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

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

.bootstrap-dark .border {
  border: 1px solid #343a40 !important; }

.bootstrap-dark .border-top {
  border-top: 1px solid #343a40 !important; }

.bootstrap-dark .border-right {
  border-right: 1px solid #343a40 !important; }

.bootstrap-dark .border-bottom {
  border-bottom: 1px solid #343a40 !important; }

.bootstrap-dark .border-left {
  border-left: 1px solid #343a40 !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .d-flex {
  display: flex !important; }

.bootstrap-dark .d-inline-flex {
  display: inline-flex !important; }

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

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

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

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

@media print {
  .bootstrap-dark .d-print-none {
    display: none !important; }
  .bootstrap-dark .d-print-inline {
    display: inline !important; }
  .bootstrap-dark .d-print-inline-block {
    display: inline-block !important; }
  .bootstrap-dark .d-print-block {
    display: block !important; }
  .bootstrap-dark .d-print-table {
    display: table !important; }
  .bootstrap-dark .d-print-table-row {
    display: table-row !important; }
  .bootstrap-dark .d-print-table-cell {
    display: table-cell !important; }
  .bootstrap-dark .d-print-flex {
    display: flex !important; }
  .bootstrap-dark .d-print-inline-flex {
    display: inline-flex !important; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .bootstrap-dark .flex-sm-row {
    flex-direction: row !important; }
  .bootstrap-dark .flex-sm-column {
    flex-direction: column !important; }
  .bootstrap-dark .flex-sm-row-reverse {
    flex-direction: row-reverse !important; }
  .bootstrap-dark .flex-sm-column-reverse {
    flex-direction: column-reverse !important; }
  .bootstrap-dark .flex-sm-wrap {
    flex-wrap: wrap !important; }
  .bootstrap-dark .flex-sm-nowrap {
    flex-wrap: nowrap !important; }
  .bootstrap-dark .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .bootstrap-dark .flex-sm-fill {
    flex: 1 1 auto !important; }
  .bootstrap-dark .flex-sm-grow-0 {
    flex-grow: 0 !important; }
  .bootstrap-dark .flex-sm-grow-1 {
    flex-grow: 1 !important; }
  .bootstrap-dark .flex-sm-shrink-0 {
    flex-shrink: 0 !important; }
  .bootstrap-dark .flex-sm-shrink-1 {
    flex-shrink: 1 !important; }
  .bootstrap-dark .justify-content-sm-start {
    justify-content: flex-start !important; }
  .bootstrap-dark .justify-content-sm-end {
    justify-content: flex-end !important; }
  .bootstrap-dark .justify-content-sm-center {
    justify-content: center !important; }
  .bootstrap-dark .justify-content-sm-between {
    justify-content: space-between !important; }
  .bootstrap-dark .justify-content-sm-around {
    justify-content: space-around !important; }
  .bootstrap-dark .align-items-sm-start {
    align-items: flex-start !important; }
  .bootstrap-dark .align-items-sm-end {
    align-items: flex-end !important; }
  .bootstrap-dark .align-items-sm-center {
    align-items: center !important; }
  .bootstrap-dark .align-items-sm-baseline {
    align-items: baseline !important; }
  .bootstrap-dark .align-items-sm-stretch {
    align-items: stretch !important; }
  .bootstrap-dark .align-content-sm-start {
    align-content: flex-start !important; }
  .bootstrap-dark .align-content-sm-end {
    align-content: flex-end !important; }
  .bootstrap-dark .align-content-sm-center {
    align-content: center !important; }
  .bootstrap-dark .align-content-sm-between {
    align-content: space-between !important; }
  .bootstrap-dark .align-content-sm-around {
    align-content: space-around !important; }
  .bootstrap-dark .align-content-sm-stretch {
    align-content: stretch !important; }
  .bootstrap-dark .align-self-sm-auto {
    align-self: auto !important; }
  .bootstrap-dark .align-self-sm-start {
    align-self: flex-start !important; }
  .bootstrap-dark .align-self-sm-end {
    align-self: flex-end !important; }
  .bootstrap-dark .align-self-sm-center {
    align-self: center !important; }
  .bootstrap-dark .align-self-sm-baseline {
    align-self: baseline !important; }
  .bootstrap-dark .align-self-sm-stretch {
    align-self: stretch !important; } }

@media (min-width: 768px) {
  .bootstrap-dark .flex-md-row {
    flex-direction: row !important; }
  .bootstrap-dark .flex-md-column {
    flex-direction: column !important; }
  .bootstrap-dark .flex-md-row-reverse {
    flex-direction: row-reverse !important; }
  .bootstrap-dark .flex-md-column-reverse {
    flex-direction: column-reverse !important; }
  .bootstrap-dark .flex-md-wrap {
    flex-wrap: wrap !important; }
  .bootstrap-dark .flex-md-nowrap {
    flex-wrap: nowrap !important; }
  .bootstrap-dark .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .bootstrap-dark .flex-md-fill {
    flex: 1 1 auto !important; }
  .bootstrap-dark .flex-md-grow-0 {
    flex-grow: 0 !important; }
  .bootstrap-dark .flex-md-grow-1 {
    flex-grow: 1 !important; }
  .bootstrap-dark .flex-md-shrink-0 {
    flex-shrink: 0 !important; }
  .bootstrap-dark .flex-md-shrink-1 {
    flex-shrink: 1 !important; }
  .bootstrap-dark .justify-content-md-start {
    justify-content: flex-start !important; }
  .bootstrap-dark .justify-content-md-end {
    justify-content: flex-end !important; }
  .bootstrap-dark .justify-content-md-center {
    justify-content: center !important; }
  .bootstrap-dark .justify-content-md-between {
    justify-content: space-between !important; }
  .bootstrap-dark .justify-content-md-around {
    justify-content: space-around !important; }
  .bootstrap-dark .align-items-md-start {
    align-items: flex-start !important; }
  .bootstrap-dark .align-items-md-end {
    align-items: flex-end !important; }
  .bootstrap-dark .align-items-md-center {
    align-items: center !important; }
  .bootstrap-dark .align-items-md-baseline {
    align-items: baseline !important; }
  .bootstrap-dark .align-items-md-stretch {
    align-items: stretch !important; }
  .bootstrap-dark .align-content-md-start {
    align-content: flex-start !important; }
  .bootstrap-dark .align-content-md-end {
    align-content: flex-end !important; }
  .bootstrap-dark .align-content-md-center {
    align-content: center !important; }
  .bootstrap-dark .align-content-md-between {
    align-content: space-between !important; }
  .bootstrap-dark .align-content-md-around {
    align-content: space-around !important; }
  .bootstrap-dark .align-content-md-stretch {
    align-content: stretch !important; }
  .bootstrap-dark .align-self-md-auto {
    align-self: auto !important; }
  .bootstrap-dark .align-self-md-start {
    align-self: flex-start !important; }
  .bootstrap-dark .align-self-md-end {
    align-self: flex-end !important; }
  .bootstrap-dark .align-self-md-center {
    align-self: center !important; }
  .bootstrap-dark .align-self-md-baseline {
    align-self: baseline !important; }
  .bootstrap-dark .align-self-md-stretch {
    align-self: stretch !important; } }

@media (min-width: 992px) {
  .bootstrap-dark .flex-lg-row {
    flex-direction: row !important; }
  .bootstrap-dark .flex-lg-column {
    flex-direction: column !important; }
  .bootstrap-dark .flex-lg-row-reverse {
    flex-direction: row-reverse !important; }
  .bootstrap-dark .flex-lg-column-reverse {
    flex-direction: column-reverse !important; }
  .bootstrap-dark .flex-lg-wrap {
    flex-wrap: wrap !important; }
  .bootstrap-dark .flex-lg-nowrap {
    flex-wrap: nowrap !important; }
  .bootstrap-dark .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .bootstrap-dark .flex-lg-fill {
    flex: 1 1 auto !important; }
  .bootstrap-dark .flex-lg-grow-0 {
    flex-grow: 0 !important; }
  .bootstrap-dark .flex-lg-grow-1 {
    flex-grow: 1 !important; }
  .bootstrap-dark .flex-lg-shrink-0 {
    flex-shrink: 0 !important; }
  .bootstrap-dark .flex-lg-shrink-1 {
    flex-shrink: 1 !important; }
  .bootstrap-dark .justify-content-lg-start {
    justify-content: flex-start !important; }
  .bootstrap-dark .justify-content-lg-end {
    justify-content: flex-end !important; }
  .bootstrap-dark .justify-content-lg-center {
    justify-content: center !important; }
  .bootstrap-dark .justify-content-lg-between {
    justify-content: space-between !important; }
  .bootstrap-dark .justify-content-lg-around {
    justify-content: space-around !important; }
  .bootstrap-dark .align-items-lg-start {
    align-items: flex-start !important; }
  .bootstrap-dark .align-items-lg-end {
    align-items: flex-end !important; }
  .bootstrap-dark .align-items-lg-center {
    align-items: center !important; }
  .bootstrap-dark .align-items-lg-baseline {
    align-items: baseline !important; }
  .bootstrap-dark .align-items-lg-stretch {
    align-items: stretch !important; }
  .bootstrap-dark .align-content-lg-start {
    align-content: flex-start !important; }
  .bootstrap-dark .align-content-lg-end {
    align-content: flex-end !important; }
  .bootstrap-dark .align-content-lg-center {
    align-content: center !important; }
  .bootstrap-dark .align-content-lg-between {
    align-content: space-between !important; }
  .bootstrap-dark .align-content-lg-around {
    align-content: space-around !important; }
  .bootstrap-dark .align-content-lg-stretch {
    align-content: stretch !important; }
  .bootstrap-dark .align-self-lg-auto {
    align-self: auto !important; }
  .bootstrap-dark .align-self-lg-start {
    align-self: flex-start !important; }
  .bootstrap-dark .align-self-lg-end {
    align-self: flex-end !important; }
  .bootstrap-dark .align-self-lg-center {
    align-self: center !important; }
  .bootstrap-dark .align-self-lg-baseline {
    align-self: baseline !important; }
  .bootstrap-dark .align-self-lg-stretch {
    align-self: stretch !important; } }

@media (min-width: 1200px) {
  .bootstrap-dark .flex-xl-row {
    flex-direction: row !important; }
  .bootstrap-dark .flex-xl-column {
    flex-direction: column !important; }
  .bootstrap-dark .flex-xl-row-reverse {
    flex-direction: row-reverse !important; }
  .bootstrap-dark .flex-xl-column-reverse {
    flex-direction: column-reverse !important; }
  .bootstrap-dark .flex-xl-wrap {
    flex-wrap: wrap !important; }
  .bootstrap-dark .flex-xl-nowrap {
    flex-wrap: nowrap !important; }
  .bootstrap-dark .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .bootstrap-dark .flex-xl-fill {
    flex: 1 1 auto !important; }
  .bootstrap-dark .flex-xl-grow-0 {
    flex-grow: 0 !important; }
  .bootstrap-dark .flex-xl-grow-1 {
    flex-grow: 1 !important; }
  .bootstrap-dark .flex-xl-shrink-0 {
    flex-shrink: 0 !important; }
  .bootstrap-dark .flex-xl-shrink-1 {
    flex-shrink: 1 !important; }
  .bootstrap-dark .justify-content-xl-start {
    justify-content: flex-start !important; }
  .bootstrap-dark .justify-content-xl-end {
    justify-content: flex-end !important; }
  .bootstrap-dark .justify-content-xl-center {
    justify-content: center !important; }
  .bootstrap-dark .justify-content-xl-between {
    justify-content: space-between !important; }
  .bootstrap-dark .justify-content-xl-around {
    justify-content: space-around !important; }
  .bootstrap-dark .align-items-xl-start {
    align-items: flex-start !important; }
  .bootstrap-dark .align-items-xl-end {
    align-items: flex-end !important; }
  .bootstrap-dark .align-items-xl-center {
    align-items: center !important; }
  .bootstrap-dark .align-items-xl-baseline {
    align-items: baseline !important; }
  .bootstrap-dark .align-items-xl-stretch {
    align-items: stretch !important; }
  .bootstrap-dark .align-content-xl-start {
    align-content: flex-start !important; }
  .bootstrap-dark .align-content-xl-end {
    align-content: flex-end !important; }
  .bootstrap-dark .align-content-xl-center {
    align-content: center !important; }
  .bootstrap-dark .align-content-xl-between {
    align-content: space-between !important; }
  .bootstrap-dark .align-content-xl-around {
    align-content: space-around !important; }
  .bootstrap-dark .align-content-xl-stretch {
    align-content: stretch !important; }
  .bootstrap-dark .align-self-xl-auto {
    align-self: auto !important; }
  .bootstrap-dark .align-self-xl-start {
    align-self: flex-start !important; }
  .bootstrap-dark .align-self-xl-end {
    align-self: flex-end !important; }
  .bootstrap-dark .align-self-xl-center {
    align-self: center !important; }
  .bootstrap-dark .align-self-xl-baseline {
    align-self: baseline !important; }
  .bootstrap-dark .align-self-xl-stretch {
    align-self: stretch !important; } }

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

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

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

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

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

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

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

.bootstrap-dark .user-select-all {
  -webkit-user-select: all !important;
     -moz-user-select: all !important;
      -ms-user-select: all !important;
          user-select: all !important; }

.bootstrap-dark .user-select-auto {
  -webkit-user-select: auto !important;
     -moz-user-select: auto !important;
      -ms-user-select: auto !important;
          user-select: auto !important; }

.bootstrap-dark .user-select-none {
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
      -ms-user-select: none !important;
          user-select: none !important; }

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .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; }

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

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

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

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

.bootstrap-dark .shadow-none {
  box-shadow: none !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bootstrap-dark .text-light, .bootstrap-dark .text-themed {
  color: #f8f9fa !important; }

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

.bootstrap-dark .text-dark, .bootstrap-dark .text-themed-inverted {
  color: #343a40 !important; }

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

.bootstrap-dark .text-body {
  color: #d3d3d3 !important; }

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

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

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

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

.bootstrap-dark .text-decoration-none {
  text-decoration: none !important; }

.bootstrap-dark .text-break {
  word-break: break-word !important;
  word-wrap: break-word !important; }

.bootstrap-dark .text-reset {
  color: inherit !important; }

.bootstrap-dark .visible {
  visibility: visible !important; }

.bootstrap-dark .invisible {
  visibility: hidden !important; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRvZ2dsZS1ib290c3RyYXAtZGFyay5zY3NzIiwiX2RhcmstdmFyaWFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcmVib290LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbWFnZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY29kZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZnVuY3Rpb25zLnNjc3MiLCJtaXhpbnMvX2RhcmstdGFibGUtcm93LnNjc3MiLCJfZGFyay10YWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZm9ybXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIl9mb3JtLW92ZXJyaWRlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3MiLCJfZGFyay1pbnB1dC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jdXN0b20tZm9ybXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdmJhci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19iYWRnZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2p1bWJvdHJvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWVkaWEuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b2FzdHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9vbHRpcC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wb3BvdmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nhcm91c2VsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19zcGlubmVycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYWxpZ24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYmFja2dyb3VuZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYm9yZGVycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZGlzcGxheS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZW1iZWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Zsb2F0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19pbnRlcmFjdGlvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX292ZXJmbG93LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2hhZG93cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zdHJldGNoZWQtbGluay5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdGV4dC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1oaWRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL192aXNpYmlsaXR5LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0E7RUFDSSx1QkFBdUI7RUFDdkIsaUJBQWlCO0VBQ2pCLDhCQUE4QjtFQUM5Qiw2Q0NBVyxFQUFBOztBREdmO0VBQ0ksU0FBUztFQUNULHFORWtRa087RUNySmhPLGVBdENZO0VIckVkLGdCRTJRNkI7RUYxUTdCLGdCRStRNkI7RUY5UTdCLGNDb0JpQjtFRG5CakIsZ0JBQWdCO0VBQ2hCLHlCQ2lCaUIsRUFBQTs7QURkckI7RUl4QkksZUFBYztFQUFkLGlCQUFjO0VBQWQsaUJBQWM7RUFBZCxlQUFjO0VBQWQsY0FBYztFQUFkLGlCQUFjO0VBQWQsaUJBQWM7RUFBZCxnQkFBYztFQUFkLGVBQWM7RUFBZCxlQUFjO0VBQWQsYUFBYztFQUFkLGVBQWM7RUFBZCxvQkFBYztFQUlkLGtCQUFj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OztBRnJSakM7RUdvR00saUJBdENZO0VHdERoQixnQkpzUitCO0VJclIvQixnQko0UStCLEVBQUE7O0FGclJqQztFR29HTSxpQkF0Q1k7RUdqRGhCLGdCSmtSK0I7RUlqUi9CLGdCSnVRK0IsRUFBQTs7QUZyUmpDO0VHb0dNLGlCQXRDWTtFRzVDaEIsZ0JKOFErQjtFSTdRL0IsZ0JKa1ErQixFQUFBOztBRnJSakM7RU00QkUsZ0JKZ0ZXO0VJL0VYLG1CSitFVztFSTlFWCxTQUFTO0VBQ1QsOENMdkRhLEVBQUE7O0FEd0JmOztFRzZDSSxjQUFXO0VHSGIsZ0JKME4rQixFQUFBOztBRnBRakM7O0VNK0NFLGNKa1FnQztFSWpRaEMseUJKMFFtQyxFQUFBOztBRjFUckM7RU92QkUsZUFBZTtFQUNmLGdCQUFnQixFQUFBOztBUHNCbEI7RU92QkUsZUFBZTtFQUNmLGdCQUFnQixFQUFBOztBUHNCbEI7RU1pRUUscUJBQXFCLEVBQUE7RU5qRXZCO0lNb0VJLG9CSm9QK0IsRUFBQTs7QUZ4VG5DO0VHNkNJLGNBQVc7RUdtQ2IseUJBQXlCLEVBQUE7O0FOaEYzQjtFTXFGRSxtQkp1Qlc7RUNSUCxrQkF0Q1ksRUFBQTs7QUg5RGxCO0VNMEZFLGNBQWM7RUg3Q1osY0FBVztFRytDYixjSjFHZ0IsRUFBQTtFRmNsQjtJTStGSSxxQkFBcUIsRUFBQTs7QU4vRnpCO0VRaEJFLGVBQWU7RUFHZixZQUFZLEVBQUE7O0FSYWQ7RVNiRSxnQlBtZ0N3QztFT2xnQ3hDLHNCUFJhO0VPU2IseUJQTmdCO0VRUWQsc0JSNk5nQztFTXBPbEMsZUFBZTtFQUdmLFlBQVksRUFBQTs7QVJhZDtFU0dFLHFCQUFxQixFQUFBOztBVEh2QjtFU09FLHFCQUEwQjtFQUMxQixjQUFjLEVBQUE7O0FUUmhCO0VHNkNJLGNBQVc7RU1oQ2IsY1AzQmdCLEVBQUE7O0FGY2xCO0VHNkNJLGdCQUFXO0VRckViLGNUbUNlO0VTbENmLHFCQUFxQixFQUFBO0VBR3JCO0lBQ0UsY0FBYyxFQUFBOztBWG1CbEI7RVdiRSxzQlR1bEN1QztFQzdoQ3JDLGdCQUFX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cUNnQyxRQURaLEVBQUE7RWZwQ3BCO0llcUNnQyxRQURaLEVBQUE7RWZwQ3BCO0llcUNnQyxRQURaLEVBQUE7RWZwQ3BCO0llcUNnQyxRQURaLEVBQUE7RWZwQ3BCO0llcUNnQyxRQURaLEVBQUE7RWZwQ3BCO0llcUNnQyxRQURaLEVBQUE7RWZwQ3BCO0llcUNnQyxTQURaLEVBQUE7RWZwQ3BCO0llcUNnQyxTQURaLEVBQUE7RWZwQ3BCO0llcUNnQyxTQURaLEVBQUE7RWZwQ3BCO0lZNEJFLGNBQTRCLEVBQUE7RVo1QjlCO0lZNEJFLHFCQUE4QyxFQUFBO0VaNUJoRDtJWTRCRSxzQkFBOEMsRUFBQTtFWjVCaEQ7SVk0QkUsZ0JBQThDLEVBQUE7RVo1QmhEO0lZNEJFLHNCQUE4QyxFQUFBO0VaNUJoRDtJWTRCRSxzQkFBOEMsRUFBQTtFWjVCaEQ7SVk0QkUsZ0JBQThDLEVBQUE7RVo1QmhEO0lZNEJFLHNCQUE4QyxFQUFBO0VaNUJoRDtJWTRCRSxzQkFBOEMsRUFBQTtFWjVCaEQ7SVk0QkUsZ0JBQThDLEVBQUE7RVo1QmhEO0lZNEJFLHNCQUE4QyxFQUFBO0VaNUJoRDtJWTRCRSxzQkFBOEMsRUFBQSxFR2tCbkM7O0FmOUNiO0VnQnRCRSxXQUFXO0VBQ1gsbUJkaUlXO0VjaElYLGNmbUNtQixFQUFBO0VEZnJCOztJZ0JmSSxnQmRrVmdDO0ljalZoQyxtQkFBbUI7SUFDbkIsNkJmSGMsRUFBQTtFRGdCbEI7SWdCVEksc0JBQXNCO0lBQ3RCLGdDZlJjLEVBQUE7RURnQmxCO0lnQkpJLDZCZlpjLEVBQUE7O0FEZ0JsQjs7RWdCUUksZWQ0VCtCLEVBQUE7O0FGcFVuQztFZ0JrQkUseUJmbENnQixFQUFBO0VEZ0JsQjs7SWdCc0JJLHlCZnRDYyxFQUFBO0VEZ0JsQjs7SWdCNEJNLHdCQUE0QyxFQUFBOztBaEI1QmxEOzs7O0VnQnNDSSxTQUFTLEVBQUE7O0FoQnRDYjtFZ0JnREkscUNkMURXLEVBQUE7O0FGVWY7RWdCNERNLGNmN0NlO0VlOENmLHNDZHZFUyxFQUFBOztBRlVmOzs7RWlCbEJNLHlCQ2dHNEQsRUFBQTs7QWxCOUVsRTs7OztFaUJWUSxxQkN3RjBELEVBQUE7O0FsQjlFbEU7RWlCRVEseUJBSnNDLEVBQUE7RWpCRTlDOztJaUJNVSx5QkFSb0MsRUFBQTs7QWpCRTlDOzs7RWlCbEJNLHlCQ2dHNEQsRUFBQTs7QWxCOUVsRTs7OztFaUJWUSxxQkN3RjBELEVBQUE7O0FsQjlFbEU7RWlCRVEseUJBSnNDLEVBQUE7RWpCRTlDOztJaUJNVSx5QkFSb0MsRUFBQTs7QWpCRTlDOzs7RWlCbEJNLHlCQ2dHNEQsRUFBQTs7QWxCOUVsRTs7OztFaUJWUSxxQkN3RjBELEVBQUE7O0FsQjlFbEU7RWlCRVEseUJBSnNDLEVBQUE7RWpCRTlDOztJaUJNVSx5QkFSb0MsRUFBQTs7QWpCRTlDOzs7RWlCbEJNLHlCQ2dHNEQsRUFBQTs7QWxCOUVsRTs7OztFaUJWUSxxQkN3RjBELEVBQUE7O0FsQjlFbEU7RWlCRVEseUJBSnNDLEVBQUE7RWpCRTlDOztJaUJNVSx5QkFSb0MsRUFBQTs7QWpCRTlDOzs7RWlCbEJNLHlCQ2dHNEQsRUFBQTs7QWxCOUVsRTs7OztFaUJWUSxxQkN3RjBELEVBQUE7O0FsQjlFbEU7RWlCRVEseUJBSnNDLEVBQUE7RWpCRTlDOztJaUJNVSx5QkFSb0MsRUFBQTs7QWpCRTlDOzs7RWlCbEJNLHlCQ2dHNEQsRUFBQTs7QWxCOUVsRTs7OztFaUJWUSxxQkN3RjBELEVBQUE7O0FsQjlFbEU7RWlCRVEseUJBSnNDLEVBQUE7RWpCRTlDOztJaUJNVSx5QkFSb0MsRUFBQTs7QWpCRTlDOzs7RWlCbEJNLHlCQ2dHNEQsRUFBQTs7QWxCOUVsRTs7OztFaUJWUSxxQkN3RjBELEVBQUE7O0FsQjlFbEU7RWlCRVEseUJBSnNDLEVBQUE7RWpCRTlDOztJaUJNVSx5QkFSb0MsRUFBQTs7QWpCRTlDOzs7RWlCbEJNLHlCQ2dHNEQsRUFBQTs7QWxCOUVsRTs7OztFaUJWUSxxQkN3RjBELEVBQUE7O0FsQjlFbEU7RWlCRVEseUJBSnNDLEVBQUE7RWpCRTlDOztJaUJNVSx5QkFSb0MsRUFBQTs7QWpCRTlDOzs7RWlCbEJNLHNDZlFTLEVBQUE7O0FGVWY7RWlCRVEsc0NBSnNDLEVBQUE7RWpCRTlDOztJaUJNVSxzQ0FSb0MsRUFBQTs7QWpCRTlDO0VnQnVGTSxjZjVHWTtFZTZHWix5QmRwR1k7RWNxR1oscUJkZ1FxRCxFQUFBOztBRnpWM0Q7RWdCK0ZNLGNkNUdZO0VjNkdaLHlCZGxIWTtFY21IWixxQmZqSFksRUFBQTs7QURnQmxCO0VnQnVHRSxjZjVIZ0I7RWU2SGhCLHlCZHBIZ0IsRUFBQTtFRllsQjs7O0lnQjZHSSxxQmQ0T3VELEVBQUE7RUZ6VjNEO0lnQmlISSxTQUFTLEVBQUE7RWhCakhiO0lnQnNITSwyQ2QxSVMsRUFBQTtFRm9CZjtJZ0I2SFEsV2RqSk87SWNrSlAsNENkbEpPLEVBQUE7O0FXa0VYO0ViOUNKO0lnQmlKUSxjQUFjO0lBQ2QsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixpQ0FBaUMsRUFBQTtJaEJwSnpDO01nQndKVSxTQUFTLEVBQUEsRUFDVjs7QUgzR0w7RWI5Q0o7SWdCaUpRLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGlDQUFpQyxFQUFBO0loQnBKekM7TWdCd0pVLFNBQVMsRUFBQSxFQUNWOztBSDNHTDtFYjlDSjtJZ0JpSlEsY0FBYztJQUNkLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsaUNBQWlDLEVBQUE7SWhCcEp6QztNZ0J3SlUsU0FBUyxFQUFBLEVBQ1Y7O0FIM0dMO0ViOUNKO0lnQmlKUSxjQUFjO0lBQ2QsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixpQ0FBaUMsRUFBQTtJaEJwSnpDO01nQndKVSxTQUFTLEVBQUEsRUFDVjs7QWhCekpUO0VnQmlKUSxjQUFjO0VBQ2QsV0FBVztFQUNYLGdCQUFnQjtFQUNoQixpQ0FBaUMsRUFBQTtFaEJwSnpDO0lnQndKVSxTQUFTLEVBQUE7O0FoQnhKbkI7OztFbUJsQlksY2xCR00sRUFBQTs7QURlbEI7RW1CUGdCLGNsQlJFLEVBQUE7RURlbEI7O0ltQkhvQixjbEJaRixFQUFBOztBRGVsQjs7O0VtQmxCWSxjbEJHTSxFQUFBOztBRGVsQjtFbUJQZ0IsY2xCUkUsRUFBQTtFRGVsQjs7SW1CSG9CLGNsQlpGLEVBQUE7O0FEZWxCOzs7RW1CbEJZLGNsQkdNLEVBQUE7O0FEZWxCO0VtQlBnQixjbEJSRSxFQUFBO0VEZWxCOztJbUJIb0IsY2xCWkYsRUFBQTs7QURlbEI7OztFbUJsQlksY2xCR00sRUFBQTs7QURlbEI7RW1CUGdCLGNsQlJFLEVBQUE7RURlbEI7O0ltQkhvQixjbEJaRixFQUFBOztBRGVsQjs7O0VtQmxCWSxjbEJHTSxFQUFBOztBRGVsQjtFbUJQZ0IsY2xCUkUsRUFBQTtFRGVsQjs7SW1CSG9CLGNsQlpGLEVBQUE7O0FEZWxCOzs7RW1CbEJZLGNsQkdNLEVBQUE7O0FEZWxCO0VtQlBnQixjbEJSRSxFQUFBO0VEZWxCOztJbUJIb0IsY2xCWkYsRUFBQTs7QURlbEI7OztFbUJsQlksY2xCR00sRUFBQTs7QURlbEI7RW1CUGdCLGNsQlJFLEVBQUE7RURlbEI7O0ltQkhvQixjbEJaRixFQUFBOztBRGVsQjs7O0VtQmxCWSxjbEJHTSxFQUFBOztBRGVsQjtFbUJQZ0IsY2xCUkUsRUFBQTtFRGVsQjs7SW1CSG9CLGNsQlpGLEVBQUE7O0FEZWxCOzs7RW1CbEJZLGNsQkZNLEVBQUE7O0FEb0JsQjtFbUJQZ0IsY2xCYkUsRUFBQTtFRG9CbEI7O0ltQkhvQixjbEJqQkYsRUFBQTs7QURvQmxCO0VvQmZJLGNuQk5jLEVBQUE7O0FEcUJsQjtFcUJwQkUsY0FBYztFQUNkLFdBQVc7RUFDWCxtQ0hpSDhEO0VHaEg5RCx5Qm5CeVhrQztFQ3BROUIsZUF0Q1k7RWtCNUVoQixnQm5Ca1IrQjtFbUJqUi9CLGdCbkJzUitCO0VtQnJSL0IsY3BCVGdCO0VvQlVoQixzQnBCSGE7RW9CSWIsNEJBQTRCO0VBQzVCLHlCcEJUZ0I7RVNTZCxzQlI2TmdDO0VvQi9OOUIsd0VwQnVlNEYsRUFBQTtFb0JuZTVGO0l0Qk9OO01zQk5RLGdCQUFnQixFQUFBLEVEc0N2QjtFckJoQ0Q7SXFCQ0ksNkJBQTZCO0lBQzdCLFNBQVMsRUFBQTtFckJGYjtJcUJPSSxrQkFBa0I7SUFDbEIsMEJwQjdCYyxFQUFBO0VEcUJsQjtJdUJiSSxjdEJSYztJc0JTZCx5QnRCMEJpQjtJc0J6QmpCLHFCdEJvRnNFO0lzQm5GdEUsVUFBVTtJQUtSLGdEckJhVyxFQUFBO0VGUmpCO0lxQmdCSSxjbkI5QmM7SW1CZ0NkLFVBQVUsRUFBQTtFckJsQmQ7SXFCZ0JJLGNuQjlCYztJbUJnQ2QsVUFBVSxFQUFBO0VyQmxCZDtJcUJnQkksY25COUJjO0ltQmdDZCxVQUFVLEVBQUE7RXJCbEJkO0lxQmdCSSxjbkI5QmM7SW1CZ0NkLFVBQVUsRUFBQTtFckJsQmQ7SXFCNEJJLHlCcEI1Q2M7SW9COENkLFVBQVUsRUFBQTs7QXJCOUJkOzs7O0VxQnVDSSx3QkFBZ0I7S0FBaEIscUJBQWdCO1VBQWhCLGdCQUFnQixFQUFBOztBckJ2Q3BCO0VxQmtESSxjcEJ2RWM7RW9Cd0VkLHNCcEJqRVcsRUFBQTs7QURjZjs7RXFCMERFLGNBQWM7RUFDZCxXQUFXLEVBQUE7O0FyQjNEYjtFcUJzRUUsaUNIeUI4RDtFR3hCOUQsb0NId0I4RDtFR3ZCOUQsZ0JBQWdCO0VsQjNCZCxrQkFBVztFa0I2QmIsZ0JuQitMK0IsRUFBQTs7QUZ6UWpDO0VxQjhFRSwrQkhpQjhEO0VHaEI5RCxrQ0hnQjhEO0VmSzFELGtCQXRDWTtFa0JtQmhCLGdCbkI2SCtCLEVBQUE7O0FGOU1qQztFcUJxRkUsZ0NIVThEO0VHVDlELG1DSFM4RDtFZksxRCxtQkF0Q1k7RWtCMEJoQixnQm5CdUgrQixFQUFBOztBRi9NakM7RXFCa0dFLGNBQWM7RUFDZCxXQUFXO0VBQ1gsbUJBQTJCO0VBQzNCLGdCQUFnQjtFbEJEWixlQXRDWTtFa0J5Q2hCLGdCbkJrSytCO0VtQmpLL0IsY25CbkhnQjtFbUJvSGhCLDZCQUE2QjtFQUM3Qix5QkFBeUI7RUFDekIsbUJBQW1DLEVBQUE7RXJCM0dyQztJcUIrR0ksZ0JBQWdCO0lBQ2hCLGVBQWUsRUFBQTs7QXJCaEhuQjtFcUI2SEUsa0NIOUI4RDtFRytCOUQsdUJuQm9QaUM7RUM5UTdCLG1CQXRDWTtFa0JrRWhCLGdCbkIrRStCO0VReE43QixxQlIrTitCLEVBQUE7O0FGdE5uQztFcUJxSUUsZ0NIdEM4RDtFR3VDOUQsb0JuQmlQZ0M7RUNuUjVCLGtCQXRDWTtFa0IwRWhCLGdCbkJzRStCO0VRdk43QixxQlI4TitCLEVBQUE7O0FGck5uQztFcUJnSkksWUFBWSxFQUFBOztBckJoSmhCO0VxQnFKRSxZQUFZLEVBQUE7O0FyQnJKZDtFcUI4SkUsbUJuQjBVMEMsRUFBQTs7QUZ4ZTVDO0VxQmtLRSxjQUFjO0VBQ2QsbUJuQjJUNEMsRUFBQTs7QUY5ZDlDO0VxQjRLRSxhQUFhO0VBQ2IsZUFBZTtFQUNmLGtCQUEwQztFQUMxQyxpQkFBeUMsRUFBQTtFckIvSzNDOztJcUJtTEksa0JBQTBDO0lBQzFDLGlCQUF5QyxFQUFBOztBckJwTDdDO0VxQjhMRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLHFCbkJnUzZDLEVBQUE7O0FGaGUvQztFcUJvTUUsa0JBQWtCO0VBQ2xCLGtCbkI0UjJDO0VtQjNSM0MscUJuQjBSNkMsRUFBQTtFRmhlL0M7O0lxQjJNSSxjbkJ6TmMsRUFBQTs7QUZjbEI7RXFCZ05FLGdCQUFnQixFQUFBOztBckJoTmxCO0VxQm9ORSxvQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixxQm5CNlE0QyxFQUFBO0VGcGU5QztJcUIyTkksZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYix1Qm5Cd1E0QztJbUJ2UTVDLGNBQWMsRUFBQTs7QXJCOU5sQjtFdUJrQkksYUFBYTtFQUNiLFdBQVc7RUFDWCxtQnJCMGMwQztFQ2piMUMsY0FBVztFb0J2QlgsY3JCUGEsRUFBQTs7QUZmakI7RXVCMEJJLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsT0FBTztFQUNQLFVBQVU7RUFDVixhQUFhO0VBQ2IsZUFBZTtFQUNmLHVCckJveUJxQztFcUJueUJyQyxpQkFBaUI7RXBCbUVmLG1CQXRDWTtFb0IzQmQsZ0JyQnNPNkI7RXFCck83QixjdEJ4RGM7RXNCeURkLHdDckJ0QmE7RVF4QmIsc0JSNk5nQyxFQUFBO0VxQjFLaEM7O0lBRUUsU0FBaUMsRUFBQTs7QXZCNUN2Qzs7RXVCbURNLGNBQWMsRUFBQTs7QXZCbkRwQjtFdUJ5RE0scUJyQjFDVztFcUI2Q1Qsb0NMbUN3RDtFS2xDeEQsaVJMM0IwRTtFSzRCMUUsNEJBQTRCO0VBQzVCLDJEQUE2RDtFQUM3RCxnRUwrQndELEVBQUE7RWxCL0ZoRTtJdUJvRVEscUJyQnJEUztJcUJzRFQsZ0RyQnREUyxFQUFBOztBRmZqQjtFdUI4RVEsb0NMaUJ3RDtFS2hCeEQsa0ZMZ0J3RCxFQUFBOztBbEIvRmhFO0V1QnNGTSxxQnJCdkVXO0VxQjBFVCx1Q0xNd0Q7RUtMeEQsdWpCQUE4SixFQUFBO0V2QjFGdEs7SXVCOEZRLHFCckIvRVM7SXFCZ0ZULGdEckJoRlMsRUFBQTs7QUZmakI7RXVCdUdRLGNyQnhGUyxFQUFBOztBRmZqQjs7RXVCNEdRLGNBQWMsRUFBQTs7QXZCNUd0QjtFdUJvSFEsY3JCckdTLEVBQUE7RUZmakI7SXVCdUhVLHFCckJ4R08sRUFBQTs7QUZmakI7RXVCNkhVLHFCQUFrQztFQ2xKeEMseUJEbUorQyxFQUFBOztBdkI5SG5EO0V1Qm9JVSxnRHJCckhPLEVBQUE7O0FGZmpCO0V1QndJVSxxQnJCekhPLEVBQUE7O0FGZmpCO0V1QmtKUSxxQnJCbklTLEVBQUE7O0FGZmpCO0V1QnVKVSxxQnJCeElPO0VxQnlJUCxnRHJCeklPLEVBQUE7O0FGZmpCO0V1QmtCSSxhQUFhO0VBQ2IsV0FBVztFQUNYLG1CckIwYzBDO0VDamIxQyxjQUFXO0VvQnZCWCxjckJWYSxFQUFBOztBRlpqQjtFdUIwQkksa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxPQUFPO0VBQ1AsVUFBVTtFQUNWLGFBQWE7RUFDYixlQUFlO0VBQ2YsdUJyQm95QnFDO0VxQm55QnJDLGlCQUFpQjtFcEJtRWYsbUJBdENZO0VvQjNCZCxnQnJCc082QjtFcUJyTzdCLGN0QnhEYztFc0J5RGQsd0NyQnpCYTtFUXJCYixzQlI2TmdDLEVBQUE7RXFCMUtoQzs7SUFFRSxTQUFpQyxFQUFBOztBdkI1Q3ZDOztFdUJtRE0sY0FBYyxFQUFBOztBdkJuRHBCO0V1QnlETSxxQnJCN0NXO0VxQmdEVCxvQ0xtQ3dEO0VLbEN4RCw0VUwzQjBFO0VLNEIxRSw0QkFBNEI7RUFDNUIsMkRBQTZEO0VBQzdELGdFTCtCd0QsRUFBQTtFbEIvRmhFO0l1Qm9FUSxxQnJCeERTO0lxQnlEVCxnRHJCekRTLEVBQUE7O0FGWmpCO0V1QjhFUSxvQ0xpQndEO0VLaEJ4RCxrRkxnQndELEVBQUE7O0FsQi9GaEU7RXVCc0ZNLHFCckIxRVc7RXFCNkVULHVDTE13RDtFS0x4RCxrbkJBQThKLEVBQUE7RXZCMUZ0SztJdUI4RlEscUJyQmxGUztJcUJtRlQsZ0RyQm5GUyxFQUFBOztBRlpqQjtFdUJ1R1EsY3JCM0ZTLEVBQUE7O0FGWmpCOztFdUI0R1EsY0FBYyxFQUFBOztBdkI1R3RCO0V1Qm9IUSxjckJ4R1MsRUFBQTtFRlpqQjtJdUJ1SFUscUJyQjNHTyxFQUFBOztBRlpqQjtFdUI2SFUscUJBQWtDO0VDbEp4Qyx5QkRtSitDLEVBQUE7O0F2QjlIbkQ7RXVCb0lVLGdEckJ4SE8sRUFBQTs7QUZaakI7RXVCd0lVLHFCckI1SE8sRUFBQTs7QUZaakI7RXVCa0pRLHFCckJ0SVMsRUFBQTs7QUZaakI7RXVCdUpVLHFCckIzSU87RXFCNElQLGdEckI1SU8sRUFBQTs7QUZaakI7RXFCd1BFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsbUJBQW1CLEVBQUE7RXJCMVByQjtJcUJnUUksV0FBVyxFQUFBO0VSL05YO0liakNKO01xQnNRTSxhQUFhO01BQ2IsbUJBQW1CO01BQ25CLHVCQUF1QjtNQUN2QixnQkFBZ0IsRUFBQTtJckJ6UXRCO01xQjhRTSxhQUFhO01BQ2IsY0FBYztNQUNkLG1CQUFtQjtNQUNuQixtQkFBbUI7TUFDbkIsZ0JBQWdCLEVBQUE7SXJCbFJ0QjtNcUJ1Uk0scUJBQXFCO01BQ3JCLFdBQVc7TUFDWCxzQkFBc0IsRUFBQTtJckJ6UjVCO01xQjhSTSxxQkFBcUIsRUFBQTtJckI5UjNCOztNcUJtU00sV0FBVyxFQUFBO0lyQm5TakI7TXFCeVNNLGFBQWE7TUFDYixtQkFBbUI7TUFDbkIsdUJBQXVCO01BQ3ZCLFdBQVc7TUFDWCxlQUFlLEVBQUE7SXJCN1NyQjtNcUJnVE0sa0JBQWtCO01BQ2xCLGNBQWM7TUFDZCxhQUFhO01BQ2IscUJuQitLd0M7TW1COUt4QyxjQUFjLEVBQUE7SXJCcFRwQjtNcUJ3VE0sbUJBQW1CO01BQ25CLHVCQUF1QixFQUFBO0lyQnpUN0I7TXFCNFRNLGdCQUFnQixFQUFBLEVBQ2pCOztBckI3VEw7RXVCa0JJLGFBQWE7RUFDYixXQUFXO0VBQ1gsbUJyQjBjMEM7RUNqYjFDLGNBQVc7RW9CdkJYLGNyQlBhLEVBQUE7O0FGZmpCO0V1QjBCSSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULE9BQU87RUFDUCxVQUFVO0VBQ1YsYUFBYTtFQUNiLGVBQWU7RUFDZix1QnJCb3lCcUM7RXFCbnlCckMsaUJBQWlCO0VwQm1FZixtQkF0Q1k7RW9CM0JkLGdCckJzTzZCO0VxQnJPN0IsY3RCeERjO0VzQnlEZCx3Q3JCdEJhO0VReEJiLHNCUjZOZ0MsRUFBQTtFcUIxS2hDOztJQUVFLFNBQWlDLEVBQUE7O0F2QjVDdkM7OztFdUJtRE0sY0FBYyxFQUFBOztBdkJuRHBCO0V1QnlETSxxQnJCMUNXO0VxQjZDVCxvQ0xtQ3dEO0VLbEN4RCxpUkwzQjBFO0VLNEIxRSw0QkFBNEI7RUFDNUIsMkRBQTZEO0VBQzdELGdFTCtCd0QsRUFBQTtFbEIvRmhFO0l1Qm9FUSxxQnJCckRTO0lxQnNEVCxnRHJCdERTLEVBQUE7O0FGZmpCO0V1QjhFUSxvQ0xpQndEO0VLaEJ4RCxrRkxnQndELEVBQUE7O0FsQi9GaEU7RXVCc0ZNLHFCckJ2RVc7RXFCMEVULHVDTE13RDtFS0x4RCx1akJBQThKLEVBQUE7RXZCMUZ0SztJdUI4RlEscUJyQi9FUztJcUJnRlQsZ0RyQmhGUyxFQUFBOztBRmZqQjtFdUJ1R1EsY3JCeEZTLEVBQUE7O0FGZmpCOzs7RXVCNEdRLGNBQWMsRUFBQTs7QXZCNUd0QjtFdUJvSFEsY3JCckdTLEVBQUE7RUZmakI7SXVCdUhVLHFCckJ4R08sRUFBQTs7QUZmakI7RXVCNkhVLHFCQUFrQztFQ2xKeEMseUJEbUorQyxFQUFBOztBdkI5SG5EO0V1Qm9JVSxnRHJCckhPLEVBQUE7O0FGZmpCO0V1QndJVSxxQnJCekhPLEVBQUE7O0FGZmpCO0V1QmtKUSxxQnJCbklTLEVBQUE7O0FGZmpCO0V1QnVKVSxxQnJCeElPO0VxQnlJUCxnRHJCeklPLEVBQUE7O0FGZmpCOzs7O0V5Qm5CWSxjQUFjLEVBQUE7O0F6Qm1CMUI7RXVCa0JJLGFBQWE7RUFDYixXQUFXO0VBQ1gsbUJyQjBjMEM7RUNqYjFDLGNBQVc7RW9CdkJYLGNyQlZhLEVBQUE7O0FGWmpCO0V1QjBCSSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULE9BQU87RUFDUCxVQUFVO0VBQ1YsYUFBYTtFQUNiLGVBQWU7RUFDZix1QnJCb3lCcUM7RXFCbnlCckMsaUJBQWlCO0VwQm1FZixtQkF0Q1k7RW9CM0JkLGdCckJzTzZCO0VxQnJPN0IsY3RCeERjO0VzQnlEZCx3Q3JCekJhO0VRckJiLHNCUjZOZ0MsRUFBQTtFcUIxS2hDOztJQUVFLFNBQWlDLEVBQUE7O0F2QjVDdkM7OztFdUJtRE0sY0FBYyxFQUFBOztBdkJuRHBCO0V1QnlETSxxQnJCN0NXO0VxQmdEVCxvQ0xtQ3dEO0VLbEN4RCw0VUwzQjBFO0VLNEIxRSw0QkFBNEI7RUFDNUIsMkRBQTZEO0VBQzdELGdFTCtCd0QsRUFBQTtFbEIvRmhFO0l1Qm9FUSxxQnJCeERTO0lxQnlEVCxnRHJCekRTLEVBQUE7O0FGWmpCO0V1QjhFUSxvQ0xpQndEO0VLaEJ4RCxrRkxnQndELEVBQUE7O0FsQi9GaEU7RXVCc0ZNLHFCckIxRVc7RXFCNkVULHVDTE13RDtFS0x4RCxrbkJBQThKLEVBQUE7RXZCMUZ0SztJdUI4RlEscUJyQmxGUztJcUJtRlQsZ0RyQm5GUyxFQUFBOztBRlpqQjtFdUJ1R1EsY3JCM0ZTLEVBQUE7O0FGWmpCOzs7RXVCNEdRLGNBQWMsRUFBQTs7QXZCNUd0QjtFdUJvSFEsY3JCeEdTLEVBQUE7RUZaakI7SXVCdUhVLHFCckIzR08sRUFBQTs7QUZaakI7RXVCNkhVLHFCQUFrQztFQ2xKeEMseUJEbUorQyxFQUFBOztBdkI5SG5EO0V1Qm9JVSxnRHJCeEhPLEVBQUE7O0FGWmpCO0V1QndJVSxxQnJCNUhPLEVBQUE7O0FGWmpCO0V1QmtKUSxxQnJCdElTLEVBQUE7O0FGWmpCO0V1QnVKVSxxQnJCM0lPO0VxQjRJUCxnRHJCNUlPLEVBQUE7O0FGWmpCOzs7O0V5Qm5CWSxjQUFjLEVBQUE7O0F6Qm1CMUI7RTBCcEJFLHFCQUFxQjtFQUVyQixnQnhCc1IrQjtFd0JyUi9CLGN6QmdDbUI7RXlCL0JuQixrQkFBa0I7RUFHbEIsc0JBQXNCO0VBQ3RCLHlCQUFpQjtLQUFqQixzQkFBaUI7TUFBakIscUJBQWlCO1VBQWpCLGlCQUFpQjtFQUNqQiw2QkFBNkI7RUFDN0IsNkJBQTJDO0VDdUYzQyx5QnpCMlJrQztFQ3BROUIsZUF0Q1k7RXdCaUJoQixnQnpCMEwrQjtFUWxSN0Isc0JSNk5nQztFb0IvTjlCLHFJcEJnYjZJLEVBQUE7RW9CNWE3STtJdEJPTjtNc0JOUSxnQkFBZ0IsRUFBQSxFSThCdkI7RTFCeEJEO0kwQkxJLGN6Qm9CaUI7SXlCbkJqQixxQkFBcUIsRUFBQTtFMUJJekI7STBCQ0ksVUFBVTtJQUNWLGdEeEJNYSxFQUFBO0VGUmpCO0kwQlFJLGF4QmlaNkIsRUFBQTtFRnpaakM7STBCYUksZUFBc0QsRUFBQTs7QTFCYjFEOztFMEI2QkUsb0JBQW9CLEVBQUE7O0ExQjdCdEI7RTJCckJFLGMxQkNnQjtFdUJEZCx5QnRCNkJhO0V5QjNCZixxQnpCMkJlLEVBQUE7RUZSakI7STJCZkksYzFCTGM7SXVCRGQseUJHRG9GO0lBU3BGLHFCQVR5SCxFQUFBO0UzQnNCN0g7STJCUkksYzFCWmM7SXVCRGQseUJHRG9GO0lBZ0JwRixxQkFoQnlIO0lBcUJ2SCxnREFBaUYsRUFBQTtFM0JDdkY7STJCTUksYzFCMUJjO0kwQjJCZCx5QnpCQ2E7SXlCQWIscUJ6QkFhLEVBQUE7RUZSakI7O0kyQmtCSSxjMUJ0Q2M7STBCdUNkLHlCQXpDdUs7SUE2Q3ZLLHFCQTdDK00sRUFBQTtJM0JzQm5OOztNMkI4QlEsZ0RBQWlGLEVBQUE7O0EzQjlCekY7RTJCckJFLGMxQkNnQjtFdUJEZCx5QnRCT2M7RXlCTGhCLHFCekJLZ0IsRUFBQTtFRmNsQjtJMkJmSSxjMUJMYztJdUJEZCx5QkdEb0Y7SUFTcEYscUJBVHlILEVBQUE7RTNCc0I3SDtJMkJSSSxjMUJaYztJdUJEZCx5QkdEb0Y7SUFnQnBGLHFCQWhCeUg7SUFxQnZILGlEQUFpRixFQUFBO0UzQkN2RjtJMkJNSSxjMUIxQmM7STBCMkJkLHlCekJyQmM7SXlCc0JkLHFCekJ0QmMsRUFBQTtFRmNsQjs7STJCa0JJLGMxQnRDYztJMEJ1Q2QseUJBekN1SztJQTZDdksscUJBN0MrTSxFQUFBO0kzQnNCbk47O00yQjhCUSxpREFBaUYsRUFBQTs7QTNCOUJ6RjtFMkJyQkUsYzFCQ2dCO0V1QkRkLHlCdEJvQ2E7RXlCbENmLHFCekJrQ2UsRUFBQTtFRmZqQjtJMkJmSSxjMUJMYztJdUJEZCx5QkdEb0Y7SUFTcEYscUJBVHlILEVBQUE7RTNCc0I3SDtJMkJSSSxjMUJaYztJdUJEZCx5QkdEb0Y7SUFnQnBGLHFCQWhCeUg7SUFxQnZILCtDQUFpRixFQUFBO0UzQkN2RjtJMkJNSSxjMUIxQmM7STBCMkJkLHlCekJRYTtJeUJQYixxQnpCT2EsRUFBQTtFRmZqQjs7STJCa0JJLGMxQnRDYztJMEJ1Q2QseUJBekN1SztJQTZDdksscUJBN0MrTSxFQUFBO0kzQnNCbk47O00yQjhCUSwrQ0FBaUYsRUFBQTs7QTNCOUJ6RjtFMkJyQkUsYzFCQ2dCO0V1QkRkLHlCdEJzQ2E7RXlCcENmLHFCekJvQ2UsRUFBQTtFRmpCakI7STJCZkksYzFCTGM7SXVCRGQseUJHRG9GO0lBU3BGLHFCQVR5SCxFQUFBO0UzQnNCN0g7STJCUkksYzFCWmM7SXVCRGQseUJHRG9GO0lBZ0JwRixxQkFoQnlIO0lBcUJ2SCxnREFBaUYsRUFBQTtFM0JDdkY7STJCTUksYzFCMUJjO0kwQjJCZCx5QnpCVWE7SXlCVGIscUJ6QlNhLEVBQUE7RUZqQmpCOztJMkJrQkksYzFCdENjO0kwQnVDZCx5QkF6Q3VLO0lBNkN2SyxxQkE3QytNLEVBQUE7STNCc0JuTjs7TTJCOEJRLGdEQUFpRixFQUFBOztBM0I5QnpGO0UyQnJCRSxjMUJNZ0I7RXVCTmQseUJ0Qm1DYTtFeUJqQ2YscUJ6QmlDZSxFQUFBO0VGZGpCO0kyQmZJLGMxQkFjO0l1Qk5kLHlCR0RvRjtJQVNwRixxQkFUeUgsRUFBQTtFM0JzQjdIO0kyQlJJLGMxQlBjO0l1Qk5kLHlCR0RvRjtJQWdCcEYscUJBaEJ5SDtJQXFCdkgsZ0RBQWlGLEVBQUE7RTNCQ3ZGO0kyQk1JLGMxQnJCYztJMEJzQmQseUJ6Qk9hO0l5Qk5iLHFCekJNYSxFQUFBO0VGZGpCOztJMkJrQkksYzFCakNjO0kwQmtDZCx5QkF6Q3VLO0lBNkN2SyxxQkE3QytNLEVBQUE7STNCc0JuTjs7TTJCOEJRLGdEQUFpRixFQUFBOztBM0I5QnpGO0UyQnJCRSxjMUJDZ0I7RXVCRGQseUJ0QmlDYTtFeUIvQmYscUJ6QitCZSxFQUFBO0VGWmpCO0kyQmZJLGMxQkxjO0l1QkRkLHlCR0RvRjtJQVNwRixxQkFUeUgsRUFBQTtFM0JzQjdIO0kyQlJJLGMxQlpjO0l1QkRkLHlCR0RvRjtJQWdCcEYscUJBaEJ5SDtJQXFCdkgsK0NBQWlGLEVBQUE7RTNCQ3ZGO0kyQk1JLGMxQjFCYztJMEIyQmQseUJ6QkthO0l5QkpiLHFCekJJYSxFQUFBO0VGWmpCOztJMkJrQkksYzFCdENjO0kwQnVDZCx5QkF6Q3VLO0lBNkN2SyxxQkE3QytNLEVBQUE7STNCc0JuTjs7TTJCOEJRLCtDQUFpRixFQUFBOztBM0I5QnpGO0UyQnJCRSxjMUJNZ0I7RXVCTmQseUJ0QkVjO0V5QkFoQixxQnpCQWdCLEVBQUE7RUZtQmxCO0kyQmZJLGMxQkFjO0l1Qk5kLHlCR0RvRjtJQVNwRixxQkFUeUgsRUFBQTtFM0JzQjdIO0kyQlJJLGMxQlBjO0l1Qk5kLHlCR0RvRjtJQWdCcEYscUJBaEJ5SDtJQXFCdkgsaURBQWlGLEVBQUE7RTNCQ3ZGO0kyQk1JLGMxQnJCYztJMEJzQmQseUJ6QjFCYztJeUIyQmQscUJ6QjNCYyxFQUFBO0VGbUJsQjs7STJCa0JJLGMxQmpDYztJMEJrQ2QseUJBekN1SztJQTZDdksscUJBN0MrTSxFQUFBO0kzQnNCbk47O00yQjhCUSxpREFBaUYsRUFBQTs7QTNCOUJ6RjtFMkJyQkUsYzFCQ2dCO0V1QkRkLHlCdEJTYztFeUJQaEIscUJ6Qk9nQixFQUFBO0VGWWxCO0kyQmZJLGMxQkxjO0l1QkRkLHlCR0RvRjtJQVNwRixxQkFUeUgsRUFBQTtFM0JzQjdIO0kyQlJJLGMxQlpjO0l1QkRkLHlCR0RvRjtJQWdCcEYscUJBaEJ5SDtJQXFCdkgsOENBQWlGLEVBQUE7RTNCQ3ZGO0kyQk1JLGMxQjFCYztJMEIyQmQseUJ6Qm5CYztJeUJvQmQscUJ6QnBCYyxFQUFBO0VGWWxCOztJMkJrQkksYzFCdENjO0kwQnVDZCx5QkF6Q3VLO0lBNkN2SyxxQkE3QytNLEVBQUE7STNCc0JuTjs7TTJCOEJRLDhDQUFpRixFQUFBOztBM0I5QnpGO0UyQnFDRSxjekI3QmU7RXlCOEJmLHFCekI5QmUsRUFBQTtFRlJqQjtJMkJ5Q0ksYzFCN0RjO0kwQjhEZCx5QnpCbENhO0l5Qm1DYixxQnpCbkNhLEVBQUE7RUZSakI7STJCZ0RJLCtDekJ4Q2EsRUFBQTtFRlJqQjtJMkJxREksY3pCN0NhO0l5QjhDYiw2QkFBNkIsRUFBQTtFM0J0RGpDOztJMkI0REksYzFCaEZjO0kwQmlGZCx5QnpCckRhO0l5QnNEYixxQnpCdERhLEVBQUE7SUZSakI7O00yQnFFUSwrQ3pCN0RTLEVBQUE7O0FGUmpCO0UyQnFDRSxjekJuRGdCO0V5Qm9EaEIscUJ6QnBEZ0IsRUFBQTtFRmNsQjtJMkJ5Q0ksYzFCN0RjO0kwQjhEZCx5QnpCeERjO0l5QnlEZCxxQnpCekRjLEVBQUE7RUZjbEI7STJCZ0RJLGlEekI5RGMsRUFBQTtFRmNsQjtJMkJxREksY3pCbkVjO0l5Qm9FZCw2QkFBNkIsRUFBQTtFM0J0RGpDOztJMkI0REksYzFCaEZjO0kwQmlGZCx5QnpCM0VjO0l5QjRFZCxxQnpCNUVjLEVBQUE7SUZjbEI7O00yQnFFUSxpRHpCbkZVLEVBQUE7O0FGY2xCO0UyQnFDRSxjekJ0QmU7RXlCdUJmLHFCekJ2QmUsRUFBQTtFRmZqQjtJMkJ5Q0ksYzFCN0RjO0kwQjhEZCx5QnpCM0JhO0l5QjRCYixxQnpCNUJhLEVBQUE7RUZmakI7STJCZ0RJLCtDekJqQ2EsRUFBQTtFRmZqQjtJMkJxREksY3pCdENhO0l5QnVDYiw2QkFBNkIsRUFBQTtFM0J0RGpDOztJMkI0REksYzFCaEZjO0kwQmlGZCx5QnpCOUNhO0l5QitDYixxQnpCL0NhLEVBQUE7SUZmakI7O00yQnFFUSwrQ3pCdERTLEVBQUE7O0FGZmpCO0UyQnFDRSxjekJwQmU7RXlCcUJmLHFCekJyQmUsRUFBQTtFRmpCakI7STJCeUNJLGMxQjdEYztJMEI4RGQseUJ6QnpCYTtJeUIwQmIscUJ6QjFCYSxFQUFBO0VGakJqQjtJMkJnREksZ0R6Qi9CYSxFQUFBO0VGakJqQjtJMkJxREksY3pCcENhO0l5QnFDYiw2QkFBNkIsRUFBQTtFM0J0RGpDOztJMkI0REksYzFCaEZjO0kwQmlGZCx5QnpCNUNhO0l5QjZDYixxQnpCN0NhLEVBQUE7SUZqQmpCOztNMkJxRVEsZ0R6QnBEUyxFQUFBOztBRmpCakI7RTJCcUNFLGN6QnZCZTtFeUJ3QmYscUJ6QnhCZSxFQUFBO0VGZGpCO0kyQnlDSSxjMUJ4RGM7STBCeURkLHlCekI1QmE7SXlCNkJiLHFCekI3QmEsRUFBQTtFRmRqQjtJMkJnREksK0N6QmxDYSxFQUFBO0VGZGpCO0kyQnFESSxjekJ2Q2E7SXlCd0NiLDZCQUE2QixFQUFBO0UzQnREakM7O0kyQjRESSxjMUIzRWM7STBCNEVkLHlCekIvQ2E7SXlCZ0RiLHFCekJoRGEsRUFBQTtJRmRqQjs7TTJCcUVRLCtDekJ2RFMsRUFBQTs7QUZkakI7RTJCcUNFLGN6QnpCZTtFeUIwQmYscUJ6QjFCZSxFQUFBO0VGWmpCO0kyQnlDSSxjMUI3RGM7STBCOERkLHlCekI5QmE7SXlCK0JiLHFCekIvQmEsRUFBQTtFRlpqQjtJMkJnREksK0N6QnBDYSxFQUFBO0VGWmpCO0kyQnFESSxjekJ6Q2E7SXlCMENiLDZCQUE2QixFQUFBO0UzQnREakM7O0kyQjRESSxjMUJoRmM7STBCaUZkLHlCekJqRGE7SXlCa0RiLHFCekJsRGEsRUFBQTtJRlpqQjs7TTJCcUVRLCtDekJ6RFMsRUFBQTs7QUZaakI7RTJCcUNFLGN6QnhEZ0I7RXlCeURoQixxQnpCekRnQixFQUFBO0VGbUJsQjtJMkJ5Q0ksYzFCeERjO0kwQnlEZCx5QnpCN0RjO0l5QjhEZCxxQnpCOURjLEVBQUE7RUZtQmxCO0kyQmdESSxpRHpCbkVjLEVBQUE7RUZtQmxCO0kyQnFESSxjekJ4RWM7SXlCeUVkLDZCQUE2QixFQUFBO0UzQnREakM7O0kyQjRESSxjMUIzRWM7STBCNEVkLHlCekJoRmM7SXlCaUZkLHFCekJqRmMsRUFBQTtJRm1CbEI7O00yQnFFUSxpRHpCeEZVLEVBQUE7O0FGbUJsQjtFMkJxQ0UsY3pCakRnQjtFeUJrRGhCLHFCekJsRGdCLEVBQUE7RUZZbEI7STJCeUNJLGMxQjdEYztJMEI4RGQseUJ6QnREYztJeUJ1RGQscUJ6QnZEYyxFQUFBO0VGWWxCO0kyQmdESSw4Q3pCNURjLEVBQUE7RUZZbEI7STJCcURJLGN6QmpFYztJeUJrRWQsNkJBQTZCLEVBQUE7RTNCdERqQzs7STJCNERJLGMxQmhGYztJMEJpRmQseUJ6QnpFYztJeUIwRWQscUJ6QjFFYyxFQUFBO0lGWWxCOztNMkJxRVEsOEN6QmpGVSxFQUFBOztBRllsQjtFMEJ3REUsZ0J4QjRNK0I7RXdCM00vQixjekJyQ2tEO0V5QnNDbEQscUJ4QjJGNEMsRUFBQTtFRnJKOUM7STBCNkRJLGN6QnZDZ0Q7SXlCd0NoRCwwQnhCeUYrQyxFQUFBO0VGdkpuRDtJMEJtRUksMEJ4Qm9GK0MsRUFBQTtFRnZKbkQ7STBCd0VJLGN4QnRGYztJd0J1RmQsb0JBQW9CLEVBQUE7O0ExQnpFeEI7RTJCNkVFLG9CekIwU2dDO0VDblI1QixrQkF0Q1k7RXdCaUJoQixnQnpCK0grQjtFUXZON0IscUJSOE4rQixFQUFBOztBRnJObkM7RTJCNkVFLHVCekJxU2lDO0VDOVE3QixtQkF0Q1k7RXdCaUJoQixnQnpCZ0krQjtFUXhON0IscUJSK04rQixFQUFBOztBRnRObkM7RTBCa0dFLGNBQWM7RUFDZCxXQUFXLEVBQUE7RTFCbkdiO0kwQnVHSSxrQnhCdVQrQixFQUFBOztBRjlabkM7OztFMEJnSEksV0FBVyxFQUFBOztBMUJoSGY7RXNCWE0sZ0NwQmlQMkMsRUFBQTtFb0I3TzNDO0l0Qk9OO01zQk5RLGdCQUFnQixFQUFBLEVNZnZCO0U1QnFCRDtJNEJ2QkksVUFBVSxFQUFBOztBNUJ1QmQ7RTRCakJJLGFBQWEsRUFBQTs7QTVCaUJqQjtFNEJaRSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULGdCQUFnQjtFTkRaLDZCcEJrUHdDLEVBQUE7RW9COU94QztJdEJPTjtNc0JOUSxnQkFBZ0IsRUFBQSxFTUZ2Qjs7QTVCUUQ7Ozs7RTZCdEJFLGtCQUFrQixFQUFBOztBN0JzQnBCO0U2QmxCRSxtQkFBbUIsRUFBQTtFN0JrQnJCO0k4QkdNLHFCQUFxQjtJQUNyQixvQjVCK04wQztJNEI5TjFDLHVCNUI2TjBDO0k0QjVOMUMsV0FBVztJQWhDZix1QkFBOEI7SUFDOUIscUNBQTRDO0lBQzVDLGdCQUFnQjtJQUNoQixvQ0FBMkMsRUFBQTtFOUJ1QjdDO0k4QitCTSxjQUFjLEVBQUE7O0E5Qi9CcEI7RTZCVkUsa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxPQUFPO0VBQ1AsYTNCd3BCc0M7RTJCdnBCdEMsYUFBYTtFQUNiLFdBQVc7RUFDWCxnQjNCZ3VCdUM7RTJCL3RCdkMsaUIzQmd1Qm1DO0UyQi90Qm5DLG9CQUE0QjtFMUJzR3hCLGVBdENZO0UwQjlEaEIsYzVCZW1CO0U0QmRuQixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLHNCNUJqQmE7RTRCa0JiLDRCQUE0QjtFQUM1QiwyQzVCN0JhO0VTZVgsc0JSNk5nQyxFQUFBOztBRnBOcEM7RTZCZU0sV0FBVztFQUNYLE9BQU8sRUFBQTs7QTdCaEJiO0U2Qm9CTSxRQUFRO0VBQ1IsVUFBVSxFQUFBOztBaEJZWjtFYmpDSjtJNkJlTSxXQUFXO0lBQ1gsT0FBTyxFQUFBO0U3QmhCYjtJNkJvQk0sUUFBUTtJQUNSLFVBQVUsRUFBQSxFQUNYOztBaEJXRDtFYmpDSjtJNkJlTSxXQUFXO0lBQ1gsT0FBTyxFQUFBO0U3QmhCYjtJNkJvQk0sUUFBUTtJQUNSLFVBQVUsRUFBQSxFQUNYOztBaEJXRDtFYmpDSjtJNkJlTSxXQUFXO0lBQ1gsT0FBTyxFQUFBO0U3QmhCYjtJNkJvQk0sUUFBUTtJQUNSLFVBQVUsRUFBQSxFQUNYOztBaEJXRDtFYmpDSjtJNkJlTSxXQUFXO0lBQ1gsT0FBTyxFQUFBO0U3QmhCYjtJNkJvQk0sUUFBUTtJQUNSLFVBQVUsRUFBQSxFQUNYOztBN0J0Qkw7RTZCOEJJLFNBQVM7RUFDVCxZQUFZO0VBQ1osYUFBYTtFQUNiLHVCM0I4ckJ1QyxFQUFBOztBRi90QjNDO0U4QkdNLHFCQUFxQjtFQUNyQixvQjVCK04wQztFNEI5TjFDLHVCNUI2TjBDO0U0QjVOMUMsV0FBVztFQXpCZixhQUFhO0VBQ2IscUNBQTRDO0VBQzVDLDBCQUFpQztFQUNqQyxvQ0FBMkMsRUFBQTs7QTlCZ0I3QztFOEIrQk0sY0FBYyxFQUFBOztBOUIvQnBCO0U2QjJDSSxNQUFNO0VBQ04sV0FBVztFQUNYLFVBQVU7RUFDVixhQUFhO0VBQ2IscUIzQmdyQnVDLEVBQUE7O0FGL3RCM0M7RThCR00scUJBQXFCO0VBQ3JCLG9CNUIrTjBDO0U0QjlOMUMsdUI1QjZOMEM7RTRCNU4xQyxXQUFXO0VBbEJmLG1DQUEwQztFQUMxQyxlQUFlO0VBQ2Ysc0NBQTZDO0VBQzdDLHdCQUErQixFQUFBOztBOUJTakM7RThCK0JNLGNBQWMsRUFBQTs7QTlCL0JwQjtFNkJxRE0saUJBQWlCLEVBQUE7O0E3QnJEdkI7RTZCNERJLE1BQU07RUFDTixXQUFXO0VBQ1gsVUFBVTtFQUNWLGFBQWE7RUFDYixzQjNCK3BCdUMsRUFBQTs7QUYvdEIzQztFOEJHTSxxQkFBcUI7RUFDckIsb0I1QitOMEM7RTRCOU4xQyx1QjVCNk4wQztFNEI1TjFDLFdBQVcsRUFBQTs7QTlCTmpCO0U4QmtCUSxhQUFhLEVBQUE7O0E5QmxCckI7RThCc0JRLHFCQUFxQjtFQUNyQixxQjVCNE13QztFNEIzTXhDLHVCNUIwTXdDO0U0QnpNeEMsV0FBVztFQTlCakIsbUNBQTBDO0VBQzFDLHlCQUFnQztFQUNoQyxzQ0FBNkMsRUFBQTs7QTlCRy9DO0U4QitCTSxjQUFjLEVBQUE7O0E5Qi9CcEI7RTZCc0VNLGlCQUFpQixFQUFBOztBN0J0RXZCO0U2QmtGSSxXQUFXO0VBQ1gsWUFBWSxFQUFBOztBN0JuRmhCO0UrQnRCRSxTQUFTO0VBQ1QsZ0JBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQiw2QjlCR2dCLEVBQUE7O0FEZ0JsQjtFNkJnR0UsY0FBYztFQUNkLFdBQVc7RUFDWCx1QjNCbXBCd0M7RTJCbHBCeEMsV0FBVztFQUNYLGdCM0JnSytCO0UyQi9KL0IsYzVCNUhnQjtFNEI2SGhCLG1CQUFtQjtFQUVuQixtQkFBbUI7RUFDbkIsNkJBQTZCO0VBQzdCLFNBQVMsRUFBQTtFN0IxR1g7STZCeUhJLFk1QndCc0Q7STRCdkJ0RCxxQkFBcUI7SUwvSXJCLHlCdkJNYyxFQUFBO0VEZWxCO0k2QmdJSSxXNUI5SVc7STRCK0lYLHFCQUFxQjtJTHRKckIseUJ2QmNrRCxFQUFBO0VET3REO0k2QnVJSSxjNUIzSmM7STRCNEpkLG9CQUFvQjtJQUNwQiw2QkFBNkIsRUFBQTs7QTdCeklqQztFNkJrSkUsY0FBYyxFQUFBOztBN0JsSmhCO0U2QnVKRSxjQUFjO0VBQ2Qsc0IzQjZsQndDO0UyQjVsQnhDLGdCQUFnQjtFMUJyRFosbUJBdENZO0UwQjZGaEIsYzVCL0tnQjtFNEJnTGhCLG1CQUFtQixFQUFBOztBN0I1SnJCO0U2QmlLRSxjQUFjO0VBQ2QsdUIzQm1sQndDO0UyQmxsQnhDLGM1QjFMZ0IsRUFBQTs7QUR1QmxCOztFZ0N0QkUsa0JBQWtCO0VBQ2xCLG9CQUFvQjtFQUNwQixzQkFBc0IsRUFBQTtFaENvQnhCOztJZ0NqQkksa0JBQWtCO0lBQ2xCLGNBQWMsRUFBQTtJaENnQmxCOztNZ0NYTSxVQUFVLEVBQUE7SWhDV2hCOzs7O01nQ05NLFVBQVUsRUFBQTs7QWhDTWhCO0VnQ0NFLGFBQWE7RUFDYixlQUFlO0VBQ2YsMkJBQTJCLEVBQUE7RWhDSDdCO0lnQ01JLFdBQVcsRUFBQTs7QWhDTmY7O0VnQ2NJLGlCOUJtTTZCLEVBQUE7O0FGak5qQzs7RVVPSSwwQnNCYThCO0V0Qlo5Qiw2QnNCWThCLEVBQUE7O0FoQ3BCbEM7O0VVcUJJLHlCc0JJNkI7RXRCSDdCLDRCc0JHNkIsRUFBQTs7QWhDekJqQztFZ0MwQ0Usd0JBQW1DO0VBQ25DLHVCQUFrQyxFQUFBO0VoQzNDcEM7OztJZ0NnREksY0FBYyxFQUFBO0VBR2hCO0lBQ0UsZUFBZSxFQUFBOztBaENwRG5CO0VnQ3lERSx1QkFBc0M7RUFDdEMsc0JBQXFDLEVBQUE7O0FoQzFEdkM7RWdDOERFLHNCQUFzQztFQUN0QyxxQkFBcUMsRUFBQTs7QWhDL0R2QztFZ0NvRkUsc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2Qix1QkFBdUIsRUFBQTtFaEN0RnpCOztJZ0MwRkksV0FBVyxFQUFBO0VoQzFGZjs7SWdDK0ZJLGdCOUJrSDZCLEVBQUE7RUZqTmpDOztJVWNJLDZCc0J1RitCO0l0QnRGL0IsNEJzQnNGK0IsRUFBQTtFaENyR25DOztJVUFJLHlCc0IwRzRCO0l0QnpHNUIsMEJzQnlHNEIsRUFBQTs7QWhDMUdoQzs7RWdDOEhJLGdCQUFnQixFQUFBO0VoQzlIcEI7Ozs7SWdDa0lNLGtCQUFrQjtJQUNsQixzQkFBc0I7SUFDdEIsb0JBQW9CLEVBQUE7O0FoQ3BJMUI7RWlDcEJFLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2IsZUFBZTtFQUNmLG9CQUFvQjtFQUNwQixXQUFXLEVBQUE7RWpDZ0JiOzs7O0lpQ1ZJLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsU0FBUztJQUNULFlBQVk7SUFDWixnQkFBZ0IsRUFBQTtJakNNcEI7Ozs7Ozs7Ozs7OztNaUNETSxpQi9Ca04yQixFQUFBO0VGak5qQzs7O0lpQ09JLFVBQVUsRUFBQTtFakNQZDtJaUNZSSxVQUFVLEVBQUE7RWpDWmQ7O0lVcUJJLHlCdUJKbUQ7SXZCS25ELDRCdUJMbUQsRUFBQTtFakNqQnZEO0lpQ3VCSSxhQUFhO0lBQ2IsbUJBQW1CLEVBQUE7SWpDeEJ2Qjs7TVVxQkkseUJ1Qk1zRTtNdkJMdEUsNEJ1QktzRSxFQUFBO0VqQzNCMUU7OztJVU9JLDBCdUIyQmdDO0l2QjFCaEMsNkJ1QjBCZ0MsRUFBQTtFakNsQ3BDOzs7SVVPSSwwQnVCbUNnQztJdkJsQ2hDLDZCdUJrQ2dDLEVBQUE7O0FqQzFDcEM7O0VpQ3dERSxhQUFhLEVBQUE7RWpDeERmOztJaUM4REksa0JBQWtCO0lBQ2xCLFVBQVUsRUFBQTtJakMvRGQ7O01pQ2tFTSxVQUFVLEVBQUE7RWpDbEVoQjs7Ozs7Ozs7SWlDMEVJLGlCL0J1STZCLEVBQUE7O0FGak5qQztFaUM4RXVCLGtCL0JtSVUsRUFBQTs7QUZqTmpDO0VpQytFc0IsaUIvQmtJVyxFQUFBOztBRmpOakM7RWlDd0ZFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIseUIvQjhRa0M7RStCN1FsQyxnQkFBZ0I7RTlCU1osZUF0Q1k7RThCK0JoQixnQi9CdUsrQjtFK0J0Sy9CLGdCL0IySytCO0UrQjFLL0IsY2hDcEhnQjtFZ0NxSGhCLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIseUJoQ2xIZ0I7RWdDbUhoQix5QmhDckhnQjtFU1NkLHNCUjZOZ0MsRUFBQTtFRnBOcEM7O0lpQ3lHSSxhQUFhLEVBQUE7O0FqQ3pHakI7O0VpQ3FIRSxnQ2Z0QjhELEVBQUE7O0FsQi9GaEU7Ozs7OztFaUM4SEUsb0IvQnlQZ0M7RUNuUjVCLGtCQXRDWTtFOEJrRWhCLGdCL0I4RStCO0VRdk43QixxQlI4TitCLEVBQUE7O0FGck5uQzs7RWlDc0lFLGtDZnZDOEQsRUFBQTs7QWxCL0ZoRTs7Ozs7O0VpQytJRSx1Qi9CbU9pQztFQzlRN0IsbUJBdENZO0U4Qm1GaEIsZ0IvQjhEK0I7RVF4TjdCLHFCUitOK0IsRUFBQTs7QUZ0Tm5DOztFaUN1SkUsc0JBQTBFLEVBQUE7O0FqQ3ZKNUU7Ozs7Ozs7O0VVT0ksMEJ1Qm1LNEI7RXZCbEs1Qiw2QnVCa0s0QixFQUFBOztBakMxS2hDOzs7Ozs7RVVxQkkseUJ1QjhKMkI7RXZCN0ozQiw0QnVCNkoyQixFQUFBOztBakNuTC9CO0VVcUJJLHlCd0I3Q3FDO0V4QjhDckMsNEJ3QjlDcUMsRUFBQTs7QWxDd0J6QztFVU9JLDBCd0IxQnNDO0V4QjJCdEMsNkJ3QjNCc0MsRUFBQTs7QWxDbUIxQztFbUNqQkUsa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixjQUFjO0VBQ2Qsa0JBQStDO0VBQy9DLG9CQUFxRTtFQUNyRSxpQ0FBbUI7VUFBbkIsbUJBQW1CLEVBQUE7O0FuQ1lyQjtFbUNSRSxvQkFBb0I7RUFDcEIsa0JqQ3dmMEMsRUFBQTs7QUZqZjVDO0VtQ0hFLGtCQUFrQjtFQUNsQixPQUFPO0VBQ1AsV0FBVztFQUNYLFdqQ29mMEM7RWlDbmYxQyxlQUFrRjtFQUNsRixVQUFVLEVBQUE7RW5DRlo7SW1DS0ksV2pDekJXO0lpQzBCWCxxQmpDRWE7SXNCN0JiLHlCdEI2QmEsRUFBQTtFRlJqQjtJbUNnQk0sZ0RqQ1JXLEVBQUE7RUZSakI7SW1DcUJJLHFCakNxYnNFLEVBQUE7RUYxYzFFO0ltQ3lCSSxXakM3Q1c7SWlDOENYLHlCakNpZjhFO0lpQ2hmOUUscUJqQ2dmOEUsRUFBQTtFRjNnQmxGO0ltQ21DTSxjakNqRFksRUFBQTtJRmNsQjtNbUNzQ1EseUJqQ3hEVSxFQUFBOztBRmtCbEI7RW1DaURFLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFFaEIsbUJBQW1CLEVBQUE7RW5DcERyQjtJbUN5REksa0JBQWtCO0lBQ2xCLFlBQStFO0lBQy9FLGFBQStEO0lBQy9ELGNBQWM7SUFDZCxXakN1YndDO0lpQ3RieEMsWWpDc2J3QztJaUNyYnhDLG9CQUFvQjtJQUNwQixXQUFXO0lBQ1gsc0JqQ3JGVztJaUNzRlgseUJqQytJNkIsRUFBQTtFRmpOakM7SW1Dd0VJLGtCQUFrQjtJQUNsQixZQUErRTtJQUMvRSxhQUErRDtJQUMvRCxjQUFjO0lBQ2QsV2pDd2F3QztJaUN2YXhDLFlqQ3Vhd0M7SWlDdGF4QyxXQUFXO0lBQ1gsbUNBQWdFLEVBQUE7O0FuQy9FcEU7RVVUSSxzQlI2TmdDLEVBQUE7O0FGcE5wQztFbUMrRk0sa09qQjdENEUsRUFBQTs7QWxCbENsRjtFbUNxR00scUJqQzdGVztFc0I3QmIseUJ0QjZCYSxFQUFBOztBRlJqQjtFbUMwR00sK0tqQnhFNEUsRUFBQTs7QWxCbENsRjtFd0JyQkksd0N0QjZCYSxFQUFBOztBRlJqQjtFd0JyQkksd0N0QjZCYSxFQUFBOztBRlJqQjtFbUMrSEksa0JqQ3laK0MsRUFBQTs7QUZ4aEJuRDtFbUNvSU0sOEtqQmxHNEUsRUFBQTs7QWxCbENsRjtFd0JyQkksd0N0QjZCYSxFQUFBOztBRlJqQjtFbUNxSkUscUJBQTJELEVBQUE7RW5Dcko3RDtJbUN5Sk0sY0FBcUQ7SUFDckQsY2pDaVkrRTtJaUNoWS9FLG1CQUFtQjtJQUVuQixxQmpDK1g0RSxFQUFBO0VGNWhCbEY7SW1DaUtNLHdCakJsRTBEO0lpQm1FMUQsMEJqQm5FMEQ7SWlCb0UxRCx1QmpCaEQwRDtJaUJpRDFELHdCakJqRDBEO0lpQmtEMUQseUJqQ3BMWTtJaUNzTFoscUJqQ3FYNEU7SW9CdmlCNUUseUlwQnlmK0gsRUFBQTtJb0JyZi9IO010Qk9OO1FzQk5RLGdCQUFnQixFQUFBLEVhK0tuQjtFbkN6S0w7SW1DOEtNLHNCakNsTVM7SWlDbU1ULDhCQUE0RSxFQUFBO0VuQy9LbEY7SXdCckJJLHdDdEI2QmEsRUFBQTs7QUZSakI7RW1Da01FLHFCQUFxQjtFQUNyQixXQUFXO0VBQ1gsbUNqQnJHOEQ7RWlCc0c5RCwwQ2pDbUtrQztFQ3BROUIsZUF0Q1k7RWdDMEloQixnQmpDNEQrQjtFaUMzRC9CLGdCakNnRStCO0VpQy9EL0IsY2xDL05nQjtFa0NnT2hCLHNCQUFzQjtFQUN0Qix1T2pDa1crSTtFaUNqVy9JLHlCbEMvTmdCO0VTU2Qsc0JSNk5nQztFaUNKbEMsd0JBQWdCO0tBQWhCLHFCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQTtFbkNoTmxCO0ltQ21OSSxxQmpDdVBzRTtJaUN0UHRFLFVBQVU7SUFLUixnRGpDak5XLEVBQUE7SUZSakI7TW1Da09NLGNsQ3ZQWTtNa0N3UFosc0JsQ2pQUyxFQUFBO0VEY2Y7SW1DeU9JLFlBQVk7SUFDWixzQmpDOEhnQztJaUM3SGhDLHNCQUFzQixFQUFBO0VuQzNPMUI7SW1DK09JLGNsQ25RYztJa0NvUWQseUJsQ2hRYyxFQUFBO0VEZ0JsQjtJbUNxUEksYUFBYSxFQUFBO0VuQ3JQakI7SW1DMFBJLGtCQUFrQjtJQUNsQiwwQmxDaFJjLEVBQUE7O0FEcUJsQjtFbUNnUUUsa0NqQmpLOEQ7RWlCa0s5RCxvQmpDZ0hrQztFaUMvR2xDLHVCakMrR2tDO0VpQzlHbEMsb0JqQytHaUM7RUM5UTdCLG1CQXRDWSxFQUFBOztBSDlEbEI7RW1Dd1FFLGdDakJ6SzhEO0VpQjBLOUQsbUJqQzZHaUM7RWlDNUdqQyxzQmpDNEdpQztFaUMzR2pDLGtCakM0R2dDO0VDblI1QixrQkF0Q1ksRUFBQTs7QUg5RGxCO0VtQ3FSRSxrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLFdBQVc7RUFDWCxtQ2pCekw4RDtFaUIwTDlELGdCQUFnQixFQUFBOztBbkN6UmxCO0VtQzZSRSxrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLFdBQVc7RUFDWCxtQ2pCak04RDtFaUJrTTlELFNBQVM7RUFDVCxnQkFBZ0I7RUFDaEIsVUFBVSxFQUFBO0VuQ25TWjtJbUNzU0kscUJqQ29Lc0U7SWlDbkt0RSxnRGpDL1JhLEVBQUE7RUZSakI7O0ltQzZTSSx5QmpDL1RjLEVBQUE7RUZrQmxCO0ltQ2tUTSxpQmpDMlRRLEVBQUE7RUY3bUJkO0ltQ3VUSSwwQkFBMEIsRUFBQTs7QW5DdlQ5QjtFbUM0VEUsa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixRQUFRO0VBQ1IsT0FBTztFQUNQLFVBQVU7RUFDVixtQ2pCbE84RDtFaUJtTzlELHlCakNzQ2tDO0VpQ3JDbEMsZ0JBQWdCO0VBRWhCLGdCakNqRStCO0VpQ2tFL0IsZ0JqQzdEK0I7RWlDOEQvQixjakNwVmdCO0VpQ3FWaEIsc0JqQzVWYTtFaUM2VmIseUJqQ3pWZ0I7RVFPZCxzQlI2TmdDLEVBQUE7RUZwTnBDO0ltQzhVSSxrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLFFBQVE7SUFDUixTQUFTO0lBQ1QsVUFBVTtJQUNWLGNBQWM7SUFDZCw2QmpCclA0RDtJaUJzUDVELHlCakNtQmdDO0lpQ2xCaEMsZ0JqQzdFNkI7SWlDOEU3QixjakNwV2M7SWlDcVdkLGlCQUFpQjtJWDdXakIseUJ0QkdjO0lpQzRXZCxvQkFBb0I7SXpCbldwQixrQ3lCb1dnRixFQUFBOztBbkMzVnBGO0VtQ3NXRSxXQUFXO0VBQ1gsY2pCM1EyQjtFaUI0UTNCLFVBQVU7RUFDViw2QkFBNkI7RUFDN0Isd0JBQWdCO0tBQWhCLHFCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQTtFbkMxV2xCO0ltQzZXSSxVQUFVLEVBQUE7SW5DN1dkO01tQ2lYOEIsZ0VqQ3pXYixFQUFBO0lGUmpCO01tQ2tYOEIsZ0VqQzFXYixFQUFBO0lGUmpCO01tQ21YOEIsZ0VqQzNXYixFQUFBO0VGUmpCO0ltQ3VYSSxTQUFTLEVBQUE7RW5DdlhiO0ltQzJYSSxXakNtTjZDO0lpQ2xON0MsWWpDa042QztJaUNqTjdDLG9CQUF5RTtJWGxaekUseUJ0QjZCYTtJaUN1WGIsU2pDa04wQztJUTFsQjFDLG1CUjJsQjZDO0lvQjdsQjNDLG9IcEJ5ZitIO0lvQnpmL0gsNEdwQnlmK0g7SWlDM0dqSSx3QkFBZ0I7WUFBaEIsZ0JBQWdCLEVBQUE7SWIxWWQ7TXRCT047UXNCTlEsd0JBQWdCO1FBQWhCLGdCQUFnQixFQUFBLEVhOFlyQjtJbkN4WUg7TXdCckJJLHlCdEIybUIyRSxFQUFBO0VGdGxCL0U7SW1DMllJLFdqQzRMb0M7SWlDM0xwQyxjakM0THFDO0lpQzNMckMsa0JBQWtCO0lBQ2xCLGVqQzJMdUM7SWlDMUx2Qyx5QmpDaGFjO0lpQ2lhZCx5QkFBeUI7SXpCelp6QixtQlJvbEJvQyxFQUFBO0VGM2tCeEM7SW1Dc1pJLFdqQ3dMNkM7SWlDdkw3QyxZakN1TDZDO0lzQm5tQjdDLHlCdEI2QmE7SWlDaVpiLFNqQ3dMMEM7SVExbEIxQyxtQlIybEI2QztJb0I3bEIzQyxpSHBCeWYrSDtJb0J6Zi9ILDRHcEJ5ZitIO0lpQ2pGakkscUJBQWdCO1NBQWhCLGdCQUFnQixFQUFBO0licGFkO010Qk9OO1FzQk5RLHFCQUFnQjtRQUFoQixnQkFBZ0IsRUFBQSxFYXdhckI7SW5DbGFIO013QnJCSSx5QnRCMm1CMkUsRUFBQTtFRnRsQi9FO0ltQ3FhSSxXakNrS29DO0lpQ2pLcEMsY2pDa0txQztJaUNqS3JDLGtCQUFrQjtJQUNsQixlakNpS3VDO0lpQ2hLdkMseUJqQzFiYztJaUMyYmQseUJBQXlCO0l6Qm5iekIsbUJSb2xCb0MsRUFBQTtFRjNrQnhDO0ltQ2diSSxXakM4SjZDO0lpQzdKN0MsWWpDNko2QztJaUM1SjdDLGFBQWE7SUFDYixvQmpDdEUrQjtJaUN1RS9CLG1CakN2RStCO0lzQmxZL0IseUJ0QjZCYTtJaUM4YWIsU2pDMkowQztJUTFsQjFDLG1CUjJsQjZDO0lvQjdsQjNDLGdIcEJ5ZitIO0lvQnpmL0gsNEdwQnlmK0g7SWlDcERqSSxnQkFBZ0IsRUFBQTtJYmpjZDtNdEJPTjtRc0JOUSxvQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBQUEsRWFxY3JCO0luQy9iSDtNd0JyQkkseUJ0QjJtQjJFLEVBQUE7RUZ0bEIvRTtJbUNrY0ksV2pDcUlvQztJaUNwSXBDLGNqQ3FJcUM7SWlDcElyQyxrQkFBa0I7SUFDbEIsZWpDb0l1QztJaUNuSXZDLDZCQUE2QjtJQUM3Qix5QkFBeUI7SUFDekIsb0JBQTRDLEVBQUE7RW5DeGNoRDtJbUM2Y0kseUJqQzlkYztJUVFkLG1CUm9sQm9DLEVBQUE7RUYza0J4QztJbUNrZEksa0JBQWtCO0lBQ2xCLHlCakNwZWM7SVFRZCxtQlJvbEJvQyxFQUFBO0VGM2tCeEM7SW1DeWRNLHlCakN4ZVksRUFBQTtFRmVsQjtJbUM2ZE0sZUFBZSxFQUFBO0VuQzdkckI7SW1DaWVNLHlCakNoZlksRUFBQTtFRmVsQjtJbUNxZU0sZUFBZSxFQUFBO0VuQ3JlckI7SW1DeWVNLHlCakN4ZlksRUFBQTs7QUZlbEI7OztFc0JYTSw0R3BCeWYrSCxFQUFBO0VvQnJmL0g7SXRCT047OztNc0JOUSxnQkFBZ0IsRUFBQSxFYXdmdkI7O0FuQ2xmRDtFb0NyQkUsYUFBYTtFQUNiLGVBQWU7RUFDZixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGdCQUFnQixFQUFBOztBcENpQmxCO0VvQ2JFLGNBQWM7RUFDZCxvQmxDeXFCc0MsRUFBQTtFRjdwQnhDO0lvQ1JJLHFCQUFxQixFQUFBO0VwQ1F6QjtJb0NISSxjbENYYztJa0NZZCxvQkFBb0I7SUFDcEIsZUFBZSxFQUFBOztBcENDbkI7RW9DUUUsbURuQ2hDYSxFQUFBO0VEd0JmO0lvQ1dJLG1CbENzTTZCO0lrQ3JNN0IsNkJBQWdEO0kxQlpoRCwrQlJvTmdDO0lRbk5oQyxnQ1JtTmdDLEVBQUE7SUZwTnBDO01vQ2dCTSx3RG5DeENTLEVBQUE7SUR3QmY7TW9Db0JNLGNsQ2xDWTtNa0NtQ1osNkJBQTZCO01BQzdCLHlCQUF5QixFQUFBO0VwQ3RCL0I7O0lvQzRCSSxjbkNuRGM7SW1Db0RkLHlCbkNmaUI7SW1DZ0JqQixxQ25DaEJpQixFQUFBO0VEZHJCO0lvQ21DSSxnQmxDOEs2QjtJUWpON0IseUIwQnFDNEI7STFCcEM1QiwwQjBCb0M0QixFQUFBOztBcENyQ2hDO0VVVEksc0JSNk5nQyxFQUFBOztBRnBOcEM7O0VvQ3FESSxXbEN6RVc7RWtDMEVYLHlCbEM5Q2EsRUFBQTs7QUZSakI7O0VvQ2tFSSxjQUFjO0VBQ2Qsa0JBQWtCLEVBQUE7O0FwQ25FdEI7O0VvQzBFSSxhQUFhO0VBQ2IsWUFBWTtFQUNaLGtCQUFrQixFQUFBOztBcEM1RXRCO0VvQ3VGSSxhQUFhLEVBQUE7O0FwQ3ZGakI7RW9DMEZJLGNBQWMsRUFBQTs7QXBDMUZsQjtFcUNURSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIsOEJBQThCO0VBQzlCLG9CbkNnSFcsRUFBQTtFRjVHYjs7SXFDQ0ksYUFBYTtJQUNiLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsOEJBQThCLEVBQUE7O0FyQ0psQztFcUN5QkUscUJBQXFCO0VBQ3JCLHNCbkNpcUIrRTtFbUNocUIvRSx5Qm5DZ3FCK0U7RW1DL3BCL0Usa0JuQ2dGVztF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QjtNcUNtTFUsaUJBQWlCLEVBQUE7SXJDbkwzQjtNcUN1TFUsd0JBQXdCO01BR3hCLGdCQUFnQixFQUFBO0lyQzFMMUI7TXFDOExVLGFBQWEsRUFBQSxFQUNkOztBckMvTFQ7RXFDa0pRLHFCQUFxQjtFQUNyQiwyQkFBMkIsRUFBQTtFckNuSm5DOztJcUNpSVUsZ0JBQWdCO0lBQ2hCLGVBQWUsRUFBQTtFckNsSXpCO0lxQ3NKVSxtQkFBbUIsRUFBQTtJckN0SjdCO01xQ3lKWSxrQkFBa0IsRUFBQTtJckN6SjlCO01xQzZKWSxxQm5Dd2hCNkI7TW1DdmhCN0Isb0JuQ3VoQjZCLEVBQUE7RUZyckJ6Qzs7SXFDb0tVLGlCQUFpQixFQUFBO0VyQ3BLM0I7SXFDbUxVLGlCQUFpQixFQUFBO0VyQ25MM0I7SXFDdUxVLHdCQUF3QjtJQUd4QixnQkFBZ0IsRUFBQTtFckMxTDFCO0lxQzhMVSxhQUFhLEVBQUE7O0FyQzlMdkI7RXFDNk1JLHlCbkN2TlcsRUFBQTtFRlVmO0lxQ2dOTSx5Qm5DMU5TLEVBQUE7O0FGVWY7RXFDc05NLHlCbkNoT1MsRUFBQTtFRlVmO0lxQ3lOUSx5Qm5Dbk9PLEVBQUE7RUZVZjtJcUM2TlEseUJuQ3ZPTyxFQUFBOztBRlVmOzs7O0VxQ3FPTSx5Qm5DL09TLEVBQUE7O0FGVWY7RXFDME9JLHlCbkNwUFc7RW1DcVBYLGdDbkNyUFcsRUFBQTs7QUZVZjtFcUMrT0ksbVJuQjdNOEUsRUFBQTs7QWxCbENsRjtFcUNtUEkseUJuQzdQVyxFQUFBO0VGVWY7SXFDcVBNLHlCbkMvUFMsRUFBQTtJRlVmO01xQ3dQUSx5Qm5DbFFPLEVBQUE7O0FGVWY7RXFDaVFJLFduQ3JSVyxFQUFBO0VGb0JmO0lxQ29RTSxXbkN4UlMsRUFBQTs7QUZvQmY7RXFDMFFNLCtCbkM5UlMsRUFBQTtFRm9CZjtJcUM2UVEsZ0NuQ2pTTyxFQUFBO0VGb0JmO0lxQ2lSUSxnQ25DclNPLEVBQUE7O0FGb0JmOzs7Ozs7O0VxQ3lSTSxXbkM3U1MsRUFBQTs7QUZvQmY7RXFDOFJJLCtCbkNsVFc7RW1DbVRYLHNDbkNuVFcsRUFBQTs7QUZvQmY7RXFDbVNJLHlSbkJqUThFLEVBQUE7O0FsQmxDbEY7RXFDdVNJLCtCbkMzVFcsRUFBQTtFRm9CZjtJcUN5U00sV25DN1RTLEVBQUE7SUZvQmY7TXFDNFNRLFduQ2hVTyxFQUFBOztBRm9CZjtFc0N0QkUsa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsWUFBWTtFQUVaLHFCQUFxQjtFQUNyQix5QnJDQ2dCO0VxQ0FoQiwyQkFBMkI7RUFDM0IsNENyQ1ZhO0VTZVgsc0JSNk5nQyxFQUFBO0VGcE5wQztJc0NWSSxlQUFlO0lBQ2YsY0FBYyxFQUFBO0V0Q1NsQjtJc0NMSSxtQkFBbUI7SUFDbkIsc0JBQXNCLEVBQUE7SXRDSTFCO01zQ0RNLG1CQUFtQjtNNUJDckIsMkNRbUg0RDtNUmxINUQsNENRa0g0RCxFQUFBO0lsQm5IaEU7TXNDSU0sc0JBQXNCO001QlV4QiwrQ1FxRzREO01ScEc1RCw4Q1FvRzRELEVBQUE7RWxCbkhoRTs7SXNDYUksYUFBYSxFQUFBOztBdENiakI7RXNDb0JFLGNBQWM7RUFHZCxlQUFlO0VBQ2YsZ0JwQzh3QnlDLEVBQUE7O0FGdHlCM0M7RXNDNkJFLHNCcEN3d0J3QyxFQUFBOztBRnJ5QjFDO0VzQ2lDRSxxQkFBK0I7RUFDL0IsZ0JBQWdCLEVBQUE7O0F0Q2xDbEI7RXNDc0NFLGdCQUFnQixFQUFBOztBdEN0Q2xCO0VzQzJDSSxxQkFBcUIsRUFBQTs7QXRDM0N6QjtFc0MrQ0ksb0JwQ3V2QnVDLEVBQUE7O0FGdHlCM0M7RXNDd0RFLHdCcEM4dUJ5QztFb0M3dUJ6QyxnQkFBZ0I7RUFFaEIsMkNyQ25GYTtFcUNvRmIsbURyQ3BGYSxFQUFBO0VEd0JmO0lVVEksMEQ0QndFOEUsRUFBQTs7QXRDL0RsRjtFc0NvRUUsd0JwQ2t1QnlDO0VvQ2h1QnpDLDJDckM5RmE7RXFDK0ZiLGdEckMvRmEsRUFBQTtFRHdCZjtJVVRJLDBEUTRINEQsRUFBQTs7QWxCbkhoRTtFc0NvRkUsdUJBQWlDO0VBQ2pDLHVCcENndEJ3QztFb0Mvc0J4QyxzQkFBZ0M7RUFDaEMsZ0JBQWdCLEVBQUE7O0F0Q3ZGbEI7RXNDMkZFLHVCQUFpQztFQUNqQyxzQkFBZ0MsRUFBQTs7QXRDNUZsQztFc0NpR0Usa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixRQUFRO0VBQ1IsU0FBUztFQUNULE9BQU87RUFDUCxnQnBDMnNCeUM7RVExekJ2QyxrQ1E0SDRELEVBQUE7O0FsQm5IaEU7OztFc0M2R0UsY0FBYztFQUNkLFdBQVcsRUFBQTs7QXRDOUdiOztFVUFJLDJDUW1INEQ7RVJsSDVELDRDUWtINEQsRUFBQTs7QWxCbkhoRTs7RVVjSSwrQ1FxRzREO0VScEc1RCw4Q1FvRzRELEVBQUE7O0FsQm5IaEU7RXNDZ0lJLG1CcENtckJzRCxFQUFBOztBV2x4QnREO0ViakNKO0lzQ29JSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLG1CcEM2cUJzRDtJb0M1cUJ0RCxrQnBDNHFCc0QsRUFBQTtJRm56QjFEO01zQzJJTSxZQUFZO01BQ1osa0JwQ3VxQm9EO01vQ3RxQnBELGdCQUFnQjtNQUNoQixpQnBDcXFCb0QsRUFBQSxFb0NwcUJyRDs7QXRDL0lMO0VzQzRKSSxtQnBDdXBCc0QsRUFBQTs7QVdseEJ0RDtFYmpDSjtJc0NnS0ksYUFBYTtJQUNiLG1CQUFtQixFQUFBO0l0Q2pLdkI7TXNDc0tNLFlBQVk7TUFDWixnQkFBZ0IsRUFBQTtNdEN2S3RCO1FzQzBLUSxjQUFjO1FBQ2QsY0FBYyxFQUFBO010QzNLdEI7UVVPSSwwQjRCMEtvQztRNUJ6S3BDLDZCNEJ5S29DLEVBQUE7UXRDakx4Qzs7VXNDc0xZLDBCQUEwQixFQUFBO1F0Q3RMdEM7O1VzQzJMWSw2QkFBNkIsRUFBQTtNdEMzTHpDO1FVcUJJLHlCNEIyS21DO1E1QjFLbkMsNEI0QjBLbUMsRUFBQTtRdENoTXZDOztVc0NxTVkseUJBQXlCLEVBQUE7UXRDck1yQzs7VXNDME1ZLDRCQUE0QixFQUFBLEVBQzdCOztBdEMzTVg7RXNDeU5JLHNCcEM0a0JzQyxFQUFBOztBV3B3QnRDO0ViakNKO0lzQzZOSSxvQnBDeWxCaUM7U29DemxCakMsZXBDeWxCaUM7SW9DeGxCakMsd0JwQ3lsQnVDO1NvQ3psQnZDLG1CcEN5bEJ1QztJb0N4bEJ2QyxVQUFVO0lBQ1YsU0FBUyxFQUFBO0l0Q2hPYjtNc0NtT00scUJBQXFCO01BQ3JCLFdBQVcsRUFBQSxFQUNaOztBdENyT0w7RXNDK09FLHFCQUFxQixFQUFBO0V0Qy9PdkI7SXNDa1BJLGdCQUFnQixFQUFBO0l0Q2xQcEI7TXNDcVBNLGdCQUFnQjtNNUJ2T2xCLDZCNEJ3T2lDO001QnZPakMsNEI0QnVPaUMsRUFBQTtJdEN0UHJDO01VQUkseUI0QjBQOEI7TTVCelA5QiwwQjRCeVA4QixFQUFBO0l0QzFQbEM7TVVUSSxnQjRCdVEwQjtNQUN4QixtQnBDOUMyQixFQUFBOztBRmpOakM7RXVDMUJFLGFBQWE7RUFDYixlQUFlO0VBQ2YscUJyQ2lpQ3NDO0VxQ2hpQ3RDLG1CckNtaUNzQztFcUNqaUN0QyxnQkFBZ0I7RUFDaEIseUJ0Q0lnQjtFU09kLHNCUjZOZ0MsRUFBQTs7QUZwTnBDO0V1Q2JJLG9CckN1aENxQyxFQUFBO0VGMWdDekM7SXVDVk0sV0FBVztJQUNYLHFCckNtaENtQztJcUNsaENuQyxjdENaWTtJc0NhWixZckN3aEN1QyxFQUFBOztBRmpoQzdDO0V1Q0lJLDBCQUEwQixFQUFBOztBdkNKOUI7RXVDUUkscUJBQXFCLEVBQUE7O0F2Q1J6QjtFdUNZSSxjdENoQ2MsRUFBQTs7QURvQmxCO0V3QzFCRSxhQUFhO0VqQ0diLGVBQWU7RUFDZixnQkFBZ0I7RUdhZCxzQlI2TmdDLEVBQUE7O0FGcE5wQztFd0NwQkUsa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCx1QnRDZ3hCd0M7RXNDL3dCeEMsaUJ0Q2tPK0I7RXNDak8vQixpQnRDbXhCc0M7RXNDbHhCdEMsY3ZDbUNrRDtFdUNqQ2xELHNCdkNEYTtFdUNFYix5QnZDTGdCLEVBQUE7RURpQmxCO0l3Q1RJLFVBQVU7SUFDVixjdkM4QmdEO0l1QzdCaEQscUJBQXFCO0lBQ3JCLHlCdkNWYztJdUNXZCxxQnZDWmMsRUFBQTtFRGlCbEI7SXdDREksVUFBVTtJQUNWLFV0QzJ3QmlDO0lzQzF3QmpDLGdEdENPYSxFQUFBOztBRlJqQjtFd0NRTSxjQUFjO0U5QmFoQiwrQlIrTGdDO0VROUxoQyxrQ1I4TGdDLEVBQUE7O0FGcE5wQztFVU9JLGdDUjZNZ0M7RVE1TWhDLG1DUjRNZ0MsRUFBQTs7QUZwTnBDO0V3Q21CSSxVQUFVO0VBQ1YsV3ZDbENXO0V1Q21DWCx5QnZDNUJrRDtFdUM2QmxELHFCdkM3QmtELEVBQUE7O0FET3REO0V3QzBCSSxjdkM5Q2M7RXVDK0NkLG9CQUFvQjtFQUVwQixZQUFZO0VBQ1osc0J2QzVDVztFdUM2Q1gscUJ2Q2hEYyxFQUFBOztBRGlCbEI7RXlDdkJJLHVCdkN5eEJzQztFQzlwQnBDLGtCQXRDWTtFc0NuRmQsZ0J2Q21PNkIsRUFBQTs7QUY5TWpDO0VVcUJJLDhCUmdNK0I7RVEvTC9CLGlDUitMK0IsRUFBQTs7QUZyTm5DO0VVT0ksK0JSOE0rQjtFUTdNL0Isa0NSNk0rQixFQUFBOztBRnJObkM7RXlDdkJJLHVCdkN1eEJxQztFQzVwQm5DLG1CQXRDWTtFc0NuRmQsZ0J2Q29PNkIsRUFBQTs7QUYvTWpDO0VVcUJJLDhCUmlNK0I7RVFoTS9CLGlDUmdNK0IsRUFBQTs7QUZ0Tm5DO0VVT0ksK0JSK00rQjtFUTlNL0Isa0NSOE0rQixFQUFBOztBRnRObkM7RTBDckJFLHFCQUFxQjtFQUNyQixxQnhDMDVCc0M7RUN6MUJwQyxjQUFXO0V1Qy9EYixnQnhDdVIrQjtFd0N0Ui9CLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLHdCQUF3QjtFaENLdEIsc0JSNk5nQztFb0IvTjlCLHFJcEJnYjZJLEVBQUE7RW9CNWE3STtJdEJPTjtNc0JOUSxnQkFBZ0IsRUFBQSxFb0JNdkI7RUNYQztJREdJLHFCQUFxQixFQUFBO0UxQ1EzQjtJMENGSSxhQUFhLEVBQUE7O0ExQ0VqQjtFMENJRSxrQkFBa0I7RUFDbEIsU0FBUyxFQUFBOztBMUNMWDtFMENhRSxvQnhDKzNCc0M7RXdDOTNCdEMsbUJ4QzgzQnNDO0VRcjVCcEMsb0JSdzVCcUMsRUFBQTs7QUYvNEJ6QztFNEMxQkUsYzNDTWdCO0UyQ0xoQix5QjFDaUNlLEVBQUE7RXlDbkJmO0lDVkksYzNDQ1k7STJDQVoseUJBQWtDLEVBQUE7RUFIOUI7SUFRSixVQUFVO0lBQ1YsK0MxQ3NCVyxFQUFBOztBRlJqQjtFNEMxQkUsYzNDTWdCO0UyQ0xoQix5QjFDV2dCLEVBQUE7RXlDR2hCO0lDVkksYzNDQ1k7STJDQVoseUJBQWtDLEVBQUE7RUFIOUI7SUFRSixVQUFVO0lBQ1YsaUQxQ0FZLEVBQUE7O0FGY2xCO0U0QzFCRSxjM0NNZ0I7RTJDTGhCLHlCMUN3Q2UsRUFBQTtFeUMxQmY7SUNWSSxjM0NDWTtJMkNBWix5QkFBa0MsRUFBQTtFQUg5QjtJQVFKLFVBQVU7SUFDViwrQzFDNkJXLEVBQUE7O0FGZmpCO0U0QzFCRSxjM0NNZ0I7RTJDTGhCLHlCMUMwQ2UsRUFBQTtFeUM1QmY7SUNWSSxjM0NDWTtJMkNBWix5QkFBa0MsRUFBQTtFQUg5QjtJQVFKLFVBQVU7SUFDVixnRDFDK0JXLEVBQUE7O0FGakJqQjtFNEMxQkUsYzNDV2dCO0UyQ1ZoQix5QjFDdUNlLEVBQUE7RXlDekJmO0lDVkksYzNDTVk7STJDTFoseUJBQWtDLEVBQUE7RUFIOUI7SUFRSixVQUFVO0lBQ1YsK0MxQzRCVyxFQUFBOztBRmRqQjtFNEMxQkUsYzNDTWdCO0UyQ0xoQix5QjFDcUNlLEVBQUE7RXlDdkJmO0lDVkksYzNDQ1k7STJDQVoseUJBQWtDLEVBQUE7RUFIOUI7SUFRSixVQUFVO0lBQ1YsK0MxQzBCVyxFQUFBOztBRlpqQjtFNEMxQkUsYzNDV2dCO0UyQ1ZoQix5QjFDTWdCLEVBQUE7RXlDUWhCO0lDVkksYzNDTVk7STJDTFoseUJBQWtDLEVBQUE7RUFIOUI7SUFRSixVQUFVO0lBQ1YsaUQxQ0xZLEVBQUE7O0FGbUJsQjtFNEMxQkUsYzNDTWdCO0UyQ0xoQix5QjFDYWdCLEVBQUE7RXlDQ2hCO0lDVkksYzNDQ1k7STJDQVoseUJBQWtDLEVBQUE7RUFIOUI7SUFRSixVQUFVO0lBQ1YsOEMxQ0VZLEVBQUE7O0FGWWxCO0U2QzFCRSxrQkFBb0Q7RUFDcEQsbUIzQ3V6QnNDO0UyQ3J6QnRDLHlCNUNPZ0I7RVNPZCxxQlI4TitCLEVBQUE7RVdwTC9CO0liakNKO002Q25CSSxrQjNDaXpCb0MsRUFBQSxFMkMveUJ2Qzs7QTdDaUJEO0U2Q2RFLGdCQUFnQjtFQUNoQixlQUFlO0VuQ0liLGdCbUNIc0IsRUFBQTs7QTdDWTFCO0U4Q3RCRSxrQkFBa0I7RUFDbEIsd0I1Q3U5QnlDO0U0Q3Q5QnpDLG1CNUN1OUJzQztFNEN0OUJ0Qyw2QkFBNkM7RXBDVTNDLHNCUjZOZ0MsRUFBQTs7QUZwTnBDO0U4Q1pFLGNBQWMsRUFBQTs7QTlDWWhCO0U4Q1BFLGdCNUM0UStCLEVBQUE7O0FGclFqQztFOENFRSxtQkFBc0QsRUFBQTtFOUNGeEQ7SThDTUksa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixRQUFRO0lBQ1IsVUFBVTtJQUNWLHdCNUN3N0J1QztJNEN2N0J2QyxjQUFjLEVBQUE7O0E5Q1hsQjtFK0MxQkUsYzdCd0dnRTtFTW5HOUQseUJObUc4RDtFNkJ0R2hFLHFCN0JzR2dFLEVBQUE7RWxCOUVsRTtJK0NyQkkseUJBQXFDLEVBQUE7RS9DcUJ6QztJK0NqQkksY0FBMEIsRUFBQTs7QS9DaUI5QjtFK0MxQkUsYzdCd0dnRTtFTW5HOUQseUJObUc4RDtFNkJ0R2hFLHFCN0JzR2dFLEVBQUE7RWxCOUVsRTtJK0NyQkkseUJBQXFDLEVBQUE7RS9DcUJ6QztJK0NqQkksY0FBMEIsRUFBQTs7QS9DaUI5QjtFK0MxQkUsYzdCd0dnRTtFTW5HOUQseUJObUc4RDtFNkJ0R2hFLHFCN0JzR2dFLEVBQUE7RWxCOUVsRTtJK0NyQkkseUJBQXFDLEVBQUE7RS9DcUJ6QztJK0NqQkksY0FBMEIsRUFBQTs7QS9DaUI5QjtFK0MxQkUsYzdCd0dnRTtFTW5HOUQseUJObUc4RDtFNkJ0R2hFLHFCN0JzR2dFLEVBQUE7RWxCOUVsRTtJK0NyQkkseUJBQXFDLEVBQUE7RS9DcUJ6QztJK0NqQkksY0FBMEIsRUFBQTs7QS9DaUI5QjtFK0MxQkUsYzdCd0dnRTtFTW5HOUQseUJObUc4RDtFNkJ0R2hFLHFCN0JzR2dFLEVBQUE7RWxCOUVsRTtJK0NyQkkseUJBQXFDLEVBQUE7RS9DcUJ6QztJK0NqQkksY0FBMEIsRUFBQTs7QS9DaUI5QjtFK0MxQkUsYzdCd0dnRTtFTW5HOUQseUJObUc4RDtFNkJ0R2hFLHFCN0JzR2dFLEVBQUE7RWxCOUVsRTtJK0NyQkkseUJBQXFDLEVBQUE7RS9DcUJ6QztJK0NqQkksY0FBMEIsRUFBQTs7QS9DaUI5QjtFK0MxQkUsYzdCd0dnRTtFTW5HOUQseUJObUc4RDtFNkJ0R2hFLHFCN0JzR2dFLEVBQUE7RWxCOUVsRTtJK0NyQkkseUJBQXFDLEVBQUE7RS9DcUJ6QztJK0NqQkksY0FBMEIsRUFBQTs7QS9DaUI5QjtFK0MxQkUsYzdCd0dnRTtFTW5HOUQseUJObUc4RDtFNkJ0R2hFLHFCN0JzR2dFLEVBQUE7RWxCOUVsRTtJK0NyQkkseUJBQXFDLEVBQUE7RS9DcUJ6QztJK0NqQkksY0FBMEIsRUFBQTs7QUNSNUI7RUFDRTtJQUFPLDJCQUF1QyxFQUFBO0VBQzlDO0lBQUssd0JBQXdCLEVBQUEsRUFBQTs7QUFGL0I7RUFDRTtJQUFPLDJCQUF1QyxFQUFBO0VBQzlDO0lBQUssd0JBQXdCLEVBQUEsRUFBQTs7QWhEdUJqQztFZ0RsQkUsYUFBYTtFQUNiLFk5Q2crQnNDO0U4Qy85QnRDLGdCQUFnQjtFQUNoQixjQUFjO0U3Q21IVixrQkF0Q1k7RTZDM0VoQix5QjlDTGdCO0VRU2Qsc0JSNk5nQyxFQUFBOztBRnBOcEM7RWdEUEUsYUFBYTtFQUNiLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsZ0JBQWdCO0VBQ2hCLFc5Q2pCYTtFOENrQmIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQix5QjlDUWU7RW9CbkJYLDJCcEJrK0I0QyxFQUFBO0VvQjk5QjVDO0l0Qk9OO01zQk5RLGdCQUFnQixFQUFBLEUwQlF2Qjs7QWhERkQ7RXdCZ0JFLHFNQUE2STtFd0JWN0ksMEI5Q3k4QnNDLEVBQUE7O0FGLzhCeEM7RWdEV0ksMERBQThEO1VBQTlELGtEQUE4RCxFQUFBO0VBRzVEO0loRGROO01nRGVRLHVCQUFlO2NBQWYsZUFBZSxFQUFBLEVBR3BCOztBaERsQkg7RWlEMUJFLGFBQWE7RUFDYix1QkFBdUIsRUFBQTs7QWpEeUJ6QjtFaURyQkUsT0FBTyxFQUFBOztBakRxQlQ7RWtEdEJFLGFBQWE7RUFDYixzQkFBc0I7RUFHdEIsZUFBZTtFQUNmLGdCQUFnQjtFeENRZCxzQlI2TmdDLEVBQUE7O0FGcE5wQztFa0RORSxXQUFXO0VBQ1gsY2pEaEJnQjtFaURpQmhCLG1CQUFtQixFQUFBO0VsRElyQjtJa0RBSSxVQUFVO0lBQ1YsY2pEdEJjO0lpRHVCZCxxQkFBcUI7SUFDckIseUJqRGxCYyxFQUFBO0VEZWxCO0lrRE9JLGNqRFFpQjtJaURQakIseUJqRHhCYyxFQUFBOztBRGdCbEI7RWtEa0JFLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2Qsd0JoRCs4QnlDO0VnRDU4QnpDLHdDakRUbUI7RWlEVW5CLDRDakRoRGEsRUFBQTtFRHdCZjtJVUFJLCtCd0MyQmtDO0l4QzFCbEMsZ0N3QzBCa0MsRUFBQTtFbEQzQnRDO0lVY0ksbUN3Q2lCcUM7SXhDaEJyQyxrQ3dDZ0JxQyxFQUFBO0VsRC9CekM7SWtEb0NJLGNqRHhEYztJaUR5RGQsb0JBQW9CO0lBQ3BCLHdDakR4QmlCLEVBQUE7RURkckI7SWtEMkNJLFVBQVU7SUFDVixXakQxRFc7SWlEMkRYLHlCakRwRGtEO0lpRHFEbEQscUJqRHJEa0QsRUFBQTtFRE90RDtJa0RrREksbUJBQW1CLEVBQUE7SWxEbER2QjtNa0RxRE0sZ0JoRDRKMkI7TWdEM0ozQixxQmhEMkoyQixFQUFBOztBRmpOakM7RWtEcUVNLG1CQUFtQixFQUFBO0VsRHJFekI7SVU4Q0ksa0NSc0tnQztJUWxMaEMsMEJ3Q3dDd0MsRUFBQTtFbEQxRTVDO0lVa0NJLGdDUmtMZ0M7SVF0S2hDLDRCd0NpQzBDLEVBQUE7RWxEL0U5QztJa0RtRlUsYUFBYSxFQUFBO0VsRG5GdkI7SWtEdUZVLHFCaEQwSHVCO0lnRHpIdkIsb0JBQW9CLEVBQUE7SWxEeEY5QjtNa0QyRlksaUJoRHNIcUI7TWdEckhyQixzQmhEcUhxQixFQUFBOztBV2hMN0I7RWJqQ0o7SWtEcUVNLG1CQUFtQixFQUFBO0lsRHJFekI7TVU4Q0ksa0NSc0tnQztNUWxMaEMsMEJ3Q3dDd0MsRUFBQTtJbEQxRTVDO01Va0NJLGdDUmtMZ0M7TVF0S2hDLDRCd0NpQzBDLEVBQUE7SWxEL0U5QztNa0RtRlUsYUFBYSxFQUFBO0lsRG5GdkI7TWtEdUZVLHFCaEQwSHVCO01nRHpIdkIsb0JBQW9CLEVBQUE7TWxEeEY5QjtRa0QyRlksaUJoRHNIcUI7UWdEckhyQixzQmhEcUhxQixFQUFBLEVnRHBIdEI7O0FyQzVEUDtFYmpDSjtJa0RxRU0sbUJBQW1CLEVBQUE7SWxEckV6QjtNVThDSSxrQ1JzS2dDO01RbExoQywwQndDd0N3QyxFQUFBO0lsRDFFNUM7TVVrQ0ksZ0NSa0xnQztNUXRLaEMsNEJ3Q2lDMEMsRUFBQTtJbEQvRTlDO01rRG1GVSxhQUFhLEVBQUE7SWxEbkZ2QjtNa0R1RlUscUJoRDBIdUI7TWdEekh2QixvQkFBb0IsRUFBQTtNbER4RjlCO1FrRDJGWSxpQmhEc0hxQjtRZ0RySHJCLHNCaERxSHFCLEVBQUEsRWdEcEh0Qjs7QXJDNURQO0ViakNKO0lrRHFFTSxtQkFBbUIsRUFBQTtJbERyRXpCO01VOENJLGtDUnNLZ0M7TVFsTGhDLDBCd0N3Q3dDLEVBQUE7SWxEMUU1QztNVWtDSSxnQ1JrTGdDO01RdEtoQyw0QndDaUMwQyxFQUFBO0lsRC9FOUM7TWtEbUZVLGFBQWEsRUFBQTtJbERuRnZCO01rRHVGVSxxQmhEMEh1QjtNZ0R6SHZCLG9CQUFvQixFQUFBO01sRHhGOUI7UWtEMkZZLGlCaERzSHFCO1FnRHJIckIsc0JoRHFIcUIsRUFBQSxFZ0RwSHRCOztBckM1RFA7RWJqQ0o7SWtEcUVNLG1CQUFtQixFQUFBO0lsRHJFekI7TVU4Q0ksa0NSc0tnQztNUWxMaEMsMEJ3Q3dDd0MsRUFBQTtJbEQxRTVDO01Va0NJLGdDUmtMZ0M7TVF0S2hDLDRCd0NpQzBDLEVBQUE7SWxEL0U5QztNa0RtRlUsYUFBYSxFQUFBO0lsRG5GdkI7TWtEdUZVLHFCaEQwSHVCO01nRHpIdkIsb0JBQW9CLEVBQUE7TWxEeEY5QjtRa0QyRlksaUJoRHNIcUI7UWdEckhyQixzQmhEcUhxQixFQUFBLEVnRHBIdEI7O0FsRDdGWDtFVVRJLGdCd0NvSHNCLEVBQUE7RWxEM0cxQjtJa0Q4R0kscUJoRG1HNkIsRUFBQTtJRmpOakM7TWtEaUhNLHNCQUFzQixFQUFBOztBbERqSDVCO0VtRHZCSSxjakNxRzhEO0VpQ3BHOUQseUJqQ29HOEQsRUFBQTtFbEI5RWxFO0ltRGxCUSxjakNnRzBEO0lpQy9GMUQseUJBQXlDLEVBQUE7RW5EaUJqRDtJbURiUSxXbERYTztJa0RZUCx5QmpDMEYwRDtJaUN6RjFELHFCakN5RjBELEVBQUE7O0FsQjlFbEU7RW1EdkJJLGNqQ3FHOEQ7RWlDcEc5RCx5QmpDb0c4RCxFQUFBO0VsQjlFbEU7SW1EbEJRLGNqQ2dHMEQ7SWlDL0YxRCx5QkFBeUMsRUFBQTtFbkRpQmpEO0ltRGJRLFdsRFhPO0lrRFlQLHlCakMwRjBEO0lpQ3pGMUQscUJqQ3lGMEQsRUFBQTs7QWxCOUVsRTtFbUR2QkksY2pDcUc4RDtFaUNwRzlELHlCakNvRzhELEVBQUE7RWxCOUVsRTtJbURsQlEsY2pDZ0cwRDtJaUMvRjFELHlCQUF5QyxFQUFBO0VuRGlCakQ7SW1EYlEsV2xEWE87SWtEWVAseUJqQzBGMEQ7SWlDekYxRCxxQmpDeUYwRCxFQUFBOztBbEI5RWxFO0VtRHZCSSxjakNxRzhEO0VpQ3BHOUQseUJqQ29HOEQsRUFBQTtFbEI5RWxFO0ltRGxCUSxjakNnRzBEO0lpQy9GMUQseUJBQXlDLEVBQUE7RW5EaUJqRDtJbURiUSxXbERYTztJa0RZUCx5QmpDMEYwRDtJaUN6RjFELHFCakN5RjBELEVBQUE7O0FsQjlFbEU7RW1EdkJJLGNqQ3FHOEQ7RWlDcEc5RCx5QmpDb0c4RCxFQUFBO0VsQjlFbEU7SW1EbEJRLGNqQ2dHMEQ7SWlDL0YxRCx5QkFBeUMsRUFBQTtFbkRpQmpEO0ltRGJRLFdsRFhPO0lrRFlQLHlCakMwRjBEO0lpQ3pGMUQscUJqQ3lGMEQsRUFBQTs7QWxCOUVsRTtFbUR2QkksY2pDcUc4RDtFaUNwRzlELHlCakNvRzhELEVBQUE7RWxCOUVsRTtJbURsQlEsY2pDZ0cwRDtJaUMvRjFELHlCQUF5QyxFQUFBO0VuRGlCakQ7SW1EYlEsV2xEWE87SWtEWVAseUJqQzBGMEQ7SWlDekYxRCxxQmpDeUYwRCxFQUFBOztBbEI5RWxFO0VtRHZCSSxjakNxRzhEO0VpQ3BHOUQseUJqQ29HOEQsRUFBQTtFbEI5RWxFO0ltRGxCUSxjakNnRzBEO0lpQy9GMUQseUJBQXlDLEVBQUE7RW5EaUJqRDtJbURiUSxXbERYTztJa0RZUCx5QmpDMEYwRDtJaUN6RjFELHFCakN5RjBELEVBQUE7O0FsQjlFbEU7RW1EdkJJLGNqQ3FHOEQ7RWlDcEc5RCx5QmpDb0c4RCxFQUFBO0VsQjlFbEU7SW1EbEJRLGNqQ2dHMEQ7SWlDL0YxRCx5QkFBeUMsRUFBQTtFbkRpQmpEO0ltRGJRLFdsRFhPO0lrRFlQLHlCakMwRjBEO0lpQ3pGMUQscUJqQ3lGMEQsRUFBQTs7QWxCOUVsRTtFb0QxQkUsWUFBWTtFakQ4SFIsaUJBdENZO0VpRHRGaEIsZ0JsRDZSK0I7RWtENVIvQixjQUFjO0VBQ2QsV25ERmE7RW1ER2IseUJuRE9hO0VtRE5iLFdBQVcsRUFBQTtFcERvQmI7SW9EaEJJLFduRFJXO0ltRFNYLHFCQUFxQixFQUFBO0VwRGV6QjtJb0RWTSxZQUFZLEVBQUE7O0FwRFVsQjtFb0RFRSxVQUFVO0VBQ1YsNkJBQTZCO0VBQzdCLFNBQVMsRUFBQTs7QXBESlg7RW9EV0Usb0JBQW9CLEVBQUE7O0FwRFh0QjtFcUR4QkUsaUJuRHk0QnVDO0VtRHg0QnZDLGdCbkR3NEJ1QztFQzd3Qm5DLG1CQXRDWTtFa0RsRmhCLHFDcERNYTtFb0RMYiw0QkFBNEI7RUFDNUIsMENwRG1KeUQ7RW9EbEp6RCxzRHBEUGE7RW9EUWIsVUFBVTtFM0NPUixzQlJrNEJzQyxFQUFBO0VGejNCMUM7SXFEWkksc0JuRDgzQnNDLEVBQUE7RUZsM0IxQztJcURSSSxVQUFVLEVBQUE7RXJEUWQ7SXFESkksY0FBYztJQUNkLFVBQVUsRUFBQTtFckRHZDtJcURDSSxhQUFhLEVBQUE7O0FyRERqQjtFcURNRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHdCbkQwMkJ3QztFbUR6MkJ4QyxjcEQ3QmdCO0VvRDhCaEIscUNwRHhCYTtFb0R5QmIsNEJBQTRCO0VBQzVCLGtEcEQwSDBEO0VTdEl4RCwyQ1FtSDREO0VSbEg1RCw0Q1FrSDRELEVBQUE7O0FsQm5IaEU7RXFEaUJFLGdCbkRpMkJ3QyxFQUFBOztBRmwzQjFDO0VzRG5CRSxnQkFBZ0IsRUFBQTtFdERtQmxCO0lzRGhCSSxrQkFBa0I7SUFDbEIsZ0JBQWdCLEVBQUE7O0F0RGVwQjtFc0RURSxlQUFlO0VBQ2YsTUFBTTtFQUNOLE9BQU87RUFDUCxhcEQycEJzQztFb0QxcEJ0QyxhQUFhO0VBQ2IsV0FBVztFQUNYLFlBQVk7RUFDWixnQkFBZ0I7RUFHaEIsVUFBVSxFQUFBOztBdEREWjtFc0RTRSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLGNwRCs0QnVDO0VvRDc0QnZDLG9CQUFvQixFQUFBO0VBR3BCO0loQzNCSSxtQ3BCbzhCb0Q7SW9EdjZCdEQsOEJwRHE2Qm1ELEVBQUE7SW9COTdCakQ7TWdDdUJKO1FoQ3RCTSxnQkFBZ0IsRUFBQSxFZ0N5QnJCO0VBQ0Q7SUFDRSxlcERtNkJvQyxFQUFBO0VvRC81QnRDO0lBQ0Usc0JwRGc2QjJDLEVBQUE7O0FGMTdCL0M7RXNEK0JFLGFBQWE7RUFDYiw2QnBDbUY4RCxFQUFBO0VsQm5IaEU7SXNEbUNJLDhCcENnRjREO0lvQy9FNUQsZ0JBQWdCLEVBQUE7RXREcENwQjs7SXNEeUNJLGNBQWMsRUFBQTtFdER6Q2xCO0lzRDZDSSxnQkFBZ0IsRUFBQTs7QXREN0NwQjtFc0RrREUsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQiw2QnBDK0Q4RCxFQUFBO0VsQm5IaEU7SXNEd0RJLGNBQWM7SUFDZCwwQnBDMEQ0RDtJb0N6RDVELDJCQUFtQjtJQUFuQix3QkFBbUI7SUFBbkIsbUJBQW1CO0lBQ25CLFdBQVcsRUFBQTtFdEQzRGY7SXNEZ0VJLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIsWUFBWSxFQUFBO0l0RGxFaEI7TXNEcUVNLGdCQUFnQixFQUFBO0l0RHJFdEI7TXNEeUVNLGFBQWEsRUFBQTs7QXREekVuQjtFc0RnRkUsa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsV0FBVztFQUdYLG9CQUFvQjtFQUNwQix5QnJEekVtQjtFcUQwRW5CLDRCQUE0QjtFQUM1QiwwQ3JEakhhO0VTZVgscUJSOE4rQjtFb0R4SGpDLFVBQVUsRUFBQTs7QXREN0ZaO0VzRGtHRSxlQUFlO0VBQ2YsTUFBTTtFQUNOLE9BQU87RUFDUCxhcEQraUJzQztFb0Q5aUJ0QyxZQUFZO0VBQ1osYUFBYTtFQUNiLHNCcERsSGEsRUFBQTtFRlVmO0lzRDJHVyxVQUFVLEVBQUE7RXREM0dyQjtJc0Q0R1csWXBENnpCMkIsRUFBQTs7QUZ6NkJ0QztFc0RrSEUsYUFBYTtFQUNiLHVCQUF1QjtFQUN2Qiw4QkFBOEI7RUFDOUIsa0JwRDB6QnNDO0VvRHp6QnRDLGdDckR0SWdCO0VTZ0JkLDBDUW1INEQ7RVJsSDVELDJDUWtINEQsRUFBQTtFbEJuSGhFO0lzRDBISSxrQnBEcXpCb0M7SW9EbnpCcEMsOEJBQTZGLEVBQUE7O0F0RDVIakc7RXNEa0lFLGdCQUFnQjtFQUNoQixnQnBEc0krQixFQUFBOztBRnpRakM7RXNEeUlFLGtCQUFrQjtFQUdsQixjQUFjO0VBQ2QsYXBEd3dCc0MsRUFBQTs7QUZyNUJ4QztFc0RrSkUsYUFBYTtFQUNiLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIseUJBQXlCO0VBQ3pCLGdCQUFnRTtFQUNoRSw2QnJEdktnQjtFUzhCZCw4Q1FxRzREO0VScEc1RCw2Q1FvRzRELEVBQUE7RWxCbkhoRTtJc0Q4SkksZUFBd0MsRUFBQTs7QXREOUo1QztFc0RvS0Usa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixXQUFXO0VBQ1gsWUFBWTtFQUNaLGdCQUFnQixFQUFBOztBekN2SWQ7RWJqQ0o7SXNEK0tJLGdCcERxd0JxQztJb0Rwd0JyQyxvQkFBeUMsRUFBQTtFdERoTDdDO0lzRG9MSSwrQnBDakU0RCxFQUFBO0lsQm5IaEU7TXNEdUxNLGdDcENwRTBELEVBQUE7RWxCbkhoRTtJc0Q0TEksK0JwQ3pFNEQsRUFBQTtJbEJuSGhFO01zRCtMTSw0QnBDNUUwRDtNb0M2RTFELDJCQUFtQjtNQUFuQix3QkFBbUI7TUFBbkIsbUJBQW1CLEVBQUE7RXREaE16QjtJc0R3TWMsZ0JwRDZ1QjJCLEVBQUEsRW9EN3VCSDs7QXpDdktsQztFYmpDSjs7SXNEOE1JLGdCcERxdUJxQyxFQUFBLEVvRHB1QnRDOztBekM5S0M7RWJqQ0o7SXNEbU5jLGlCcEQrdEI0QixFQUFBLEVvRC90Qko7O0F0RG5OdEM7RXVEekJFLGtCQUFrQjtFQUNsQixhckQrcUJzQztFcUQ5cUJ0QyxjQUFjO0VBQ2QsU3JEMjFCbUM7RXNELzFCbkMscU50RG1Sb087RXNEalJwTyxrQkFBa0I7RUFDbEIsZ0J0RDJSK0I7RXNEMVIvQixnQnREK1IrQjtFc0Q5Ui9CLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIscUJBQXFCO0VBQ3JCLGlCQUFpQjtFQUNqQixvQkFBb0I7RUFDcEIsc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixvQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLGdCQUFnQjtFckRnSFosbUJBdENZO0VvRDlFaEIscUJBQXFCO0VBQ3JCLFVBQVUsRUFBQTtFdkRlWjtJdURiVyxZckQrMEIyQixFQUFBO0VGbDBCdEM7SXVEVkksa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxhckQrMEJxQztJcUQ5MEJyQyxjckQrMEJxQyxFQUFBO0lGeDBCekM7TXVESk0sa0JBQWtCO01BQ2xCLFdBQVc7TUFDWCx5QkFBeUI7TUFDekIsbUJBQW1CLEVBQUE7O0F2REN6QjtFdURLRSxpQkFBZ0MsRUFBQTtFdkRMbEM7SXVEUUksU0FBUyxFQUFBO0l2RFJiO011RFdNLE1BQU07TUFDTiw2QkFBZ0U7TUFDaEUsc0JyRHZCUyxFQUFBOztBRlVmO0V1RG1CRSxpQnJEcXpCdUMsRUFBQTtFRngwQnpDO0l1RHNCSSxPQUFPO0lBQ1AsYXJEaXpCcUM7SXFEaHpCckMsY3JEK3lCcUMsRUFBQTtJRnYwQnpDO011RDJCTSxRQUFRO01BQ1Isb0NBQTJGO01BQzNGLHdCckR2Q1MsRUFBQTs7QUZVZjtFdURtQ0UsaUJBQWdDLEVBQUE7RXZEbkNsQztJdURzQ0ksTUFBTSxFQUFBO0l2RHRDVjtNdUR5Q00sU0FBUztNQUNULDZCckQ4eEJtQztNcUQ3eEJuQyx5QnJEckRTLEVBQUE7O0FGVWY7RXVEaURFLGlCckR1eEJ1QyxFQUFBO0VGeDBCekM7SXVEb0RJLFFBQVE7SUFDUixhckRteEJxQztJcURseEJyQyxjckRpeEJxQyxFQUFBO0lGdjBCekM7TXVEeURNLE9BQU87TUFDUCxvQ3JEOHdCbUM7TXFEN3dCbkMsdUJyRHJFUyxFQUFBOztBRlVmO0V1RGlGRSxnQnJENnVCdUM7RXFENXVCdkMsdUJyRGt2QnVDO0VxRGp2QnZDLFdyRHZHYTtFcUR3R2Isa0JBQWtCO0VBQ2xCLHNCckQvRmE7RVFDWCxzQlI2TmdDLEVBQUE7O0FGcE5wQztFeUQxQkUsa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixPQUFPO0VBQ1AsYXZENnFCc0M7RXVENXFCdEMsY0FBYztFQUNkLGdCdkQ2MkJ1QztFc0RsM0J2QyxxTnREbVJvTztFc0RqUnBPLGtCQUFrQjtFQUNsQixnQnREMlIrQjtFc0QxUi9CLGdCdEQrUitCO0VzRDlSL0IsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixxQkFBcUI7RUFDckIsaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQUNwQixzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsZ0JBQWdCO0VyRGdIWixtQkF0Q1k7RXNEN0VoQixxQkFBcUI7RUFDckIsc0J2RE5hO0V1RE9iLDRCQUE0QjtFQUM1QixvQ3ZERWE7RVFDWCxxQlI4TitCLEVBQUE7RUZyTm5DO0l5RFBJLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsV3ZENjJCb0M7SXVENTJCcEMsY3ZENjJCcUM7SXVENTJCckMsZ0J2RHdOK0IsRUFBQTtJRnJObkM7TXlEQ00sa0JBQWtCO01BQ2xCLGNBQWM7TUFDZCxXQUFXO01BQ1gseUJBQXlCO01BQ3pCLG1CQUFtQixFQUFBOztBekRMekI7RXlEV0UscUJ2RDgxQnVDLEVBQUE7RUZ6MkJ6QztJeURjSSwyQnZDcUc0RCxFQUFBO0lsQm5IaEU7TXlEaUJNLFNBQVM7TUFDVCw2QkFBZ0U7TUFDaEUscUN2RHkxQmlFLEVBQUE7SUY1MkJ2RTtNeUR1Qk0sV3ZEMEwyQjtNdUR6TDNCLDZCQUFnRTtNQUNoRSxzQnZEN0NTLEVBQUE7O0FGb0JmO0V5RCtCRSxtQnZEMDBCdUMsRUFBQTtFRnoyQnpDO0l5RGtDSSx5QnZDaUY0RDtJdUNoRjVELGF2RHMwQnFDO0l1RHIwQnJDLFl2RG8wQm9DO0l1RG4wQnBDLGdCQUFnQyxFQUFBO0l6RHJDcEM7TXlEd0NNLE9BQU87TUFDUCxvQ0FBMkY7TUFDM0YsdUN2RGswQmlFLEVBQUE7SUY1MkJ2RTtNeUQ4Q00sU3ZEbUsyQjtNdURsSzNCLG9DQUEyRjtNQUMzRix3QnZEcEVTLEVBQUE7O0FGb0JmO0V5RHNERSxrQnZEbXpCdUMsRUFBQTtFRnoyQnpDO0l5RHlESSx3QnZDMEQ0RCxFQUFBO0lsQm5IaEU7TXlENERNLE1BQU07TUFDTixvQ0FBMkY7TUFDM0Ysd0N2RDh5QmlFLEVBQUE7SUY1MkJ2RTtNeURrRU0sUXZEK0kyQjtNdUQ5STNCLG9DQUEyRjtNQUMzRix5QnZEeEZTLEVBQUE7RUZvQmY7SXlEMEVJLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sU0FBUztJQUNULGNBQWM7SUFDZCxXdkQweEJvQztJdUR6eEJwQyxvQkFBc0M7SUFDdEMsV0FBVztJQUNYLGdDdkQ4d0J1RCxFQUFBOztBRi8xQjNEO0V5RHNGRSxvQnZEbXhCdUMsRUFBQTtFRnoyQnpDO0l5RHlGSSwwQnZDMEI0RDtJdUN6QjVELGF2RCt3QnFDO0l1RDl3QnJDLFl2RDZ3Qm9DO0l1RDV3QnBDLGdCQUFnQyxFQUFBO0l6RDVGcEM7TXlEK0ZNLFFBQVE7TUFDUixvQ3ZEeXdCbUM7TXVEeHdCbkMsc0N2RDJ3QmlFLEVBQUE7SUY1MkJ2RTtNeURxR00sVXZENEcyQjtNdUQzRzNCLG9DdkRtd0JtQztNdURsd0JuQyx1QnZEM0hTLEVBQUE7O0FGb0JmO0V5RDhIRSx1QnZEb3VCd0M7RXVEbnVCeEMsZ0JBQWdCO0V0RDNCWixlQXRDWTtFc0RvRWhCLHlCdkQ2dEJ5RDtFdUQ1dEJ6RCxnQ0FBeUU7RS9Dbkl2RSwwQ1FtSDREO0VSbEg1RCwyQ1FrSDRELEVBQUE7RWxCbkhoRTtJeUR1SUksYUFBYSxFQUFBOztBekR2SWpCO0V5RDRJRSx1QnZEc3RCd0M7RXVEcnRCeEMsY3ZEeEpnQixFQUFBOztBRldsQjtFMERiRSxrQkFBa0IsRUFBQTs7QTFEYXBCO0UwRFRFLG1CQUFtQixFQUFBOztBMURTckI7RTBETEUsa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxnQkFBZ0IsRUFBQTtFMURHbEI7STJEekJJLGNBQWM7SUFDZCxXQUFXO0lBQ1gsV0FBVyxFQUFBOztBM0R1QmY7RTBERUUsa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixXQUFXO0VBQ1gsV0FBVztFQUNYLG1CQUFtQjtFQUNuQixtQ0FBMkI7VUFBM0IsMkJBQTJCO0VwQ2xCdkIsc0NwQnlqQ2tGLEVBQUE7RW9CcmpDbEY7SXRCT047TXNCTlEsZ0JBQWdCLEVBQUEsRW9DZXZCOztBMURURDs7O0UwRGNFLGNBQWMsRUFBQTs7QTFEZGhCOztFMERtQkUsMkJBQTJCLEVBQUE7O0ExRG5CN0I7O0UwRHdCRSw0QkFBNEIsRUFBQTs7QTFEeEI5QjtFMERrQ0ksVUFBVTtFQUNWLDRCQUE0QjtFQUM1QixlQUFlLEVBQUE7O0ExRHBDbkI7OztFMEQwQ0ksVUFBVTtFQUNWLFVBQVUsRUFBQTs7QTFEM0NkOztFMERnREksVUFBVTtFQUNWLFVBQVU7RXBDNURSLDJCcEJ3akNrQyxFQUFBO0VvQnBqQ2xDO0l0Qk9OOztNc0JOUSxnQkFBZ0IsRUFBQSxFb0N5RHJCOztBMURuREg7O0UwRDZERSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFNBQVM7RUFDVCxVQUFVO0VBRVYsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsVXhEbzlCc0M7RXdEbjlCdEMsV3hEMUZhO0V3RDJGYixrQkFBa0I7RUFDbEIsWXhEazlCcUM7RW9CcmlDakMsOEJwQnVpQ2dELEVBQUE7RW9CbmlDaEQ7SXRCT047O01zQk5RLGdCQUFnQixFQUFBLEVvQ3dGdkI7RTFEbEZEOzs7STBENkVJLFd4RGpHVztJd0RrR1gscUJBQXFCO0lBQ3JCLFVBQVU7SUFDVixZeEQyOEJtQyxFQUFBOztBRjNoQ3ZDO0UwRG9GRSxPQUFPLEVBQUE7O0ExRHBGVDtFMEQwRkUsUUFBUSxFQUFBOztBMUQxRlY7O0UwRG1HRSxxQkFBcUI7RUFDckIsV3hEbzhCdUM7RXdEbjhCdkMsWXhEbThCdUM7RXdEbDhCdkMscUNBQXFDLEVBQUE7O0ExRHRHdkM7RTBEeUdFLHNOeEN2RWdGLEVBQUE7O0FsQmxDbEY7RTBENEdFLHVOeEMxRWdGLEVBQUE7O0FsQmxDbEY7RTBEc0hFLGtCQUFrQjtFQUNsQixRQUFRO0VBQ1IsU0FBUztFQUNULE9BQU87RUFDUCxXQUFXO0VBQ1gsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixlQUFlO0VBRWYsaUJ4RDA1QnNDO0V3RHo1QnRDLGdCeER5NUJzQztFd0R4NUJ0QyxnQkFBZ0IsRUFBQTtFMURqSWxCO0kwRG9JSSx1QkFBdUI7SUFDdkIsY0FBYztJQUNkLFd4RHc1QnFDO0l3RHY1QnJDLFd4RHc1Qm9DO0l3RHY1QnBDLGlCeER5NUJvQztJd0R4NUJwQyxnQnhEdzVCb0M7SXdEdjVCcEMsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixzQnhEaEtXO0l3RGlLWCw0QkFBNEI7SUFFNUIsa0NBQWlFO0lBQ2pFLHFDQUFvRTtJQUNwRSxXQUFXO0lwQzVKVCw2QnBCOGlDK0MsRUFBQTtJb0IxaUMvQztNdEJPTjtRc0JOUSxnQkFBZ0IsRUFBQSxFb0N5SnJCO0UxRG5KSDtJMERzSkksVUFBVSxFQUFBOztBMUR0SmQ7RTBEZ0tFLGtCQUFrQjtFQUNsQixVQUEyQztFQUMzQyxZQUFZO0VBQ1osU0FBMEM7RUFDMUMsV0FBVztFQUNYLGlCQUFpQjtFQUNqQixvQkFBb0I7RUFDcEIsV3hEM0xhO0V3RDRMYixrQkFBa0IsRUFBQTs7QUUvTHBCO0VBQ0U7SUFBSyx5QkFBeUIsRUFBQSxFQUFBOztBQURoQztFQUNFO0lBQUsseUJBQXlCLEVBQUEsRUFBQTs7QTVEc0JoQztFNERsQkUscUJBQXFCO0VBQ3JCLFcxRG9rQzBCO0UwRG5rQzFCLFkxRG1rQzBCO0UwRGxrQzFCLDJCQUEyQjtFQUMzQixpQ0FBZ0Q7RUFDaEQsK0JBQStCO0VBRS9CLGtCQUFrQjtFQUNsQixzREFBOEM7VUFBOUMsOENBQThDLEVBQUE7O0E1RFVoRDtFNERORSxXMUQ2akM0QjtFMEQ1akM1QixZMUQ0akM0QjtFMEQzakM1QixtQjFENmpDNEIsRUFBQTs7QTBEdGpDOUI7RUFDRTtJQUNFLG1CQUFtQixFQUFBO0VBRXJCO0lBQ0UsVUFBVTtJQUNWLGVBQWUsRUFBQSxFQUFBOztBQU5uQjtFQUNFO0lBQ0UsbUJBQW1CLEVBQUE7RUFFckI7SUFDRSxVQUFVO0lBQ1YsZUFBZSxFQUFBLEVBQUE7O0E1RFRuQjtFNERjRSxxQkFBcUI7RUFDckIsVzFEb2lDMEI7RTBEbmlDMUIsWTFEbWlDMEI7RTBEbGlDMUIsMkJBQTJCO0VBQzNCLDhCQUE4QjtFQUU5QixrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLG9EQUE0QztVQUE1Qyw0Q0FBNEMsRUFBQTs7QTVEdEI5QztFNEQwQkUsVzFENmhDNEI7RTBENWhDNUIsWTFENGhDNEIsRUFBQTs7QTBEeGhDNUI7RTVEL0JGOztJNERrQ00sZ0NBQXdCO1lBQXhCLHdCQUF3QixFQUFBLEVBQ3pCOztBNURuQ0w7RTZEekJxQixtQ0FBbUMsRUFBQTs7QTdEeUJ4RDtFNkR4QnFCLDhCQUE4QixFQUFBOztBN0R3Qm5EO0U2RHZCcUIsaUNBQWlDLEVBQUE7O0E3RHVCdEQ7RTZEdEJxQixpQ0FBaUMsRUFBQTs7QTdEc0J0RDtFNkRyQnFCLHNDQUFzQyxFQUFBOztBN0RxQjNEO0U2RHBCcUIsbUNBQW1DLEVBQUE7O0E3RG9CeEQ7RThEckJJLG9DQUFtQyxFQUFBOztBOURxQnZDOzs7RThEaEJNLG9DQUFnRCxFQUFBOztBOURnQnREO0U4RHJCSSxvQ0FBbUMsRUFBQTs7QTlEcUJ2Qzs7O0U4RGhCTSxvQ0FBZ0QsRUFBQTs7QTlEZ0J0RDtFOERyQkksb0NBQW1DLEVBQUE7O0E5RHFCdkM7OztFOERoQk0sb0NBQWdELEVBQUE7O0E5RGdCdEQ7RThEckJJLG9DQUFtQyxFQUFBOztBOURxQnZDOzs7RThEaEJNLG9DQUFnRCxFQUFBOztBOURnQnREO0U4RHJCSSxvQ0FBbUMsRUFBQTs7QTlEcUJ2Qzs7O0U4RGhCTSxvQ0FBZ0QsRUFBQTs7QTlEZ0J0RDtFOERyQkksb0NBQW1DLEVBQUE7O0E5RHFCdkM7OztFOERoQk0sb0NBQWdELEVBQUE7O0E5RGdCdEQ7RThEckJJLG9DQUFtQyxFQUFBOztBOURxQnZDOzs7OztFOERoQk0sb0NBQWdELEVBQUE7O0E5RGdCdEQ7RThEckJJLG9DQUFtQyxFQUFBOztBOURxQnZDOzs7Ozs7O0U4RGhCTSxvQ0FBZ0QsRUFBQTs7QTlEZ0J0RDtFK0RkRSxpQ0FBbUMsRUFBQTs7QS9EY3JDO0UrRFZFLHdDQUF3QyxFQUFBOztBL0RVMUM7RWdFckJrQixvQ0FBb0QsRUFBQTs7QWhFcUJ0RTtFZ0VwQmtCLHdDQUF3RCxFQUFBOztBaEVvQjFFO0VnRW5Ca0IsMENBQTBELEVBQUE7O0FoRW1CNUU7RWdFbEJrQiwyQ0FBMkQsRUFBQTs7QWhFa0I3RTtFZ0VqQmtCLHlDQUF5RCxFQUFBOztBaEVpQjNFO0VnRWZtQixvQkFBb0IsRUFBQTs7QWhFZXZDO0VnRWRtQix3QkFBd0IsRUFBQTs7QWhFYzNDO0VnRWJtQiwwQkFBMEIsRUFBQTs7QWhFYTdDO0VnRVptQiwyQkFBMkIsRUFBQTs7QWhFWTlDO0VnRVhtQix5QkFBeUIsRUFBQTs7QWhFVzVDO0VnRVBJLGdDQUErQixFQUFBOztBaEVPbkM7RWdFUEksZ0NBQStCLEVBQUE7O0FoRU9uQztFZ0VQSSxnQ0FBK0IsRUFBQTs7QWhFT25DO0VnRVBJLGdDQUErQixFQUFBOztBaEVPbkM7RWdFUEksZ0NBQStCLEVB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RW1FRndDLG9DQUFvQyxFQUFBOztBbkVFNUU7RW1FRHdDLGtDQUFrQyxFQUFBOztBbkVDMUU7RW1FQXdDLHlDQUF5QyxFQUFBOztBbkVBakY7RW1FQ3dDLHdDQUF3QyxFQUFBOztBbkVEaEY7RW1FR3FDLGtDQUFrQyxFQUFBOztBbkVIdkU7RW1FSXFDLGdDQUFnQyxFQUFBOztBbkVKckU7RW1FS3FDLDhCQUE4QixFQUFBOztBbkVMbkU7RW1FTXFDLGdDQUFnQyxFQUFBOztBbkVOckU7RW1FT3FDLCtCQUErQixFQUFBOztBbkVQcEU7RW1FU3NDLG9DQUFvQyxFQUFBOztBbkVUMUU7RW1FVXNDLGtDQUFrQyxFQUFBOztBbkVWeEU7RW1FV3NDLGdDQUFnQyxFQUFBOztBbkVYdEU7RW1FWXNDLHVDQUF1QyxFQUFBOztBbkVaN0U7RW1FYXNDLHNDQUFzQyxFQUFBOztBbkViNUU7RW1FY3NDLGlDQUFpQyxFQUFBOztBbkVkdkU7RW1FZ0JvQywyQkFBMkIsRUFBQTs7QW5FaEIvRDtFbUVpQm9DLGlDQUFpQyxFQUFBOztBbkVqQnJFO0VtRWtCb0MsK0JBQStCLEVBQUE7O0FuRWxCbkU7RW1FbUJvQyw2QkFBNkIsRUFBQTs7QW5FbkJqRTtFbUVvQm9DLCtCQUErQixFQUFBOztBbkVwQm5FO0VtRXFCb0MsOEJBQThCLEVBQUE7O0F0RFk5RDtFYmpDSjtJbUVqQm9DLDhCQUE4QixFQUFBO0VuRWlCbEU7SW1FaEJvQyxpQ0FBaUMsRUFBQTtFbkVnQnJFO0ltRWZvQyxzQ0FBc0MsRUFBQTtFbkVlMUU7SW1FZG9DLHlDQUF5QyxFQUFBO0VuRWM3RTtJbUVaa0MsMEJBQTBCLEVBQUE7RW5FWTVEO0ltRVhrQyw0QkFBNEIsRUFBQTtFbkVXOUQ7SW1FVmtDLGtDQUFrQyxFQUFBO0VuRVVwRTtJbUVUa0MseUJBQXlCLEVBQUE7RW5FUzNEO0ltRVJrQyx1QkFBdUIsRUFBQTtFbkVRekQ7SW1FUGtDLHVCQUF1QixFQUFBO0VuRU96RDtJbUVOa0MseUJBQXlCLEVBQUE7RW5FTTNEO0ltRUxrQyx5QkFBeUIsRUFBQTtFbkVLM0Q7SW1FSHdDLHNDQUFzQyxFQUFBO0VuRUc5RTtJbUVGd0Msb0NBQW9DLEVBQUE7RW5FRTVFO0ltRUR3QyxrQ0FBa0MsRUFBQTtFbkVDMUU7SW1FQXdDLHlDQUF5QyxFQUFBO0VuRUFqRjtJbUVDd0Msd0NBQXdDLEVBQUE7RW5FRGhGO0ltRUdxQyxrQ0FBa0MsRUFBQTtFbkVIdkU7SW1FSXFDLGdDQUFnQyxFQUFBO0VuRUpyRTtJbUVLcUMsOEJBQThCLEVBQUE7RW5FTG5FO0ltRU1xQyxnQ0FBZ0MsRUFBQTtFbkVOckU7SW1FT3FDLCtCQUErQixFQUFBO0VuRVBwRTtJbUVTc0Msb0NBQW9DLEVBQUE7RW5FVDFFO0ltRVVzQyxrQ0FBa0MsRUFBQTtFbkVWeEU7SW1FV3NDLGdDQUFnQyxFQUFBO0VuRVh0RTtJbUVZc0MsdUNBQXVDLEVBQUE7RW5FWjdFO0ltRWFzQyxzQ0FBc0MsRUFBQTtFbkViNUU7SW1FY3NDLGlDQUFpQyxFQUFBO0VuRWR2RTtJbUVnQm9DLDJCQUEyQixFQUFBO0VuRWhCL0Q7SW1FaUJvQyxpQ0FBaUMsRUFBQTtFbkVqQnJFO0ltRWtCb0MsK0JBQStCLEVBQUE7RW5FbEJuRTtJbUVtQm9DLDZCQUE2QixFQUFBO0VuRW5CakU7SW1Fb0JvQywrQkFBK0IsRUFBQTtFbkVwQm5FO0ltRXFCb0MsOEJBQThCLEVBQUEsRUFBSTs7QXREWWxFO0ViakNKO0ltRWpCb0MsOEJBQThCLEVBQUE7RW5FaUJsRTtJbUVoQm9DLGlDQUFpQyxFQUFBO0VuRWdCckU7SW1FZm9DLHNDQUFzQyxFQUFBO0VuRWUxRTtJbUVkb0MseUNBQXlDLEVBQUE7RW5FYzdFO0ltRVprQywwQkFBMEIsRUFBQTtFbkVZNUQ7SW1FWGtDLDRCQUE0QixFQUFBO0VuRVc5RDtJbUVWa0Msa0NBQWtDLEVBQUE7RW5FVXBFO0ltRVRrQyx5QkFBeUIsRUFBQTtFbkVTM0Q7SW1FUmtDLHVCQUF1QixFQUFBO0VuRVF6RDtJbUVQa0MsdUJBQXVCLEVBQUE7RW5FT3pEO0ltRU5rQyx5QkFBeUIsRUFBQTtFbkVNM0Q7SW1FTGtDLHlCQUF5QixFQUFBO0VuRUszRDtJbUVId0Msc0NBQXNDLEVBQUE7RW5FRzlFO0ltRUZ3QyxvQ0FBb0MsRUFBQTtFbkVFNUU7SW1FRHdDLGtDQUFrQyxFQUFBO0VuRUMxRTtJbUVBd0MseUNBQXlDLEVBQUE7RW5FQWpGO0ltRUN3Qyx3Q0FBd0MsRUFBQTtFbkVEaEY7SW1FR3FDLGtDQUFrQyxFQUFBO0VuRUh2RTtJbUVJcUMsZ0NBQWdDLEVBQUE7RW5FSnJFO0ltRUtxQyw4QkFBOEIsRUFBQTtFbkVMbkU7SW1FTXFDLGdDQUFnQyxFQUFBO0VuRU5yRTtJbUVPcUMsK0JBQStCLEVBQUE7RW5FUHBFO0ltRVNzQyxvQ0FBb0MsRUFBQTtFbkVUMUU7SW1FVXNDLGtDQUFrQyxFQUFBO0VuRVZ4RTtJbUVXc0MsZ0NBQWdDLEVBQUE7RW5FWHRFO0ltRVlzQyx1Q0FBdUMsRUFBQTtFbkVaN0U7SW1FYXNDLHNDQUFzQyxFQUFBO0VuRWI1RTtJbUVjc0MsaUNBQWlDLEVBQUE7RW5FZHZFO0ltRWdCb0MsMkJBQTJCLEVBQUE7RW5FaEIvRDtJbUVpQm9DLGlDQUFpQyxFQUFBO0VuRWpCckU7SW1Fa0JvQywrQkFBK0IsRUFBQTtFbkVsQm5FO0ltRW1Cb0MsNkJBQTZCLEVBQUE7RW5FbkJqRTtJbUVvQm9DLCtCQUErQixFQUFBO0VuRXBCbkU7SW1FcUJvQyw4QkFBOEIsRUFBQSxFQUFJOztBdERZbEU7RWJqQ0o7SW1FakJvQyw4QkFBOEIsRUFBQTtFbkVpQmxFO0ltRWhCb0MsaUNBQWlDLEVBQUE7RW5FZ0JyRTtJbUVmb0Msc0NBQXNDLEVBQUE7RW5FZTFFO0ltRWRvQyx5Q0FBeUMsRUFBQTtFbkVjN0U7SW1FWmtDLDBCQUEwQixFQUFBO0VuRVk1RDtJbUVYa0MsNEJBQTRCLEVBQUE7RW5FVzlEO0ltRVZrQyxrQ0FBa0MsRUFBQTtFbkVVcEU7SW1FVGtDLHlCQUF5QixFQUFBO0VuRVMzRDtJbUVSa0MsdUJBQXVCLEVBQUE7RW5FUXpEO0ltRVBrQyx1QkFBdUIsRUFBQTtFbkVPekQ7SW1FTmtDLHlCQUF5QixFQUFBO0VuRU0zRDtJbUVMa0MseUJBQXlCLEVBQUE7RW5FSzNEO0ltRUh3QyxzQ0FBc0MsRUFBQTtFbkVHOUU7SW1FRndDLG9DQUFvQyxFQUFBO0VuRUU1RTtJbUVEd0Msa0NBQWtDLEVBQUE7RW5FQzFFO0ltRUF3Qyx5Q0FBeUMsRUFBQTtFbkVBakY7SW1FQ3dDLHdDQUF3QyxFQUFBO0VuRURoRjtJbUVHcUMsa0NBQWtDLEVBQUE7RW5FSHZFO0ltRUlxQyxnQ0FBZ0MsRUFBQTtFbkVKckU7SW1FS3FDLDhCQUE4QixFQUFBO0VuRUxuRTtJbUVNcUMsZ0NBQWdDLEVBQUE7RW5FTnJFO0ltRU9xQywrQkFBK0IsRUFBQTtFbkVQcEU7SW1FU3NDLG9DQUFvQyxFQUFBO0VuRVQxRTtJbUVVc0Msa0NBQWtDLEVBQUE7RW5FVnhFO0ltRVdzQyxnQ0FBZ0MsRUFBQTtFbkVYdEU7SW1FWXNDLHVDQUF1QyxFQUFBO0VuRVo3RTtJbUVhc0Msc0NBQXNDLEVBQUE7RW5FYjVFO0ltRWNzQyxpQ0FBaUMsRUFBQTtFbkVkdkU7SW1FZ0JvQywyQkFBMkIsRUFBQTtFbkVoQi9EO0ltRWlCb0MsaUNBQWlDLEVBQUE7RW5FakJyRTtJbUVrQm9DLCtCQUErQixFQUFBO0VuRWxCbkU7SW1FbUJvQyw2QkFBNkIsRUFBQTtFbkVuQmpFO0ltRW9Cb0MsK0JBQStCLEVBQUE7RW5FcEJuRTtJbUVxQm9DLDhCQUE4QixFQUFBLEVBQUk7O0F0RFlsRTtFYmpDSjtJbUVqQm9DLDhCQUE4QixFQUFBO0VuRWlCbEU7SW1FaEJvQyxpQ0FBaUMsRUFBQTtFbkVnQnJFO0ltRWZvQyxzQ0FBc0MsRUFBQTtFbkVlMUU7SW1FZG9DLHlDQUF5QyxFQUFBO0VuRWM3RTtJbUVaa0MsMEJBQTBCLEVBQUE7RW5FWTVEO0ltRVhrQyw0QkFBNEIsRUFBQTtFbkVXOUQ7SW1FVmtDLGtDQUFrQyxFQUFBO0VuRVVwRTtJbUVUa0MseUJBQXlCLEVBQUE7RW5FUzNEO0ltRVJrQyx1QkFBdUIsRUFBQTtFbkVRekQ7SW1FUGtDLHVCQUF1QixFQUFBO0VuRU96RDtJbUVOa0MseUJBQXlCLEVBQUE7RW5FTTNEO0ltRUxrQyx5QkFBeUIsRUFBQTtFbkVLM0Q7SW1FSHdDLHNDQUFzQyxFQUFBO0VuRUc5RTtJbUVGd0Msb0NBQW9DLEVBQUE7RW5FRTVFO0ltRUR3QyxrQ0FBa0MsRUFBQTtFbkVDMUU7SW1FQXdDLHlDQUF5QyxFQUFBO0VuRUFqRjtJbUVDd0Msd0NBQXdDLEVBQUE7RW5FRGhGO0ltRUdxQyxrQ0FBa0MsRUFBQTtFbkVIdkU7SW1FSXFDLGdDQUFnQyxFQUFBO0VuRUpyRTtJbUVLcUMsOEJBQThCLEVBQUE7RW5FTG5FO0ltRU1xQyxnQ0FBZ0MsRUFBQTtFbkVOckU7SW1FT3FDLCtCQUErQixFQUFBO0VuRVBwRTtJbUVTc0Msb0NBQW9DLEVBQUE7RW5FVDFFO0ltRVVzQyxrQ0FBa0MsRUFBQTtFbkVWeEU7SW1FV3NDLGdDQUFnQyxFQUFBO0VuRVh0RTtJbUVZc0MsdUNBQXVDLEVBQUE7RW5FWjdFO0ltRWFzQyxzQ0FBc0MsRUFBQTtFbkViNUU7SW1FY3NDLGlDQUFpQyxFQUFBO0VuRWR2RTtJbUVnQm9DLDJCQUEyQixFQUFBO0VuRWhCL0Q7SW1FaUJvQyxpQ0FBaUMsRUFBQTtFbkVqQnJFO0ltRWtCb0MsK0JBQStCLEVBQUE7RW5FbEJuRTtJbUVtQm9DLDZCQUE2QixFQUFBO0VuRW5CakU7SW1Fb0JvQywrQkFBK0IsRUFBQTtFbkVwQm5FO0ltRXFCb0MsOEJBQThCLEVBQUEsRUFBSTs7QW5FckJ0RTtFb0VyQjRCLHNCQUFzQixFQUFBOztBcEVxQmxEO0VvRXBCNEIsdUJBQXVCLEVBQUE7O0FwRW9CbkQ7RW9FbkI0QixzQkFBc0IsRUFBQTs7QXZEb0Q5QztFYmpDSjtJb0VyQjRCLHNCQUFzQixFQUFBO0VwRXFCbEQ7SW9FcEI0Qix1QkFBdUIsRUFBQTtFcEVvQm5EO0lvRW5CNEIsc0JBQXNCLEVBQUEsRUFBSTs7QXZEb0RsRDtFYmpDSjtJb0VyQjRCLHNCQUFzQixFQUFBO0VwRXFCbEQ7SW9FcEI0Qix1QkFBdUIsRUFBQTtFcEVvQm5EO0lvRW5CNEIsc0JBQXNCLEVBQUEsRUFBSTs7QXZEb0Rs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QUFBOztBM0VVbEQ7O0UyRU5VLGlDQUEwQyxFQUFBOztBM0VNcEQ7O0UyRUZVLCtCQUFzQyxFQUFBOztBM0VFaEQ7RTJFakJ3Qyx5QkFBNEIsRUFBQTs7QTNFaUJwRTs7RTJFZFUsNkJBQW9DLEVBQUE7O0EzRWM5Qzs7RTJFVlUsK0JBQXdDLEVBQUE7O0EzRVVsRDs7RTJFTlUsZ0NBQTBDLEVBQUE7O0EzRU1wRDs7RTJFRlUsOEJBQXNDLEVBQUE7O0EzRUVoRDtFMkVqQndDLHVCQUE0QixFQUFBOztBM0VpQnBFOztFMkVkVSwyQkFBb0MsRUFBQTs7QTNFYzlDOztFMkVWVSw2QkFBd0MsRUFBQTs7QTNFVWxEOztFMkVOVSw4QkFBMEMsRUFBQTs7QTNFTXBEOztFMkVGVSw0QkFBc0MsRUFBQTs7QTNFRWhEO0UyRWpCd0MseUJBQTRCLEVBQUE7O0EzRWlCcEU7O0UyRWRVLDZCQUFvQyxFQUFBOztBM0VjOUM7O0UyRVZVLCtCQUF3QyxFQUFBOztBM0VVbEQ7O0UyRU5VLGdDQUEwQyxFQUFBOztBM0VNcEQ7O0UyRUZVLDhCQUFzQyxFQUFBOztBM0VFaEQ7RTJFakJ3Qyx1QkFBNEIsRUFBQTs7QTNFaUJwRTs7RTJFZFUsMkJBQW9DLEVBQUE7O0EzRWM5Qzs7RTJFVlUsNkJBQXdDLEVBQUE7O0EzRVVsRDs7RTJFTlUsOEJBQTBDLEVBQUE7O0EzRU1wRDs7RTJFRlUsNEJBQXNDLEVBQUE7O0EzRUVoRDtFMkVqQndDLHFCQUE0QixFQUFBOztBM0VpQnBFOztFMkVkVSx5QkFBb0MsRUFBQTs7QTNFYzlDOztFMkVWVSwyQkFBd0MsRUFBQTs7QTNFVWxEOztFMkVOVSw0QkFBMEMsRUFBQTs7QTNFTXBEOztFMkVGVSwwQkFBc0MsRUFBQTs7QTNFRWhEO0UyRWpCd0MsMkJBQTRCLEVBQUE7O0EzRWlCcEU7O0UyRWRVLCtCQUFvQyxFQUFBOztBM0VjOUM7O0UyRVZVLGlDQUF3QyxFQUFBOztBM0VVbEQ7O0UyRU5VLGtDQUEwQyxFQUFBOztBM0VNcEQ7O0UyRUZVLGdDQUFzQyxFQUFBOztBM0VFaEQ7RTJFakJ3QywwQkFBNEIsRUFBQTs7QTNFaUJwRTs7RTJFZFUsOEJBQW9DLEVBQUE7O0EzRWM5Qzs7RTJFVlUsZ0NBQXdDLEVBQUE7O0EzRVVsRDs7RTJFTlUsaUNBQTBDLEVBQUE7O0EzRU1wRDs7RTJFRlUsK0JBQXNDLEVBQUE7O0EzRUVoRDtFMkVqQndDLHdCQUE0QixFQUFBOztBM0VpQnBFOztFMkVkVSw0QkFBb0MsRUFBQTs7QTNFYzlDOztFMkVWVSw4QkFBd0MsRUFBQTs7QTNFVWxEOztFMkVOVSwrQkFBMEMsRUFBQTs7QTNFTXBEOztFMkVGVSw2QkFBc0MsRUFBQTs7QTNFRWhEO0UyRWpCd0MsMEJBQTRCLEVBQUE7O0EzRWlCcEU7O0UyRWRVLDhCQUFvQyxFQUFBOztBM0VjOUM7O0UyRVZVLGdDQUF3QyxFQUFBOztBM0VVbEQ7O0UyRU5VLGlDQUEwQyxFQUFBOztBM0VNcEQ7O0UyRUZVLCtCQUFzQyxFQUFBOztBM0VFaEQ7RTJFakJ3Qyx3QkFBNEIsRUFBQTs7QTNFaUJwRTs7RTJFZFUsNEJBQW9DLEVBQUE7O0EzRWM5Qzs7RTJFVlUsOEJBQXdDLEVBQUE7O0EzRVVsRDs7RTJFTlUsK0JBQTBDLEVBQUE7O0EzRU1wRDs7RTJFRlUsNkJBQXNDLEVBQUE7O0EzRUVoRDtFMkVNZ0MsMkJBQTJCLEVBQUE7O0EzRU4zRDs7RTJFU1UsK0JBQStCLEVBQUE7O0EzRVR6Qzs7RTJFYVUsaUNBQWlDLEVBQUE7O0EzRWIzQzs7RTJFaUJVLGtDQUFrQyxFQUFBOztBM0VqQjVDOztFMkVxQlUsZ0NBQWdDLEVBQUE7O0EzRXJCMUM7RTJFTWdDLDBCQUEyQixFQUFBOztBM0VOM0Q7O0UyRVNVLDhCQUErQixFQUFBOztBM0VUekM7O0UyRWFVLGdDQUFpQyxFQUFBOztBM0ViM0M7O0UyRWlCVSxpQ0FBa0MsRUFBQTs7QTNFakI1Qzs7RTJFcUJVLCtCQUFnQyxFQUFBOztBM0VyQjFDO0UyRU1nQyx3QkFBMkIsRUFBQTs7QTNFTjNEOztFMkVTVSw0QkFBK0IsRUFBQTs7QTNFVHpDOztFMkVhVSw4QkFBaUMsRUFBQTs7QTNFYjNDOztFMkVpQlUsK0JBQWtDLEVBQUE7O0EzRWpCNUM7O0UyRXFCVSw2QkFBZ0MsRUFBQTs7QTNFckIxQztFMkVNZ0MsMEJBQTJCLEVBQUE7O0EzRU4zRDs7RTJFU1UsOEJBQStCLEVBQUE7O0EzRVR6Qzs7RTJFYVUsZ0NBQWlDLEVBQUE7O0EzRWIzQzs7RTJFaUJVLGlDQUFrQyxFQUFBOztBM0VqQjVDOztFMkVxQlUsK0JBQWdDLEVBQUE7O0EzRXJCMUM7RTJFTWdDLHdCQUEyQixFQUFBOztBM0VOM0Q7O0UyRVNVLDRCQUErQixFQUFBOztBM0VUekM7O0UyRWFVLDhCQUFpQyxFQUFBOztBM0ViM0M7O0UyRWlCVSwrQkFBa0MsRUFBQTs7QTNFakI1Qzs7RTJFcUJVLDZCQUFnQyxFQUFBOztBM0VyQjFDO0UyRTJCdUIsdUJBQXVCLEVBQUE7O0EzRTNCOUM7O0UyRThCTSwyQkFBMkIsRUFBQTs7QTNFOUJqQzs7RTJFa0NNLDZCQUE2QixFQUFBOztBM0VsQ25DOztFMkVzQ00sOEJBQThCLEVBQUE7O0EzRXRDcEM7O0UyRTBDTSw0QkFBNEIsRUFBQTs7QTlEVDlCO0ViakNKO0kyRWpCd0Msb0JBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsd0JBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSwwQkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLDJCQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUseUJBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MsMEJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsOEJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSxnQ0FBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLGlDQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsK0JBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MseUJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsNkJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSwrQkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLGdDQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsOEJBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MsdUJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsMkJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSw2QkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLDhCQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsNEJBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MseUJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsNkJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSwrQkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLGdDQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsOEJBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MsdUJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsMkJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSw2QkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLDhCQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsNEJBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MscUJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUseUJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSwyQkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLDRCQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsMEJBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MsMkJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsK0JBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSxpQ0FBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLGtDQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsZ0NBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MsMEJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsOEJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSxnQ0FBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLGlDQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsK0JBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0Msd0JBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsNEJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSw4QkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLCtCQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsNkJBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MsMEJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsOEJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSxnQ0FBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLGlDQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsK0JBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0Msd0JBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsNEJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSw4QkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLCtCQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsNkJBQXNDLEVBQUE7RTNFRWhEO0kyRU1nQywyQkFBMkIsRUFBQTtFM0VOM0Q7O0kyRVNVLCtCQUErQixFQUFBO0UzRVR6Qzs7STJFYVUsaUNBQWlDLEVBQUE7RTNFYjNDOztJMkVpQlUsa0NBQWtDLEVBQUE7RTNFakI1Qzs7STJFcUJVLGdDQUFnQyxFQUFBO0UzRXJCMUM7STJFTWdDLDBCQUEyQixFQUFBO0UzRU4zRDs7STJFU1UsOEJBQStCLEVBQUE7RTNFVHpDOztJMkVhVSxnQ0FBaUMsRUFBQTtFM0ViM0M7O0kyRWlCVSxpQ0FBa0MsRUFBQTtFM0VqQjVDOztJMkVxQlUsK0JBQWdDLEVBQUE7RTNFckIxQztJMkVNZ0Msd0JBQTJCLEVBQUE7RTNFTjNEOztJMkVTVSw0QkFBK0IsRUFBQTtFM0VUekM7O0kyRWFVLDhCQUFpQyxFQUFBO0UzRWIzQzs7STJFaUJVLCtCQUFrQyxFQUFBO0UzRWpCNUM7O0kyRXFCVSw2QkFBZ0MsRUFBQTtFM0VyQjFDO0kyRU1nQywwQkFBMkIsRUFBQTtFM0VOM0Q7O0kyRVNVLDhCQUErQixFQUFBO0UzRVR6Qzs7STJFYVUsZ0NBQWlDLEVBQUE7RTNFYjNDOztJMkVpQlUsaUNBQWtDLEVBQUE7RTNFakI1Qzs7STJFcUJVLCtCQUFnQyxFQUFBO0UzRXJCMUM7STJFTWdDLHdCQUEyQixFQUFBO0UzRU4zRDs7STJFU1UsNEJBQStCLEVBQUE7RTNFVHpDOztJMkVhVSw4QkFBaUMsRUFBQTtFM0ViM0M7O0kyRWlCVSwrQkFBa0MsRUFBQTtFM0VqQjVDOztJMkVxQlUsNkJBQWdDLEVBQUE7RTNFckIxQztJMkUyQnVCLHVCQUF1QixFQUFBO0UzRTNCOUM7O0kyRThCTSwyQkFBMkIsRUFBQTtFM0U5QmpDOztJMkVrQ00sNkJBQTZCLEVBQUE7RTNFbENuQzs7STJFc0NNLDhCQUE4QixFQUFBO0UzRXRDcEM7O0kyRTBDTSw0QkFBNEIsRUFBQSxFQUM3Qjs7QTlEVkQ7RWJqQ0o7STJFakJ3QyxvQkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSx3QkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLDBCQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsMkJBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSx5QkFBc0MsRUFBQTtFM0VFaEQ7STJFakJ3QywwQkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSw4QkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLGdDQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsaUNBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSwrQkFBc0MsRUFBQTtFM0VFaEQ7STJFakJ3Qyx5QkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSw2QkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLCtCQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsZ0NBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSw4QkFBc0MsRUFBQTtFM0VFaEQ7STJFakJ3Qyx1QkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSwyQkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLDZCQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsOEJBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSw0QkFBc0MsRUFBQTtFM0VFaEQ7STJFakJ3Qyx5QkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSw2QkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLCtCQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsZ0NBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSw4QkFBc0MsRUFBQTtFM0VFaEQ7STJFakJ3Qyx1QkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSwyQkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLDZCQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsOEJBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSw0QkFBc0MsRUFBQTtFM0VFaEQ7STJFakJ3QyxxQkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSx5QkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLDJCQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsNEJBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSwwQkFBc0MsRUFBQTtFM0VFaEQ7STJFakJ3QywyQkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSwrQkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLGlDQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsa0NBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSxnQ0FBc0MsRUFBQTtFM0VFaEQ7STJFakJ3QywwQkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSw4QkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLGdDQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsaUNBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSwrQkFBc0MsRUFBQTtFM0VFaEQ7STJFakJ3Qyx3QkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSw0QkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLDhCQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsK0JBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSw2QkFBc0MsRUFBQTtFM0VFaEQ7STJFakJ3QywwQkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSw4QkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLGdDQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsaUNBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSwrQkFBc0MsRUFBQTtFM0VFaEQ7STJFakJ3Qyx3QkFBNEIsRUFBQTtFM0VpQnBFOztJMkVkVSw0QkFBb0MsRUFBQTtFM0VjOUM7O0kyRVZVLDhCQUF3QyxFQUFBO0UzRVVsRDs7STJFTlUsK0JBQTBDLEVBQUE7RTNFTXBEOztJMkVGVSw2QkFBc0MsRUFBQTtFM0VFaEQ7STJFTWdDLDJCQUEyQixFQUFBO0UzRU4zRDs7STJFU1UsK0JBQStCLEVBQUE7RTNFVHpDOztJMkVhVSxpQ0FBaUMsRUFBQTtFM0ViM0M7O0kyRWlCVSxrQ0FBa0MsRUFBQTtFM0VqQjVDOztJMkVxQlUsZ0NBQWdDLEVBQUE7RTNFckIxQztJMkVNZ0MsMEJBQTJCLEVBQUE7RTNFTjNEOztJMkVTVSw4QkFBK0IsRUFBQTtFM0VUekM7O0kyRWFVLGdDQUFpQyxFQUFBO0UzRWIzQzs7STJFaUJVLGlDQUFrQyxFQUFBO0UzRWpCNUM7O0kyRXFCVSwrQkFBZ0MsRUFBQTtFM0VyQjFDO0kyRU1nQyx3QkFBMkIsRUFBQTtFM0VOM0Q7O0kyRVNVLDRCQUErQixFQUFBO0UzRVR6Qzs7STJFYVUsOEJBQWlDLEVBQUE7RTNFYjNDOztJMkVpQlUsK0JBQWtDLEVBQUE7RTNFakI1Qzs7STJFcUJVLDZCQUFnQyxFQUFBO0UzRXJCMUM7STJFTWdDLDBCQUEyQixFQUFBO0UzRU4zRDs7STJFU1UsOEJBQStCLEVBQUE7RTNFVHpDOztJMkVhVSxnQ0FBaUMsRUFBQTtFM0ViM0M7O0kyRWlCVSxpQ0FBa0MsRUFBQTtFM0VqQjVDOztJMkVxQlUsK0JBQWdDLEVBQUE7RTNFckIxQztJMkVNZ0Msd0JBQTJCLEVBQUE7RTNFTjNEOztJMkVTVSw0QkFBK0IsRUFBQTtFM0VUekM7O0kyRWFVLDhCQUFpQyxFQUFBO0UzRWIzQzs7STJFaUJVLCtCQUFrQyxFQUFBO0UzRWpCNUM7O0kyRXFCVSw2QkFBZ0MsRUFBQTtFM0VyQjFDO0kyRTJCdUIsdUJBQXVCLEVBQUE7RTNFM0I5Qzs7STJFOEJNLDJCQUEyQixFQUFBO0UzRTlCakM7O0kyRWtDTSw2QkFBNkIsRUFBQTtFM0VsQ25DOztJMkVzQ00sOEJBQThCLEVBQUE7RTNFdENwQzs7STJFMENNLDRCQUE0QixFQUFBLEVBQzdCOztBOURWRDtFYmpDSjtJMkVqQndDLG9CQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLHdCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsMEJBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSwyQkFBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLHlCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLDBCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDhCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsZ0NBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSxpQ0FBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLCtCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLHlCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDZCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsK0JBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSxnQ0FBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLDhCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLHVCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDJCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsNkJBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSw4QkFBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLDRCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLHlCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDZCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsK0JBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSxnQ0FBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLDhCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLHVCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDJCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsNkJBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSw4QkFBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLDRCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLHFCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLHlCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsMkJBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSw0QkFBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLDBCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLDJCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLCtCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsaUNBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSxrQ0FBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLGdDQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLDBCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDhCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsZ0NBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSxpQ0FBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLCtCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLHdCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDRCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsOEJBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSwrQkFBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLDZCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLDBCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDhCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsZ0NBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSxpQ0FBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLCtCQUFzQyxFQUFBO0UzRUVoRDtJMkVqQndDLHdCQUE0QixFQUFBO0UzRWlCcEU7O0kyRWRVLDRCQUFvQyxFQUFBO0UzRWM5Qzs7STJFVlUsOEJBQXdDLEVBQUE7RTNFVWxEOztJMkVOVSwrQkFBMEMsRUFBQTtFM0VNcEQ7O0kyRUZVLDZCQUFzQyxFQUFBO0UzRUVoRDtJMkVNZ0MsMkJBQTJCLEVBQUE7RTNFTjNEOztJMkVTVSwrQkFBK0IsRUFBQTtFM0VUekM7O0kyRWFVLGlDQUFpQyxFQUFBO0UzRWIzQzs7STJFaUJVLGtDQUFrQyxFQUFBO0UzRWpCNUM7O0kyRXFCVSxnQ0FBZ0MsRUFBQTtFM0VyQjFDO0kyRU1nQywwQkFBMkIsRUFBQTtFM0VOM0Q7O0kyRVNVLDhCQUErQixFQUFBO0UzRVR6Qzs7STJFYVUsZ0NBQWlDLEVBQUE7RTNFYjNDOztJMkVpQlUsaUNBQWtDLEVBQUE7RTNFakI1Qzs7STJFcUJVLCtCQUFnQyxFQUFBO0UzRXJCMUM7STJFTWdDLHdCQUEyQixFQUFBO0UzRU4zRDs7STJFU1UsNEJBQStCLEVBQUE7RTNFVHpDOztJMkVhVSw4QkFBaUMsRUFBQTtFM0ViM0M7O0kyRWlCVSwrQkFBa0MsRUFBQTtFM0VqQjVDOztJMkVxQlUsNkJBQWdDLEVBQUE7RTNFckIxQztJMkVNZ0MsMEJBQTJCLEVBQUE7RTNFTjNEOztJMkVTVSw4QkFBK0IsRUFBQTtFM0VUekM7O0kyRWFVLGdDQUFpQyxFQUFBO0UzRWIzQzs7STJFaUJVLGlDQUFrQyxFQUFBO0UzRWpCNUM7O0kyRXFCVSwrQkFBZ0MsRUFBQTtFM0VyQjFDO0kyRU1nQyx3QkFBMkIsRUFBQTtFM0VOM0Q7O0kyRVNVLDRCQUErQixFQUFBO0UzRVR6Qzs7STJFYVUsOEJBQWlDLEVBQUE7RTNFYjNDOztJMkVpQlUsK0JBQWtDLEVBQUE7RTNFakI1Qzs7STJFcUJVLDZCQUFnQyxFQUFBO0UzRXJCMUM7STJFMkJ1Qix1QkFBdUIsRUFBQTtFM0UzQjlDOztJMkU4Qk0sMkJBQTJCLEVBQUE7RTNFOUJqQzs7STJFa0NNLDZCQUE2QixFQUFBO0UzRWxDbkM7O0kyRXNDTSw4QkFBOEIsRUFBQTtFM0V0Q3BDOztJMkUwQ00sNEJBQTRCLEVBQUEsRUFDN0I7O0E5RFZEO0ViakNKO0kyRWpCd0Msb0JBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsd0JBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSwwQkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLDJCQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUseUJBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MsMEJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsOEJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSxnQ0FBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLGlDQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsK0JBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MseUJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsNkJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSwrQkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLGdDQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsOEJBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MsdUJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsMkJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSw2QkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLDhCQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsNEJBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MseUJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsNkJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSwrQkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLGdDQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsOEJBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MsdUJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsMkJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSw2QkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLDhCQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsNEJBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MscUJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUseUJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSwyQkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLDRCQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsMEJBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MsMkJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsK0JBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSxpQ0FBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLGtDQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsZ0NBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MsMEJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsOEJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSxnQ0FBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLGlDQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsK0JBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0Msd0JBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsNEJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSw4QkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLCtCQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsNkJBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0MsMEJBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsOEJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSxnQ0FBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLGlDQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsK0JBQXNDLEVBQUE7RTNFRWhEO0kyRWpCd0Msd0JBQTRCLEVBQUE7RTNFaUJwRTs7STJFZFUsNEJBQW9DLEVBQUE7RTNFYzlDOztJMkVWVSw4QkFBd0MsRUFBQTtFM0VVbEQ7O0kyRU5VLCtCQUEwQyxFQUFBO0UzRU1wRDs7STJFRlUsNkJBQXNDLEVBQUE7RTNFRWhEO0kyRU1nQywyQkFBMkIsRUFBQTtFM0VOM0Q7O0kyRVNVLCtCQUErQixFQUFBO0UzRVR6Qzs7STJFYVUsaUNBQWlDLEVBQUE7RTNFYjNDOztJMkVpQlUsa0NBQWtDLEVBQUE7RTNFakI1Qzs7STJFcUJVLGdDQUFnQyxFQUFBO0UzRXJCMUM7STJFTWdDLDBCQUEyQixFQUFBO0UzRU4zRDs7STJFU1UsOEJBQStCLEVBQUE7RTNFVHpDOztJMkVhVSxnQ0FBaUMsRUFBQTtFM0ViM0M7O0kyRWlCVSxpQ0FBa0MsRUFBQTtFM0VqQjVDOztJMkVxQlUsK0JBQWdDLEVBQUE7RTNFckIxQztJMkVNZ0Msd0JBQTJCLEVBQUE7RTNFTjNEOztJMkVTVSw0QkFBK0IsRUFBQTtFM0VUekM7O0kyRWFVLDhCQUFpQyxFQUFBO0UzRWIzQzs7STJFaUJVLCtCQUFrQyxFQUFBO0UzRWpCNUM7O0kyRXFCVSw2QkFBZ0MsRUFBQTtFM0VyQjFDO0kyRU1nQywwQkFBMkIsRUFBQTtFM0VOM0Q7O0kyRVNVLDhCQUErQixFQUFBO0UzRVR6Qzs7STJFYVUsZ0NBQWlDLEVBQUE7RTNFYjNDOztJMkVpQlUsaUNBQWtDLEVBQUE7RTNFakI1Qzs7STJFcUJVLCtCQUFnQyxFQUFBO0UzRXJCMUM7STJFTWdDLHdCQUEyQixFQUFBO0UzRU4zRDs7STJFU1UsNEJBQStCLEVBQUE7RTNFVHpDOztJMkVhVSw4QkFBaUMsRUFBQTtFM0ViM0M7O0kyRWlC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QUE2QjtFQUM3QixTQUFTLEVBQUE7O0FoRm9CWDtFNkVtQ3dCLGdDQUFnQyxFQUFBOztBN0VuQ3hEO0U2RXNDRSxpQ0FBaUM7RUFDakMsZ0NBQWdDLEVBQUE7O0E3RXZDbEM7RTZFNENjLHlCQUF5QixFQUFBOztBN0U1Q3ZDO0VpRnBCRSw4QkFBOEIsRUFBQTs7QWpGb0JoQztFaUZoQkUsNkJBQTZCLEVBQUEiLCJmaWxlIjoidG9nZ2xlLWJvb3RzdHJhcC1kYXJrLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlcyc7XG5cbkBpbXBvcnQgJ2RhcmstdmFyaWFibGVzJztcblxuQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucyc7XG5AaW1wb3J0ICdtaXhpbnMtb3ZlcnJpZGVzJztcbkBpbXBvcnQgJ2RhcmstbWl4aW5zJztcblxuaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDJcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gM1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgkYmxhY2ssIDApOyAvLyA1XG59XG5cbmJvZHkuYm9vdHN0cmFwLWRhcmsge1xuICAgIG1hcmdpbjogMDsgLy8gMVxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAzXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7IC8vIDJcbn1cblxuLmJvb3RzdHJhcC1kYXJrIHtcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3Mvcm9vdCc7XG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3JlYm9vdCc7XG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3R5cGUnO1xuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9pbWFnZXMnO1xuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9jb2RlJztcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZ3JpZCc7XG5cbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdGFibGVzJztcbiAgICBAaW1wb3J0ICdkYXJrLXRhYmxlcyc7XG5cbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMnO1xuICAgIEBpbXBvcnQgJ2Zvcm0tb3ZlcnJpZGVzJztcblxuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9idXR0b25zJztcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdHJhbnNpdGlvbnMnO1xuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9kcm9wZG93bic7XG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2J1dHRvbi1ncm91cCc7XG5cbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaW5wdXQtZ3JvdXAnO1xuICAgIEBpbXBvcnQgJ2RhcmstaW5wdXQtZ3JvdXAnO1xuXG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2N1c3RvbS1mb3Jtcyc7XG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL25hdic7XG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL25hdmJhcic7XG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2NhcmQnO1xuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9icmVhZGNydW1iJztcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvcGFnaW5hdGlvbic7XG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2JhZGdlJztcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvanVtYm90cm9uJztcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYWxlcnQnO1xuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9wcm9ncmVzcyc7XG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21lZGlhJztcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbGlzdC1ncm91cCc7XG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Nsb3NlJztcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdG9hc3RzJztcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbW9kYWwnO1xuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy90b29sdGlwJztcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvcG9wb3Zlcic7XG4gICAgQGltcG9ydCAnbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Nhcm91c2VsJztcbiAgICBAaW1wb3J0ICdub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3Mvc3Bpbm5lcnMnO1xuICAgIEBpbXBvcnQgJ25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMnO1xuXG4gICAgQGltcG9ydCAndGhlbWVkLXV0aWxpdGllcy1kYXJrJztcblxuICAgIEBpbXBvcnQgJ2Rhcmstc3R5bGVzJztcbn1cbiIsIiRmb3Jldm9sdmUtZ3JlZW46ICMwMDdmMDA7XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlXG4kd2hpdGU6ICAgICNmZmY7XG4kZ3JheS0xMDA6ICNmOGY5ZmE7XG4kZ3JheS0yMDA6ICNlOWVjZWY7XG4kZ3JheS0zMDA6ICNkZWUyZTY7XG4kZ3JheS00MDA6ICNjZWQ0ZGE7XG4kZ3JheS01MDA6ICNhZGI1YmQ7XG4kZ3JheS02MDA6ICM2Yzc1N2Q7XG4kZ3JheS03MDA6ICM0OTUwNTc7XG4kZ3JheS04MDA6ICMzNDNhNDA7XG4kZ3JheS05MDA6ICMyMTI1Mjk7XG4kYmxhY2s6ICAgICMwMDA7XG5cbiRjb2xvci1kYXJrZXItcGVyY2VudC1mdWxsOiAyMCU7XG4kY29sb3ItZGFya2VyLXBlcmNlbnQtaGFsZjogJGNvbG9yLWRhcmtlci1wZXJjZW50LWZ1bGwgLyAyO1xuJGNvbG9yLWRhcmtlci1wZXJjZW50LXF1YXJ0ZXI6ICRjb2xvci1kYXJrZXItcGVyY2VudC1oYWxmIC8gMjtcbiRjb2xvci1kYXJrZXItcGVyY2VudC1ub25lOiAwO1xuXG4kYmx1ZTogICAgbGlnaHRlbigjMDA3YmZmLCAkY29sb3ItZGFya2VyLXBlcmNlbnQtaGFsZik7XG4kaW5kaWdvOiAgZGFya2VuKCM2NjEwZjIsICRjb2xvci1kYXJrZXItcGVyY2VudC1ub25lKTtcbiRwdXJwbGU6ICBkYXJrZW4oIzZmNDJjMSwgJGNvbG9yLWRhcmtlci1wZXJjZW50LW5vbmUpO1xuJHBpbms6ICAgIGRhcmtlbigjZTgzZThjLCAkY29sb3ItZGFya2VyLXBlcmNlbnQtbm9uZSk7XG4kcmVkOiAgICAgZGFya2VuKCNkYzM1NDUsICRjb2xvci1kYXJrZXItcGVyY2VudC1ub25lKTtcbiRvcmFuZ2U6ICBkYXJrZW4oI2ZkN2UxNCwgJGNvbG9yLWRhcmtlci1wZXJjZW50LW5vbmUpO1xuJHllbGxvdzogIGxpZ2h0ZW4oI2ZmYzEwNywgJGNvbG9yLWRhcmtlci1wZXJjZW50LWhhbGYpO1xuJGdyZWVuOiAgIGRhcmtlbigjMjhhNzQ1LCAkY29sb3ItZGFya2VyLXBlcmNlbnQtbm9uZSk7XG4kdGVhbDogICAgZGFya2VuKCMyMGM5OTcsICRjb2xvci1kYXJrZXItcGVyY2VudC1ub25lKTtcbiRjeWFuOiAgICBsaWdodGVuKCMxN2EyYjgsICRjb2xvci1kYXJrZXItcGVyY2VudC1ub25lKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlO1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW47XG4kaW5mbzogICAgICAgICAgJGN5YW47XG4kd2FybmluZzogICAgICAgJG9yYW5nZTtcbiRkYW5nZXI6ICAgICAgICAkcmVkO1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTMwMDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDA7XG5cbi8vJGJvZHktYmc6ICAgICAgICRncmF5LTkwMDsgLy8jMUUxRTFFO1xuJGJvZHktYmc6ICAgICAjMTkxZDIxO1xuJGJvZHktY29sb3I6ICAjZDNkM2QzOyAvLyRncmF5LTIwMDsgLy8jRDRENEQ0O1xuXG4keWlxLXRleHQtZGFyazogJGdyYXktOTAwO1xuJHlpcS10ZXh0LWxpZ2h0OiAkZ3JheS00MDA7XG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJvZHktY29sb3IsIDE1JSk7XG4vLyAkbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgbm9uZTtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSk7XG4vLyRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICB1bmRlcmxpbmU7XG5cblxuLy8gVXRpbGl0aWVzIChib3JkZXJzKVxuJGJvcmRlci1jb2xvcjogJGRhcms7XG5cbi8vIENhcmRzXG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4xMjUpO1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDMpO1xuLy8gJGNhcmQtY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTIwMDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAkZ3JheS05MDA7IC8vJGJvZHktYmcgP1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjEyNSk7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS03MDAgJGdyYXktNzAwICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS0xMDA7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkYm9keS1iZztcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRncmF5LTcwMCAkZ3JheS03MDAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuXG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICRibGFjaztcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgICRwcmltYXJ5O1xuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJvZHktYmcsIC4wNSk7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjEyNSk7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTkwMDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmc7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmc7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTQwMDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnO1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDA7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3I7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yO1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktODAwO1xuXG4vLyBGb3Jtc1xuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRibGFjaztcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS04MDA7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0zMDA7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNjAwO1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCR3aGl0ZSwgLjA3NSk7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZztcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpO1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvcjtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvcjtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS04MDA7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yO1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNDAwO1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnO1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktODAwO1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgJGdyYXktMjAwO1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJHdoaXRlLCAuMDc1KTtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3I7XG5cbi8vIE1vZGFsc1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAkYm9keS1iZztcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgcmdiYSgkd2hpdGUsIC4yKTtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktODAwO1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcblxuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkd2hpdGU7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgIDAgMXB4IDAgJGJsYWNrO1xuXG4vLyAvLyBUYWJsZXNcbi8vICR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50O1xuLy8gJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSk7XG4vLyAkdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA3NSk7XG4vLyAkdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICAkdGFibGUtaG92ZXItYmc7XG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvcjtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRib3JkZXItY29sb3I7XG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3I7XG5cbi8vICR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMDtcbi8vICR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMDtcblxuLy8gJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgICAkZ3JheS05MDA7XG4vLyAkdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpO1xuLy8gJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSk7XG4vLyAkdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICAgIGxpZ2h0ZW4oJGdyYXktOTAwLCA3LjUlKTtcbi8vICR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgJGJvZHktYmc7XG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDA7XG5cbi8vICR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkO1xuXG5cbi8vIEp1bWJvdHJvblxuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktODAwO1xuXG4vLyBIUlxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC4xKTtcblxuXG4vLyBUb2FzdHNcbi8vJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuODUpO1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMSk7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNzVyZW0gcmdiYSgkd2hpdGUsIC4xKTtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNDAwO1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSgkYmxhY2ssIC44NSk7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIC4wNSk7XG5cbi8vIERyb3Bkb3duc1xuLy9cbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yO1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrO1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC4xNSk7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS04MDA7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkd2hpdGUsIC4xNzUpO1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS0xMDA7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBsaWdodGVuKCRncmF5LTEwMCwgNSUpO1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktOTAwO1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnO1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS00MDA7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTQwMDtcblxuLy8gQnJlYWRjcnVtYnNcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTgwMDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTQwMDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRncmF5LTQwMDtcblxuLy8gUGFnaW5hdGlvblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3I7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkYmxhY2s7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS03MDA7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdztcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3I7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS04MDA7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS03MDA7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmc7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTQwMDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRibGFjaztcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTcwMDtcbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRncmF5czogKCkgIWRlZmF1bHQ7XG4kZ3JheXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gICAgXCI5MDBcIjogJGdyYXktOTAwXG4gICksXG4gICRncmF5c1xuKTtcblxuJGJsdWU6ICAgICMwMDdiZmYgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNlODNlOGMgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzI4YTc0NSAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMxN2EyYjggIWRlZmF1bHQ7XG5cbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xuJGNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICAgIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiAgKSxcbiAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICAgIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICAgIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgICBcImluZm9cIjogICAgICAgJGluZm8sXG4gICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICAgIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICAgIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gICAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4gICksXG4gICR0aGVtZS1jb2xvcnNcbik7XG5cbi8vIFNldCBhIHNwZWNpZmljIGp1bXAgcG9pbnQgZm9yIHJlcXVlc3RpbmcgY29sb3IganVtcHNcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogICAgICA4JSAhZGVmYXVsdDtcblxuLy8gVGhlIHlpcSBsaWdodG5lc3MgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gdGhlIGxpZ2h0bmVzcyBvZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJkYXJrXCIgdG8gXCJsaWdodFwiLiBBY2NlcHRhYmxlIHZhbHVlcyBhcmUgYmV0d2VlbiAwIGFuZCAyNTUuXG4keWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkOiAgMTUwICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIFlJUSBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiR5aXEtdGV4dC1kYXJrOiAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4keWlxLXRleHQtbGlnaHQ6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBDaGFyYWN0ZXJzIHdoaWNoIGFyZSBlc2NhcGVkIGJ5IHRoZSBlc2NhcGUtc3ZnIGZ1bmN0aW9uXG4kZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gIChcIjxcIiwgXCIlM2NcIiksXG4gIChcIj5cIiwgXCIlM2VcIiksXG4gIChcIiNcIiwgXCIlMjNcIiksXG4gIChcIihcIiwgXCIlMjhcIiksXG4gIChcIilcIiwgXCIlMjlcIiksXG4pICFkZWZhdWx0O1xuXG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeTogICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkLCBubyBsb25nZXIgYWZmZWN0cyBhbnkgY29tcGlsZWQgQ1NTXG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnM6ICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmludC1zdHlsZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6ICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuXG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xuJHNwYWNlcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDA6IDAsXG4gICAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAgIDI6ICgkc3BhY2VyICogLjUpLFxuICAgIDM6ICRzcGFjZXIsXG4gICAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICAgIDU6ICgkc3BhY2VyICogMylcbiAgKSxcbiAgJHNwYWNlcnNcbik7XG5cbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cbiRzaXplczogKCkgIWRlZmF1bHQ7XG4kc2l6ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDI1OiAyNSUsXG4gICAgNTA6IDUwJSxcbiAgICA3NTogNzUlLFxuICAgIDEwMDogMTAwJSxcbiAgICBhdXRvOiBhdXRvXG4gICksXG4gICRzaXplc1xuKTtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbi8vIERhcmtlbiBwZXJjZW50YWdlIGZvciBsaW5rcyB3aXRoIGAudGV4dC0qYCBjbGFzcyAoZS5nLiBgLnRleHQtc3VjY2Vzc2ApXG4kZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlOiAxNSUgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcblxuJHJvdW5kZWQtcGlsbDogICAgICAgICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcblxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogKCkgIWRlZmF1bHQ7XG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiBqb2luKFxuICAoXG4gICAgKDIxIDkpLFxuICAgICgxNiA5KSxcbiAgICAoNCAzKSxcbiAgICAoMSAxKSxcbiAgKSxcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvc1xuKTtcblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICA4MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplOiAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiR0YWJsZS10aC1mb250LXdlaWdodDogICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItY29sb3I6ICAgICAgJHRhYmxlLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICBsaWdodGVuKCR0YWJsZS1kYXJrLWJnLCA3LjUlKSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLWxldmVsOiAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWxldmVsOiAgICAgICAgICAtNiAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgMCAwIDAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1zbTogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1sZzogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRsYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDI1JSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC41ZW0sICRpbnB1dC1wYWRkaW5nLXkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbSwgJGlucHV0LXBhZGRpbmcteSAvIDIpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXkgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LXNtICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtbGcgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LWxnICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI6ICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15OiAgICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14OiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg6ICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbjogICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWN1cnNvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplOiAgICAgIDUwJSA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3c6ICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1sYWJlbC1jb2xvcjogICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc6ICByZ2JhKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgLjUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3c6ICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93OiAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJvcmRlci1jb2xvcjogICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNmwyLjk3NCAyLjk5TDggMi4xOTN6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNCcgdmlld0JveD0nMCAwIDQgNCc+PHBhdGggc3Ryb2tlPScjeyRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3J9JyBkPSdNMCAyaDQnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3c6ICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICogMS43NSAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAvIDIgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgICAgICBzdWJ0cmFjdCgkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogNCkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgJGlucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodDogICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAxcmVtICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcbiRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzUnIHZpZXdCb3g9JzAgMCA0IDUnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ6ICAgICAgICAgIGVzY2FwZS1zdmcoJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yKSByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyIC8gJGN1c3RvbS1zZWxlY3QtYmctc2l6ZSBuby1yZXBlYXQgIWRlZmF1bHQ7IC8vIFVzZWQgc28gd2UgY2FuIGhhdmUgbXVsdGlwbGUgYmFja2dyb3VuZCBlbGVtZW50cyAoZS5nLiwgYXJyb3cgYW5kIGZlZWRiYWNrIGljb24pXG5cbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDogYWRkKDFlbSAqIC43NSwgKDIgKiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgKiAuNzUpICsgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgICBjZW50ZXIgcmlnaHQgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aDogICAgICAgICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc206ICAgICAgICAkaW5wdXQtcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc6ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoOiAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1iZzogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIC4xcmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gSUUvRWRnZVxuJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogICAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiAgICAgICAgICAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXRleHQ6IChcbiAgZW46IFwiQnJvd3NlXCJcbikgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICB0aGVtZS1jb2xvcihcImRhbmdlclwiKSAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyB2aWV3Qm94PScwIDAgMTIgMTInPjxjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLz48cGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLz48Y2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBzdHJva2U9J25vbmUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoKSAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZFxuICAgICksXG4gICAgXCJpbnZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWRcbiAgICApLFxuICApLFxuICAkZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuKTtcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuXG5cbi8vIE5hdnNcblxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0yMDAgJGdyYXktMjAwICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRncmF5LTMwMCAkZ3JheS0zMDAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtZGl2aWRlci1jb2xvcjogICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4teTogICAgICAgICAgICAgICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuXG5cbi8vIE5hdmJhclxuXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpIC8gMiAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtc2Nyb2xsLW1heC1oZWlnaHQ6ICAgICAgNzV2aCAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBzdWJ0cmFjdCgkZHJvcGRvd24tYm9yZGVyLXJhZGl1cywgJGRyb3Bkb3duLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkbmF2LWRpdmlkZXItbWFyZ2luLXkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuXG4vLyBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc206ICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgc3VidHJhY3QoJGNhcmQtYm9yZGVyLXJhZGl1cywgJGNhcmQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICFkZWZhdWx0O1xuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICFkZWZhdWx0O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgJHRvb2x0aXAtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgc3VidHJhY3QoJHBvcG92ZXItYm9yZGVyLXJhZGl1cywgJHBvcG92ZXItYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBUb2FzdHNcblxuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNzVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNGVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRiYWRnZS10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiAhZGVmYXVsdDtcbiRiYWRnZS1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgICAgICAgIC42ZW0gIWRlZmF1bHQ7XG4vLyBVc2UgYSBoaWdoZXIgdGhhbiBub3JtYWwgdmFsdWUgdG8gZW5zdXJlIGNvbXBsZXRlbHkgcm91bmRlZCBlZGdlcyB3aGVuXG4vLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcblxuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4vLyBNYXJnaW4gYmV0d2VlbiBlbGVtZW50cyBpbiBmb290ZXIsIG11c3QgYmUgbG93ZXIgdGhhbiBvciBlcXVhbCB0byAyICogJG1vZGFsLWlubmVyLXBhZGRpbmdcbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6IHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTogICAgICAgICAgICAgc2NhbGUoMS4wMikgIWRlZmF1bHQ7XG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRhbGVydC1iZy1sZXZlbDogICAgICAgICAgICAgICAgICAgIC0xMCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItbGV2ZWw6ICAgICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yLWxldmVsOiAgICAgICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuNzUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItZm9udC1zaXplOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNUw0LjI1IDRsMi41LTIuNUw1LjI1IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjVMMy43NSA0bC0yLjUgMi41TDIuNzUgOGw0LTQtNC00eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG5cblxuLy8gU3Bpbm5lcnNcblxuJHNwaW5uZXItd2lkdGg6ICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgLjI1ZW0gIWRlZmF1bHQ7XG5cbiRzcGlubmVyLXdpZHRoLXNtOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodC1zbTogICAgICAgJHNwaW5uZXItd2lkdGgtc20gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGgtc206IC4yZW0gIWRlZmF1bHQ7XG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAwIDFweCAwICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgIDg3LjUlICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJHBpbmsgIWRlZmF1bHQ7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vIFV0aWxpdGllc1xuXG4kZGlzcGxheXM6IG5vbmUsIGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLXJvdywgdGFibGUtY2VsbCwgZmxleCwgaW5saW5lLWZsZXggIWRlZmF1bHQ7XG4kb3ZlcmZsb3dzOiBhdXRvLCBoaWRkZW4gIWRlZmF1bHQ7XG4kcG9zaXRpb25zOiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreSAhZGVmYXVsdDtcbiR1c2VyLXNlbGVjdHM6IGFsbCwgYXV0bywgbm9uZSAhZGVmYXVsdDtcblxuXG4vLyBQcmludGluZ1xuXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICAgICAgICAgICAgICBhMyAhZGVmYXVsdDtcbiRwcmludC1ib2R5LW1pbi13aWR0aDogICAgICAgICAgICAgIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikgIWRlZmF1bHQ7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgZm9udC1yZXNpemluZ1xuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnNcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIGZvbnQgc2l6ZVxuJHJmcy1iYXNlLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtZm9udC1zaXplLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSBmb250LXNpemUgc3RhcnRzIGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG4vLyBSZXNpemUgZm9udC1zaXplIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gXCJudW1iZXJcIiBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMgdG8gZmFsc2VcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtZm9udC1zaXplIHVuaXRcbiRyZnMtYmFzZS1mb250LXNpemUtdW5pdDogdW5pdCgkcmZzLWJhc2UtZm9udC1zaXplKTtcblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtZm9udC1zaXplIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJweFwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogJHJmcy1iYXNlLWZvbnQtc2l6ZSAvICgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicmVtXCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiAkcmZzLWJhc2UtZm9udC1zaXplIC8gKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicHhcIiB7XG4gICRyZnMtYnJlYWtwb2ludDogJHJmcy1icmVha3BvaW50IC8gKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicmVtXCIgb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG59XG5cbi8vIFJlc3BvbnNpdmUgZm9udC1zaXplIG1peGluXG5AbWl4aW4gcmZzKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgLy8gQ2FjaGUgJGZzIHVuaXRcbiAgJGZzLXVuaXQ6IGlmKHR5cGUtb2YoJGZzKSA9PSBcIm51bWJlclwiLCB1bml0KCRmcyksIGZhbHNlKTtcblxuICAvLyBBZGQgIWltcG9ydGFudCBzdWZmaXggaWYgbmVlZGVkXG4gICRyZnMtc3VmZml4OiBpZigkaW1wb3J0YW50LCBcIiAhaW1wb3J0YW50XCIsIFwiXCIpO1xuXG4gIC8vIElmICRmcyBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkZnMgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICBAaWYgbm90ICRmcy11bml0IG9yICRmcy11bml0ICE9IFwiXCIgYW5kICRmcy11bml0ICE9IFwicHhcIiBhbmQgJGZzLXVuaXQgIT0gXCJyZW1cIiBvciAkZnMgPT0gMCB7XG4gICAgZm9udC1zaXplOiAjeyRmc30jeyRyZnMtc3VmZml4fTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gVmFyaWFibGVzIGZvciBzdG9yaW5nIHN0YXRpYyBhbmQgZmx1aWQgcmVzY2FsaW5nXG4gICAgJHJmcy1zdGF0aWM6IG51bGw7XG4gICAgJHJmcy1mbHVpZDogbnVsbDtcblxuICAgIC8vIFJlbW92ZSBweC11bml0IGZyb20gJGZzIGZvciBjYWxjdWxhdGlvbnNcbiAgICBAaWYgJGZzLXVuaXQgPT0gXCJweFwiIHtcbiAgICAgICRmczogJGZzIC8gKCRmcyAqIDAgKyAxKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGZzLXVuaXQgPT0gXCJyZW1cIiB7XG4gICAgICAkZnM6ICRmcyAvICgkZnMgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgZGVmYXVsdCBmb250LXNpemVcbiAgICBAaWYgJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0ge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzIC8gJHJmcy1yZW0tdmFsdWV9cmVtI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIGlmICRyZnMtZm9udC1zaXplLXVuaXQgPT0gcHgge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzfXB4I3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciBcImAjeyRyZnMtZm9udC1zaXplLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWZvbnQtc2l6ZS11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbiAgICB9XG5cbiAgICAvLyBPbmx5IGFkZCBtZWRpYSBxdWVyeSBpZiBmb250LXNpemUgaXMgYmlnZ2VyIGFzIHRoZSBtaW5pbXVtIGZvbnQtc2l6ZVxuICAgIC8vIElmICRyZnMtZmFjdG9yID09IDEsIG5vIHJlc2NhbGluZyB3aWxsIHRha2UgcGxhY2VcbiAgICBAaWYgJGZzID4gJHJmcy1iYXNlLWZvbnQtc2l6ZSBhbmQgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMge1xuICAgICAgJG1pbi13aWR0aDogbnVsbDtcbiAgICAgICR2YXJpYWJsZS11bml0OiBudWxsO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLW1pbjogJHJmcy1iYXNlLWZvbnQtc2l6ZSArICgkZnMgLSAkcmZzLWJhc2UtZm9udC1zaXplKSAvICRyZnMtZmFjdG9yO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGdpdmVuIGZvbnQtc2l6ZSBhbmQgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLWRpZmY6ICRmcyAtICRmcy1taW47XG5cbiAgICAgIC8vIEJhc2UgZm9udC1zaXplIGZvcm1hdHRpbmdcbiAgICAgIC8vIE5vIG5lZWQgdG8gY2hlY2sgaWYgdGhlIHVuaXQgaXMgdmFsaWQsIGJlY2F1c2Ugd2UgZGlkIHRoYXQgYmVmb3JlXG4gICAgICAkbWluLXdpZHRoOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3skZnMtbWluIC8gJHJmcy1yZW0tdmFsdWV9cmVtLCAjeyRmcy1taW59cHgpO1xuXG4gICAgICAvLyBJZiB0d28tZGltZW5zaW9uYWwsIHVzZSBzbWFsbGVzdCBvZiBzY3JlZW4gd2lkdGggYW5kIGhlaWdodFxuICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICR2YXJpYWJsZS13aWR0aDogI3skZnMtZGlmZiAqIDEwMCAvICRyZnMtYnJlYWtwb2ludH0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgLy8gU2V0IHRoZSBjYWxjdWxhdGVkIGZvbnQtc2l6ZS5cbiAgICAgICRyZnMtZmx1aWQ6IGNhbGMoI3skbWluLXdpZHRofSArICN7JHZhcmlhYmxlLXdpZHRofSkgI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuXG4gICAgLy8gUmVuZGVyaW5nXG4gICAgQGlmICRyZnMtZmx1aWQgPT0gbnVsbCB7XG4gICAgICAvLyBPbmx5IHJlbmRlciBzdGF0aWMgZm9udC1zaXplIGlmIG5vIGZsdWlkIGZvbnQtc2l6ZSBpcyBhdmFpbGFibGVcbiAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRtcS12YWx1ZTogbnVsbDtcblxuICAgICAgLy8gUkZTIGJyZWFrcG9pbnQgZm9ybWF0dGluZ1xuICAgICAgQGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IGVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0ID09IHJlbSB7XG4gICAgICAgICRtcS12YWx1ZTogI3skcmZzLWJyZWFrcG9pbnQgLyAkcmZzLXJlbS12YWx1ZX0jeyRyZnMtYnJlYWtwb2ludC11bml0fTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4IHtcbiAgICAgICAgJG1xLXZhbHVlOiAjeyRyZnMtYnJlYWtwb2ludH1weDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZGlzYWJsZVwiIHtcbiAgICAgICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSxcbiAgICAgICAgLy8gd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBmb250IHNpemVcbiAgICAgICAgJixcbiAgICAgICAgLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgJi5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pLCAobWF4LWhlaWdodDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUaGUgZm9udC1zaXplICYgcmVzcG9uc2l2ZS1mb250LXNpemUgbWl4aW4gdXNlcyBSRlMgdG8gcmVzY2FsZSBmb250IHNpemVzXG5AbWl4aW4gZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG5cbkBtaXhpbiByZXNwb25zaXZlLWZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuIiwiOnJvb3Qge1xuICAvLyBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkYnAsICR2YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgLS1icmVha3BvaW50LSN7JGJwfTogI3skdmFsdWV9O1xuICB9XG5cbiAgLy8gVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tZm9udC1mYW1pbHktc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuLy8gUmVib290XG4vL1xuLy8gTm9ybWFsaXphdGlvbiBvZiBIVE1MIGVsZW1lbnRzLCBtYW51YWxseSBmb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzIHRvIHJlbW92ZVxuLy8gc3R5bGVzIHRhcmdldGluZyBpcnJlbGV2YW50IGJyb3dzZXJzIHdoaWxlIGFwcGx5aW5nIG5ldyBzdHlsZXMuXG4vL1xuLy8gTm9ybWFsaXplIGlzIGxpY2Vuc2VkIE1JVC4gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuXG5cbi8vIERvY3VtZW50XG4vL1xuLy8gMS4gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cbi8vIDIuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMuXG4vLyAzLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4vLyA0LiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbi8vIDUuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG59XG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLy8gMlxuICBsaW5lLWhlaWdodDogMS4xNTsgLy8gM1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDRcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKCRibGFjaywgMCk7IC8vIDVcbn1cblxuLy8gU2hpbSBmb3IgXCJuZXdcIiBIVE1MNSBzdHJ1Y3R1cmFsIGVsZW1lbnRzIHRvIGRpc3BsYXkgY29ycmVjdGx5IChJRTEwLCBvbGRlciBicm93c2Vycylcbi8vIFRPRE86IHJlbW92ZSBpbiB2NVxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuYXJ0aWNsZSwgYXNpZGUsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIEJvZHlcbi8vXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4vLyAyLiBBcyBhIGJlc3QgcHJhY3RpY2UsIGFwcGx5IGEgZGVmYXVsdCBgYmFja2dyb3VuZC1jb2xvcmAuXG4vLyAzLiBTZXQgYW4gZXhwbGljaXQgaW5pdGlhbCB0ZXh0LWFsaWduIHZhbHVlIHNvIHRoYXQgd2UgY2FuIGxhdGVyIHVzZVxuLy8gICAgdGhlIGBpbmhlcml0YCB2YWx1ZSBvbiB0aGluZ3MgbGlrZSBgPHRoPmAgZWxlbWVudHMuXG5cbmJvZHkge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gM1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZzsgLy8gMlxufVxuXG4vLyBGdXR1cmUtcHJvb2YgcnVsZTogaW4gYnJvd3NlcnMgdGhhdCBzdXBwb3J0IDpmb2N1cy12aXNpYmxlLCBzdXBwcmVzcyB0aGUgZm9jdXMgb3V0bGluZVxuLy8gb24gZWxlbWVudHMgdGhhdCBwcm9ncmFtbWF0aWNhbGx5IHJlY2VpdmUgZm9jdXMgYnV0IHdvdWxkbid0IG5vcm1hbGx5IHNob3cgYSB2aXNpYmxlXG4vLyBmb2N1cyBvdXRsaW5lLiBJbiBnZW5lcmFsLCB0aGlzIHdvdWxkIG1lYW4gdGhhdCB0aGUgb3V0bGluZSBpcyBvbmx5IGFwcGxpZWQgaWYgdGhlXG4vLyBpbnRlcmFjdGlvbiB0aGF0IGxlZCB0byB0aGUgZWxlbWVudCByZWNlaXZpbmcgcHJvZ3JhbW1hdGljIGZvY3VzIHdhcyBhIGtleWJvYXJkIGludGVyYWN0aW9uLFxuLy8gb3IgdGhlIGJyb3dzZXIgaGFzIHNvbWVob3cgZGV0ZXJtaW5lZCB0aGF0IHRoZSB1c2VyIGlzIHByaW1hcmlseSBhIGtleWJvYXJkIHVzZXIgYW5kL29yXG4vLyB3YW50cyBmb2N1cyBvdXRsaW5lcyB0byBhbHdheXMgYmUgcHJlc2VudGVkLlxuLy9cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvOmZvY3VzLXZpc2libGVcbi8vIGFuZCBodHRwczovL2RldmVsb3Blci5wYWNpZWxsb2dyb3VwLmNvbS9ibG9nLzIwMTgvMDMvZm9jdXMtdmlzaWJsZS1hbmQtYmFja3dhcmRzLWNvbXBhdGliaWxpdHkvXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgaGVpZ2h0OiAwOyAvLyAxXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG59XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIER1cGxpY2F0ZSBiZWhhdmlvciB0byB0aGUgZGF0YS0qIGF0dHJpYnV0ZSBmb3Igb3VyIHRvb2x0aXAgcGx1Z2luXG4vLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuLy8gMy4gQWRkIGV4cGxpY2l0IGN1cnNvciB0byBpbmRpY2F0ZSBjaGFuZ2VkIGJlaGF2aW9yLlxuLy8gNC4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gNS4gUHJldmVudCB0aGUgdGV4dC1kZWNvcmF0aW9uIHRvIGJlIHNraXBwZWQuXG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7IC8vIDFcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIGN1cnNvcjogaGVscDsgLy8gM1xuICBib3JkZXItYm90dG9tOiAwOyAvLyA0XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gNVxufVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiAkZHQtZm9udC13ZWlnaHQ7XG59XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXG59XG5cbnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDgwJSk7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDc1JSk7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7IGJvdHRvbTogLS4yNWVtOyB9XG5zdXAgeyB0b3A6IC0uNWVtOyB9XG5cblxuLy9cbi8vIExpbmtzXG4vL1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxufVxuXG4vLyBBbmQgdW5kbyB0aGVzZSBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGxpbmtzL25hbWVkIGFuY2hvcnMgKHdpdGhvdXQgaHJlZikuXG4vLyBJdCB3b3VsZCBiZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCB0byBqdXN0IHVzZSBhW2hyZWZdIGluIHByZXZpb3VzIGJsb2NrLCBidXQgdGhhdFxuLy8gY2F1c2VzIHNwZWNpZmljaXR5IGlzc3VlcyBpbiBtYW55IG90aGVyIHN0eWxlcyB0aGF0IGFyZSB0b28gY29tcGxleCB0byBmaXguXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTQwMlxuXG5hOm5vdChbaHJlZl0pOm5vdChbY2xhc3NdKSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy9cbi8vIENvZGVcbi8vXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pOyAvLyBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG59XG5cbnByZSB7XG4gIC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdG9wIG1hcmdpblxuICBtYXJnaW4tdG9wOiAwO1xuICAvLyBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvLyBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC8vIERpc2FibGUgYXV0by1oaWRpbmcgc2Nyb2xsYmFyIGluIElFICYgbGVnYWN5IEVkZ2UgdG8gYXZvaWQgb3ZlcmxhcCxcbiAgLy8gbWFraW5nIGl0IGltcG9zc2libGUgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgY29udGVudFxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjtcbn1cblxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuZmlndXJlIHtcbiAgLy8gQXBwbHkgYSBjb25zaXN0ZW50IG1hcmdpbiBzdHJhdGVneSAobWF0Y2hlcyBvdXIgdHlwZSBzdHlsZXMpLlxuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vXG4vLyBJbWFnZXMgYW5kIGNvbnRlbnRcbi8vXG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG59XG5cbnN2ZyB7XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBTVkcgb3ZlcmZsb3cgYnVnIGluIElFMTAvMTEgaXMgc3RpbGwgcmVxdWlyZWQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI2ODc4XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLy9cbi8vIFRhYmxlc1xuLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzXG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG59XG5cbi8vIDEuIFJlbW92ZXMgZm9udC13ZWlnaHQgYm9sZCBieSBpbmhlcml0aW5nXG4vLyAyLiBNYXRjaGVzIGRlZmF1bHQgYDx0ZD5gIGFsaWdubWVudCBieSBpbmhlcml0aW5nIGB0ZXh0LWFsaWduYC5cbi8vIDMuIEZpeCBhbGlnbm1lbnQgZm9yIFNhZmFyaVxuXG50aCB7XG4gIGZvbnQtd2VpZ2h0OiAkdGFibGUtdGgtZm9udC13ZWlnaHQ7IC8vIDFcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gMlxuICB0ZXh0LWFsaWduOiAtd2Via2l0LW1hdGNoLXBhcmVudDsgLy8gM1xufVxuXG5cbi8vXG4vLyBGb3Jtc1xuLy9cblxubGFiZWwge1xuICAvLyBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206ICRsYWJlbC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0MDkzXG5idXR0b24ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIEV4cGxpY2l0bHkgcmVtb3ZlIGZvY3VzIG91dGxpbmUgaW4gQ2hyb21pdW0gd2hlbiBpdCBzaG91bGRuJ3QgYmVcbi8vIHZpc2libGUgKGUuZy4gYXMgcmVzdWx0IG9mIG1vdXNlIGNsaWNrIG9yIHRvdWNoIHRhcCkuIEl0IGFscmVhZHlcbi8vIHNob3VsZCBiZSBkb2luZyB0aGlzIGF1dG9tYXRpY2FsbHksIGJ1dCBzZWVtcyB0byBjdXJyZW50bHkgYmVcbi8vIGNvbmZ1c2VkIGFuZCBhcHBsaWVzIGl0cyB2ZXJ5IHZpc2libGUgdHdvLXRvbmUgb3V0bGluZSBhbnl3YXkuXG5cbmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwOyAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmlcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2Vcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxufVxuXG4vLyBTZXQgdGhlIGN1cnNvciBmb3Igbm9uLWA8YnV0dG9uPmAgYnV0dG9uc1xuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzA1NjJcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHdvcmQtd3JhcCBpbiBTYWZhcmkuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0OTkwXG5zZWxlY3Qge1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cblxuXG4vLyAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bcbi8vICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbn1cblxuLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cbkBpZiAkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zIHtcbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtXG4gIHBhZGRpbmc6IDA7IC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC1cbn1cblxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAvLyBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXIgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgLy8gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gdW5saWtlIGUuZy4gYDxkaXY+YHMsIHdoaWNoIGhhdmUgYG1pbi13aWR0aDogMDtgIGJ5IGRlZmF1bHQuXG4gIC8vIFNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGZpZWxkc2V0cyBiZWhhdmUgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbiAgLy8gYW5kIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyN0aGUtZmllbGRzZXQtYW5kLWxlZ2VuZC1lbGVtZW50c1xuICBtaW4td2lkdGg6IDA7XG4gIC8vIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbi8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBAaW5jbHVkZSBmb250LXNpemUoMS41cmVtKTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG59XG5cbi8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuICAvLyBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbiAgLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbi8vXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbi8vXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG59XG5cbi8vXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcbi8vXG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRVxufVxuXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlIChmcm9tIFB1cmVDU1MpLlxuLy8gTmVlZGVkIGZvciBwcm9wZXIgZGlzcGxheSBpbiBJRSAxMC0uXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuXG4vL1xuLy8gSGVhZGluZ3Ncbi8vXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XG59XG5cbmgxLCAuaDEgeyBAaW5jbHVkZSBmb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7IH1cbmgyLCAuaDIgeyBAaW5jbHVkZSBmb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7IH1cbmgzLCAuaDMgeyBAaW5jbHVkZSBmb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7IH1cbmg0LCAuaDQgeyBAaW5jbHVkZSBmb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7IH1cbmg1LCAuaDUgeyBAaW5jbHVkZSBmb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7IH1cbmg2LCAuaDYgeyBAaW5jbHVkZSBmb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7IH1cblxuLmxlYWQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGxlYWQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRsZWFkLWZvbnQtd2VpZ2h0O1xufVxuXG4vLyBUeXBlIGRpc3BsYXkgY2xhc3Nlc1xuLmRpc3BsYXktMSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTEtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTEtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0yIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5Mi1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5Mi13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTMge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkzLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkzLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktNCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG5cblxuLy9cbi8vIEhvcml6b250YWwgcnVsZXNcbi8vXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogJGhyLW1hcmdpbi15O1xuICBtYXJnaW4tYm90dG9tOiAkaHItbWFyZ2luLXk7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cblxuc21hbGwsXG4uc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNtYWxsLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFyay1iZztcbn1cblxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG5cblxuLy9cbi8vIE1pc2Ncbi8vXG5cbi8vIEJ1aWxkcyBvbiBgYWJicmBcbi5pbml0aWFsaXNtIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDkwJSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG4uYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1mb250LXNpemUpO1xufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0XFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcbiAgfVxufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCgpIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQoKSB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLlxuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMXgpO1xuXG4gIC8vIEF1dG9wcmVmaXhlciB0YWtlcyBjYXJlIG9mIGFkZGluZyAtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gYW5kIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8sXG4gIC8vIGJ1dCBkb2Vzbid0IGNvbnZlcnQgZHBweD0+ZHBpLlxuICAvLyBUaGVyZSdzIG5vIHN1Y2ggdGhpbmcgYXMgdW5wcmVmaXhlZCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvIHNpbmNlIGl0J3Mgbm9uc3RhbmRhcmQuXG4gIC8vIENvbXBhdGliaWxpdHkgaW5mbzogaHR0cHM6Ly9jYW5pdXNlLmNvbS9jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7IC8vIFN0YW5kYXJkaXplZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0yeCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW1nLXJldGluYSgpYFwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4vL1xuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxuLy8gV2UgcHJldmlvdXNseSB0cmllZCB0aGUgXCJpbWFnZXMgYXJlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFwiIGFwcHJvYWNoIGluIEJvb3RzdHJhcCB2Mixcbi8vIGFuZCBhYmFuZG9uZWQgaXQgaW4gQm9vdHN0cmFwIHYzIGJlY2F1c2UgaXQgYnJlYWtzIGxvdHMgb2YgdGhpcmQtcGFydHkgd2lkZ2V0cyAoaW5jbHVkaW5nIEdvb2dsZSBNYXBzKVxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXG4vLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4MTc4XG4uaW1nLWZsdWlkIHtcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXItd2lkdGggc29saWQgJHRodW1ibmFpbC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbi5maWd1cmUge1xuICAvLyBFbnN1cmVzIHRoZSBjYXB0aW9uJ3MgdGV4dCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZpZ3VyZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyIC8gMjtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZmlndXJlLWNhcHRpb24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRmaWd1cmUtY2FwdGlvbi1jb2xvcjtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gcmVwbGFjZSBuZWdhdGl2ZSB2YWx1ZXMgd2l0aCAwXG5AZnVuY3Rpb24gdmFsaWQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgJHJldHVybjogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkcmFkaXVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgbWF4KCR2YWx1ZSwgMCkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sICR2YWx1ZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuIiwiLy8gSW5saW5lIGNvZGVcbmNvZGUge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgLy8gU3RyZWFtbGluZSB0aGUgc3R5bGUgd2hlbiBpbnNpZGUgYW5jaG9ycyB0byBhdm9pZCBicm9rZW4gdW5kZXJsaW5lIGFuZCBtb3JlXG4gIGEgPiAmIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBVc2VyIGlucHV0IHR5cGljYWxseSBlbnRlcmVkIHZpYSBrZXlib2FyZFxua2JkIHtcbiAgcGFkZGluZzogJGtiZC1wYWRkaW5nLXkgJGtiZC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgka2JkLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAka2JkLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAka2JkLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygka2JkLWJveC1zaGFkb3cpO1xuXG4gIGtiZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTAwJSk7XG4gICAgZm9udC13ZWlnaHQ6ICRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuLy8gQmxvY2tzIG9mIGNvZGVcbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRwcmUtY29sb3I7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxufVxuXG4vLyBFbmFibGUgc2Nyb2xsYWJsZSBibG9ja3Mgb2YgY29kZVxuLnByZS1zY3JvbGxhYmxlIHtcbiAgbWF4LWhlaWdodDogJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyIC8gMjtcbn1cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzYCBtaXhpblwiLCBcInY0LjUuMlwiLCBcInY1XCIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1hdXRvKCkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUmVzZXQgZWFybGllciBncmlkIHRpZXJzXG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06ICRzaXplIC8gJGNvbHVtbnM7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuXG4vLyBSb3cgY29sdW1uc1xuLy9cbi8vIFNwZWNpZnkgb24gYSBwYXJlbnQgZWxlbWVudChlLmcuLCAucm93KSB0byBmb3JjZSBpbW1lZGlhdGUgY2hpbGRyZW4gaW50byBOTlxuLy8gbnVtYmVyb2YgY29sdW1ucy4gU3VwcG9ydHMgd3JhcHBpbmcgdG8gbmV3IGxpbmVzLCBidXQgZG9lcyBub3QgZG8gYSBNYXNvbnJ5XG4vLyBzdHlsZSBncmlkLlxuQG1peGluIHJvdy1jb2xzKCRjb3VudCkge1xuICA+ICoge1xuICAgIGZsZXg6IDAgMCAxMDAlIC8gJGNvdW50O1xuICAgIG1heC13aWR0aDogMTAwJSAvICRjb3VudDtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAvLyBTaW5nbGUgY29udGFpbmVyIGNsYXNzIHdpdGggYnJlYWtwb2ludCBtYXgtd2lkdGhzXG4gIC5jb250YWluZXIsXG4gIC8vIDEwMCUgd2lkZSBjb250YWluZXIgYXQgYWxsIGJyZWFrcG9pbnRzXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIGNvbnRhaW5lcnMgdGhhdCBhcmUgMTAwJSB3aWRlIHVudGlsIGEgYnJlYWtwb2ludFxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAuY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgIEBleHRlbmQgLmNvbnRhaW5lci1mbHVpZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICAgIH1cblxuICAgICAgLy8gRXh0ZW5kIGVhY2ggYnJlYWtwb2ludCB3aGljaCBpcyBzbWFsbGVyIG9yIGVxdWFsIHRvIHRoZSBjdXJyZW50IGJyZWFrcG9pbnRcbiAgICAgICRleHRlbmQtYnJlYWtwb2ludDogdHJ1ZTtcblxuICAgICAgQGVhY2ggJG5hbWUsICR3aWR0aCBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgICAgIEBpZiAoJGV4dGVuZC1icmVha3BvaW50KSB7XG4gICAgICAgICAgLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGdyaWQtYnJlYWtwb2ludHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBPbmNlIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgaXMgcmVhY2hlZCwgc3RvcCBleHRlbmRpbmdcbiAgICAgICAgICBAaWYgKCRicmVha3BvaW50ID09ICRuYW1lKSB7XG4gICAgICAgICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiB5b3VyIGNvbHVtbnMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG5lZ2F0aXZlIG1hcmdpbiBmcm9tIGRlZmF1bHQgLnJvdywgdGhlbiB0aGUgaG9yaXpvbnRhbCBwYWRkaW5nXG4gIC8vIGZyb20gYWxsIGltbWVkaWF0ZSBjaGlsZHJlbiBjb2x1bW5zICh0byBwcmV2ZW50IHJ1bmF3YXkgc3R5bGUgaW5oZXJpdGFuY2UpLlxuICAubm8tZ3V0dGVycyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgPiAuY29sLFxuICAgID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC8vIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbGwgYnJlYWtwb2ludHNcbiAgJWdyaWQtY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBjb2xvcjogJHRhYmxlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7IC8vIFJlc2V0IGZvciBuZXN0aW5nIHdpdGhpbiBwYXJlbnRzIHdpdGggYGJhY2tncm91bmQtY29sb3JgLlxuXG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgdmVyc2lvbnNcbi8vXG4vLyBBZGQgb3IgcmVtb3ZlIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICB0aCxcbiAgdGQge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtYm9yZGVybGVzcyB7XG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgsXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYWNjZW50LWJnO1xuICB9XG59XG5cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICB0Ym9keSB0ciB7XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkdGFibGUtYm9yZGVyLWxldmVsKSk7XG59XG5cbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGFjdGl2ZSwgJHRhYmxlLWFjdGl2ZS1iZyk7XG5cblxuLy8gRGFyayBzdHlsZXNcbi8vXG4vLyBTYW1lIHRhYmxlIG1hcmt1cCwgYnV0IGludmVydGVkIGNvbG9yIHNjaGVtZTogZGFyayBiYWNrZ3JvdW5kIGFuZCBsaWdodCB0ZXh0LlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLnRhYmxlIHtcbiAgLnRoZWFkLWRhcmsge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLnRoZWFkLWxpZ2h0IHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhlYWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWRhcmsge1xuICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuXG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgge1xuICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJi50YWJsZS1zdHJpcGVkIHtcbiAgICB0Ym9keSB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYWNjZW50LWJnO1xuICAgIH1cbiAgfVxuXG4gICYudGFibGUtaG92ZXIge1xuICAgIHRib2R5IHRyIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBjb2xvcjogJHRhYmxlLWRhcmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAudGFibGUtcmVzcG9uc2l2ZS0qYCBjbGFzc2VzIGZvciBjb25maWd1cmluZyB0aGUgc2NyZWVuXG4vLyBzaXplIG9mIHdoZXJlIHlvdXIgdGFibGUgd2lsbCBvdmVyZmxvdy5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgICAgIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlciBvbiBob3Jpem9udGFsIHNjcm9sbCBkdWUgdG8gdXNlIG9mIGBkaXNwbGF5OiBibG9jaztgXG4gICAgICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGJvcmRlcjogbnVsbCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAaWYgJGJvcmRlciAhPSBudWxsIHtcbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuLy9cbi8vIFV0aWxpdHkgbWl4aW5zIGFuZCBmdW5jdGlvbnMgZm9yIGV2YWx1YXRpbmcgc291cmNlIGNvZGUgYWNyb3NzIG91ciB2YXJpYWJsZXMsIG1hcHMsIGFuZCBtaXhpbnMuXG5cbi8vIEFzY2VuZGluZ1xuLy8gVXNlZCB0byBldmFsdWF0ZSBTYXNzIG1hcHMgbGlrZSBvdXIgZ3JpZCBicmVha3BvaW50cy5cbkBtaXhpbiBfYXNzZXJ0LWFzY2VuZGluZygkbWFwLCAkbWFwLW5hbWUpIHtcbiAgJHByZXYta2V5OiBudWxsO1xuICAkcHJldi1udW06IG51bGw7XG4gIEBlYWNoICRrZXksICRudW0gaW4gJG1hcCB7XG4gICAgQGlmICRwcmV2LW51bSA9PSBudWxsIG9yIHVuaXQoJG51bSkgPT0gXCIlXCIgb3IgdW5pdCgkcHJldi1udW0pID09IFwiJVwiIHtcbiAgICAgIC8vIERvIG5vdGhpbmdcbiAgICB9IEBlbHNlIGlmIG5vdCBjb21wYXJhYmxlKCRwcmV2LW51bSwgJG51bSkge1xuICAgICAgQHdhcm4gXCJQb3RlbnRpYWxseSBpbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aG9zZSB1bml0IG1ha2VzIGl0IGluY29tcGFyYWJsZSB0byAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9IEBlbHNlIGlmICRwcmV2LW51bSA+PSAkbnVtIHtcbiAgICAgIEB3YXJuIFwiSW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hpY2ggaXNuJ3QgZ3JlYXRlciB0aGFuICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH1cbiAgICAkcHJldi1rZXk6ICRrZXk7XG4gICAgJHByZXYtbnVtOiAkbnVtO1xuICB9XG59XG5cbi8vIFN0YXJ0cyBhdCB6ZXJvXG4vLyBVc2VkIHRvIGVuc3VyZSB0aGUgbWluLXdpZHRoIG9mIHRoZSBsb3dlc3QgYnJlYWtwb2ludCBzdGFydHMgYXQgMC5cbkBtaXhpbiBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRtYXAsICRtYXAtbmFtZTogXCIkZ3JpZC1icmVha3BvaW50c1wiKSB7XG4gIEBpZiBsZW5ndGgoJG1hcCkgPiAwIHtcbiAgICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAgICRmaXJzdC12YWx1ZTogbnRoKCR2YWx1ZXMsIDEpO1xuICAgIEBpZiAkZmlyc3QtdmFsdWUgIT0gMCB7XG4gICAgICBAd2FybiBcIkZpcnN0IGJyZWFrcG9pbnQgaW4gI3skbWFwLW5hbWV9IG11c3Qgc3RhcnQgYXQgMCwgYnV0IHN0YXJ0cyBhdCAjeyRmaXJzdC12YWx1ZX0uXCI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vIFVzZWQgb24gb3VyIFNWRyBpY29uIGJhY2tncm91bmRzIGZvciBjdXN0b20gZm9ybXMuXG4vL1xuLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBTZWUgaHR0cHM6Ly9jb2RlcGVuLmlvL2tldmlud2ViZXIvcGVuL2RYV29Sd1xuLy9cbi8vIFJlcXVpcmVzIHRoZSB1c2Ugb2YgcXVvdGVzIGFyb3VuZCBkYXRhIFVSSXMuXG5cbkBmdW5jdGlvbiBlc2NhcGUtc3ZnKCRzdHJpbmcpIHtcbiAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcImRhdGE6aW1hZ2Uvc3ZnK3htbFwiKSB7XG4gICAgQGVhY2ggJGNoYXIsICRlbmNvZGVkIGluICRlc2NhcGVkLWNoYXJhY3RlcnMge1xuICAgICAgLy8gRG8gbm90IGVzY2FwZSB0aGUgdXJsIGJyYWNrZXRzXG4gICAgICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsIFwidXJsKFwiKSA9PSAxIHtcbiAgICAgICAgJHN0cmluZzogdXJsKFwiI3tzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgNiwgLTMpLCAkY2hhciwgJGVuY29kZWQpfVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc3RyaW5nOiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkY2hhciwgJGVuY29kZWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gQ29sb3IgY29udHJhc3RcbkBmdW5jdGlvbiBjb2xvci15aXEoJGNvbG9yLCAkZGFyazogJHlpcS10ZXh0LWRhcmssICRsaWdodDogJHlpcS10ZXh0LWxpZ2h0KSB7XG4gICRyOiByZWQoJGNvbG9yKTtcbiAgJGc6IGdyZWVuKCRjb2xvcik7XG4gICRiOiBibHVlKCRjb2xvcik7XG5cbiAgJHlpcTogKCgkciAqIDI5OSkgKyAoJGcgKiA1ODcpICsgKCRiICogMTE0KSkgLyAxMDAwO1xuXG4gIEBpZiAoJHlpcSA+PSAkeWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkKSB7XG4gICAgQHJldHVybiAkZGFyaztcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkbGlnaHQ7XG4gIH1cbn1cblxuLy8gUmV0cmlldmUgY29sb3IgU2FzcyBtYXBzXG5AZnVuY3Rpb24gY29sb3IoJGtleTogXCJibHVlXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRjb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gdGhlbWUtY29sb3IoJGtleTogXCJwcmltYXJ5XCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gZ3JheSgka2V5OiBcIjEwMFwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkZ3JheXMsICRrZXkpO1xufVxuXG4vLyBSZXF1ZXN0IGEgdGhlbWUgY29sb3IgbGV2ZWxcbkBmdW5jdGlvbiB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3ItbmFtZTogXCJwcmltYXJ5XCIsICRsZXZlbDogMCkge1xuICAkY29sb3I6IHRoZW1lLWNvbG9yKCRjb2xvci1uYW1lKTtcbiAgJGNvbG9yLWJhc2U6IGlmKCRsZXZlbCA+IDAsICRibGFjaywgJHdoaXRlKTtcbiAgJGxldmVsOiBhYnMoJGxldmVsKTtcblxuICBAcmV0dXJuIG1peCgkY29sb3ItYmFzZSwgJGNvbG9yLCAkbGV2ZWwgKiAkdGhlbWUtY29sb3ItaW50ZXJ2YWwpO1xufVxuXG4vLyBSZXR1cm4gdmFsaWQgY2FsY1xuQGZ1bmN0aW9uIGFkZCgkdmFsdWUxLCAkdmFsdWUyLCAkcmV0dXJuLWNhbGM6IHRydWUpIHtcbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUyO1xuICB9XG5cbiAgQGlmICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUxO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlMSkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCR2YWx1ZTIpID09IG51bWJlciBhbmQgY29tcGFyYWJsZSgkdmFsdWUxLCAkdmFsdWUyKSB7XG4gICAgQHJldHVybiAkdmFsdWUxICsgJHZhbHVlMjtcbiAgfVxuXG4gIEByZXR1cm4gaWYoJHJldHVybi1jYWxjID09IHRydWUsIGNhbGMoI3skdmFsdWUxfSArICN7JHZhbHVlMn0pLCAkdmFsdWUxICsgdW5xdW90ZShcIiArIFwiKSArICR2YWx1ZTIpO1xufVxuXG5AZnVuY3Rpb24gc3VidHJhY3QoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwgYW5kICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCB7XG4gICAgQHJldHVybiAtJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSAtICR2YWx1ZTI7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gLSAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgLSBcIikgKyAkdmFsdWUyKTtcbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gZGFyay10YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gICAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAgIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICAgICAmLFxuICAgICAgICA+IHRoLFxuICAgICAgICA+IHRkIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAgIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAgIC50YWJsZS1ob3ZlciB7XG4gICAgICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcblxuICAgICAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcblxuICAgICAgICAgICAgICAgID4gdGQsXG4gICAgICAgICAgICAgICAgPiB0aCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIEBpbmNsdWRlIGRhcmstdGFibGUtcm93LXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIC05KSk7XG59XG5cbkBpbmNsdWRlIGRhcmstdGFibGUtcm93LXZhcmlhbnQoYWN0aXZlLCAkdGFibGUtYWN0aXZlLWJnKTtcblxuLnRhYmxlLWRhcmsge1xuICAgIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gVGV4dHVhbCBmb3JtIGNvbnRyb2xzXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cywgMCk7XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBSZW1vdmUgc2VsZWN0IG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGlucHV0LWNvbG9yO1xuICB9XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXMoJGlnbm9yZS13YXJuaW5nOiB0cnVlKTtcblxuICAvLyBQbGFjZWhvbGRlclxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNi5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkLFxuICAmW3JlYWRvbmx5XSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgJi5mb3JtLWNvbnRyb2wge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7IC8vIEZpeCBhcHBlYXJhbmNlIGZvciBkYXRlIGlucHV0cyBpbiBTYWZhcmlcbiAgfVxufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgJjpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICAvLyBTdXBwcmVzcyB0aGUgbmVzdGVkIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UsIGFzIGl0IGxvb2tzIGJhZCBhbmQgY2Fubm90IGJlIG1hZGUgdG9cbiAgICAvLyBtYXRjaCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgbmF0aXZlIHdpZGdldC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgfVxufVxuXG4vLyBNYWtlIGZpbGUgaW5wdXRzIGJldHRlciBtYXRjaCB0ZXh0IGlucHV0cyBieSBmb3JjaW5nIHRoZW0gdG8gbmV3IGxpbmVzLlxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4vL1xuLy8gTGFiZWxzXG4vL1xuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCAob3IgbGVnZW5kKVxuLy8gdGV4dCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGFiZWw+LzxsZWdlbmQ+YCBkZWZhdWx0XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbn1cblxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LXBsYWludGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwO1xuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gUmVwZWF0ZWQgaW4gYF9pbnB1dF9ncm91cC5zY3NzYCB0byBhdm9pZCBTYXNzIGV4dGVuZCBpc3N1ZXMuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICZbc2l6ZV0sXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBGb3JtIGdyb3Vwc1xuLy9cbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3Jcbi8vIGhvcml6b250YWwgZm9ybXMsIHVzZSB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuXG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn1cblxuLmZvcm0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG59XG5cblxuLy8gRm9ybSBncmlkXG4vL1xuLy8gU3BlY2lhbCByZXBsYWNlbWVudCBmb3Igb3VyIGdyaWQgc3lzdGVtJ3MgYC5yb3dgIGZvciB0aWdodGVyIGZvcm0gbGF5b3V0cy5cblxuLmZvcm0tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuXG4gID4gLmNvbCxcbiAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gSW5kZW50IHRoZSBsYWJlbHMgdG8gcG9zaXRpb24gcmFkaW9zL2NoZWNrYm94ZXMgYXMgaGFuZ2luZyBjb250cm9scy5cblxuLmZvcm0tY2hlY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15O1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcblxuICAvLyBVc2UgW2Rpc2FibGVkXSBhbmQgOmRpc2FibGVkIGZvciB3b3JrYXJvdW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgyNDdcbiAgJltkaXNhYmxlZF0gfiAuZm9ybS1jaGVjay1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2stbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCBib3R0b20gbWFyZ2luXG59XG5cbi5mb3JtLWNoZWNrLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIE92ZXJyaWRlIGJhc2UgLmZvcm0tY2hlY2tcbiAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg7XG5cbiAgLy8gVW5kbyAuZm9ybS1jaGVjay1pbnB1dCBkZWZhdWx0cyBhbmQgYWRkIHNvbWUgYG1hcmdpbi1yaWdodGAuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cbi8vXG4vLyBQcm92aWRlIGZlZWRiYWNrIHRvIHVzZXJzIHdoZW4gZm9ybSBmaWVsZCB2YWx1ZXMgYXJlIHZhbGlkIG9yIGludmFsaWQuIFdvcmtzXG4vLyBwcmltYXJpbHkgZm9yIGNsaWVudC1zaWRlIHZhbGlkYXRpb24gdmlhIHNjb3BlZCBgOmludmFsaWRgIGFuZCBgOnZhbGlkYFxuLy8gcHNldWRvLWNsYXNzZXMgYnV0IGFsc28gaW5jbHVkZXMgYC5pcy1pbnZhbGlkYCBhbmQgYC5pcy12YWxpZGAgY2xhc3NlcyBmb3Jcbi8vIHNlcnZlciBzaWRlIHZhbGlkYXRpb24uXG5cbkBlYWNoICRzdGF0ZSwgJGRhdGEgaW4gJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMge1xuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCBtYXAtZ2V0KCRkYXRhLCBjb2xvciksIG1hcC1nZXQoJGRhdGEsIGljb24pKTtcbn1cblxuLy8gSW5saW5lIGZvcm1zXG4vL1xuLy8gTWFrZSBmb3JtcyBhcHBlYXIgaW5saW5lKC1ibG9jaykgYnkgYWRkaW5nIHRoZSBgLmZvcm0taW5saW5lYCBjbGFzcy4gSW5saW5lXG4vLyBmb3JtcyBiZWdpbiBzdGFja2VkIG9uIGV4dHJhIHNtYWxsIChtb2JpbGUpIGRldmljZXMgYW5kIHRoZW4gZ28gaW5saW5lIHdoZW5cbi8vIHZpZXdwb3J0cyByZWFjaCA8NzY4cHguXG4vL1xuLy8gUmVxdWlyZXMgd3JhcHBpbmcgaW5wdXRzIGFuZCBsYWJlbHMgd2l0aCBgLmZvcm0tZ3JvdXBgIGZvciBwcm9wZXIgZGlzcGxheSBvZlxuLy8gZGVmYXVsdCBIVE1MIGZvcm0gY29udHJvbHMgYW5kIG91ciBjdXN0b20gZm9ybSBjb250cm9scyAoZS5nLiwgaW5wdXQgZ3JvdXBzKS5cblxuLmZvcm0taW5saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gUHJldmVudCBzaG9ydGVyIGVsZW1lbnRzIGZyb20gZ3Jvd2luZyB0byBzYW1lIGhlaWdodCBhcyBvdGhlcnMgKGUuZy4sIHNtYWxsIGJ1dHRvbnMgZ3Jvd2luZyB0byBub3JtYWwgc2l6ZWQgYnV0dG9uIGhlaWdodClcblxuICAvLyBCZWNhdXNlIHdlIHVzZSBmbGV4LCB0aGUgaW5pdGlhbCBzaXppbmcgb2YgY2hlY2tib3hlcyBpcyBjb2xsYXBzZWQgYW5kXG4gIC8vIGRvZXNuJ3Qgb2NjdXB5IHRoZSBmdWxsLXdpZHRoICh3aGljaCBpcyB3aGF0IHdlIHdhbnQgZm9yIHhzIGdyaWQgdGllciksXG4gIC8vIHNvIHdlIGZvcmNlIHRoYXQgaGVyZS5cbiAgLmZvcm0tY2hlY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgZm9sa3MgdG8gKm5vdCogdXNlIGAuZm9ybS1ncm91cGBcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvOyAvLyBQcmV2ZW50IGxhYmVscyBmcm9tIHN0YWNraW5nIGFib3ZlIGlucHV0cyBpbiBgLmZvcm0tZ3JvdXBgXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3RhdGljIGNvbnRyb2xzIGJlaGF2ZSBsaWtlIHJlZ3VsYXIgb25lc1xuICAgIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuaW5wdXQtZ3JvdXAsXG4gICAgLmN1c3RvbS1zZWxlY3Qge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLmZvcm0tY2hlY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmN1c3RvbS1jb250cm9sIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICB9XG5cbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAxIHtcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHRyYW5zaXRpb24ge1xuICAgICAgQGlmICR2YWx1ZSA9PSBudWxsIG9yICR2YWx1ZSA9PSBub25lIHtcbiAgICAgICAgQHdhcm4gXCJUaGUga2V5d29yZCAnbm9uZScgb3IgJ251bGwnIG11c3QgYmUgdXNlZCBhcyBhIHNpbmdsZSBhcmd1bWVudC5cIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICBAaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbm9uZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcmAgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZvcm0tY29udHJvbC1mb2N1cygpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG5cbi8vIFRoaXMgbWl4aW4gdXNlcyBhbiBgaWYoKWAgdGVjaG5pcXVlIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBEYXJ0IFNhc3Ncbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8xODczI2lzc3VlY29tbWVudC0xNTIyOTM3MjUgZm9yIG1vcmUgZGV0YWlsc1xuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgQGlmICgkc3RhdGUgPT0gXCJ2YWxpZFwiIG9yICRzdGF0ZSA9PSBcImludmFsaWRcIikge1xuICAgIC53YXMtdmFsaWRhdGVkICN7aWYoJiwgXCImXCIsIFwiXCIpfTojeyRzdGF0ZX0sXG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IsICRpY29uKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stZm9udC1zaXplKTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxuICAgIHBhZGRpbmc6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14O1xuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAkZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHkpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcblxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMTU1N1xuICAgIC8vIEFsaWduIHRvb2x0aXAgdG8gZm9ybSBlbGVtZW50c1xuICAgIC5mb3JtLXJvdyA+IC5jb2wgPiAmLFxuICAgIC5mb3JtLXJvdyA+IFtjbGFzcyo9XCJjb2wtXCJdID4gJiB7XG4gICAgICBsZWZ0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGljb24pO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kLCAkY3VzdG9tLXNlbGVjdC1iZyBlc2NhcGUtc3ZnKCRpY29uKSAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uIC8gJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplIG5vLXJlcGVhdDtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMTAlKTtcbiAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1iZyhsaWdodGVuKCRjb2xvciwgMTAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGN1c3RvbSBmaWxlXG4gIC5jdXN0b20tZmlsZS1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEdyYWRpZW50c1xuXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4iLCIud2FzLXZhbGlkYXRlZCB7XG4gICAgQGVhY2ggJHN0YXRlLCAkZGF0YSBpbiAkZm9ybS12YWxpZGF0aW9uLXN0YXRlcyB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsIG1hcC1nZXQoJGRhdGEsIGNvbG9yKSwgbWFwLWdldCgkZGF0YSwgaWNvbikpO1xuXG4gICAgICAgIC5pcy0jeyRzdGF0ZX0gfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgICAuaXMtI3skc3RhdGV9IH4gLiN7JHN0YXRlfS10b29sdGlwLFxuICAgICAgICA6I3skc3RhdGV9IH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgICAgOiN7JHN0YXRlfSB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkYnRuLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGJ0bi1mb250LXdlaWdodDtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6ICRidG4td2hpdGUtc3BhY2U7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAkYnRuLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXksICRidG4tcGFkZGluZy14LCAkYnRuLWZvbnQtc2l6ZSwgJGJ0bi1saW5lLWhlaWdodCwgJGJ0bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRidG4tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAkYnRuLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIGN1cnNvcjogaWYoJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9ucywgcG9pbnRlciwgbnVsbCk7XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWZvY3VzLWJveC1zaGFkb3csICRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuYS5idG4uZGlzYWJsZWQsXG5maWVsZHNldDpkaXNhYmxlZCBhLmJ0biB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy9cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkdmFsdWUsICR2YWx1ZSk7XG4gIH1cbn1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tb3V0bGluZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMaW5rIGJ1dHRvbnNcbi8vXG5cbi8vIE1ha2UgYSBidXR0b24gbG9vayBhbmQgYmVoYXZlIGxpa2UgYSBsaW5rXG4uYnRuLWxpbmsge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyBObyBuZWVkIGZvciBhbiBhY3RpdmUgc3RhdGUgaGVyZVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1sZywgJGJ0bi1wYWRkaW5nLXgtbGcsICRidG4tZm9udC1zaXplLWxnLCAkYnRuLWxpbmUtaGVpZ2h0LWxnLCAkYnRuLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uYnRuLXNtIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktc20sICRidG4tcGFkZGluZy14LXNtLCAkYnRuLWZvbnQtc2l6ZS1zbSwgJGJ0bi1saW5lLWhlaWdodC1zbSwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuXG4vL1xuLy8gQmxvY2sgYnV0dG9uXG4vL1xuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbiAgKyAuYnRuLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAkYnRuLWJsb2NrLXNwYWNpbmcteTtcbiAgfVxufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA3LjUlKSwgJGhvdmVyLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEwJSksICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpLCAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyLjUlKSkge1xuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBmb3IgdGhlIHByZXNzZWQvYWN0aXZlIHN0YXRlXG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSkpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiBjb2xvci15aXEoJGNvbG9yKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsICRhY3RpdmUtYm9yZGVyOiAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSkpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAvLyBNYW51YWxseSBkZWNsYXJlIHRvIHByb3ZpZGUgYW4gb3ZlcnJpZGUgdG8gdGhlIGJyb3dzZXIgZGVmYXVsdFxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLCAwKTtcbn1cbiIsIi5mYWRlIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmOm5vdCguc2hvdykge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xufVxuIiwiLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGA8ZGl2PmApXG4uZHJvcHVwLFxuLmRyb3ByaWdodCxcbi5kcm9wZG93bixcbi5kcm9wbGVmdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gR2VuZXJhdGUgdGhlIGNhcmV0IGF1dG9tYXRpY2FsbHlcbiAgQGluY2x1ZGUgY2FyZXQoKTtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLXBhZGRpbmcteDtcbiAgbWFyZ2luOiAkZHJvcGRvd24tc3BhY2VyIDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBAaW5jbHVkZSBmb250LXNpemUoJGRyb3Bkb3duLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZHJvcGRvd24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXItd2lkdGggc29saWQgJGRyb3Bkb3duLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZHJvcGRvd24tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGRyb3Bkb3duLWJveC1zaGFkb3cpO1xufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1sZWZ0IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1yaWdodCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LlxuLmRyb3B1cCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHVwKTtcbiAgfVxufVxuXG4uZHJvcHJpZ2h0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChyaWdodCk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wbGVmdCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KGxlZnQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2hlbiBQb3BwZXIgaXMgZW5hYmxlZCwgcmVzZXQgdGhlIGJhc2ljIGRyb3Bkb3duIHBvc2l0aW9uXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLmRyb3Bkb3duLW1lbnUge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0sXG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgYm90dG9tOiBhdXRvO1xuICB9XG59XG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIEBpbmNsdWRlIG5hdi1kaXZpZGVyKCRkcm9wZG93bi1kaXZpZGVyLWJnLCAkZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teSwgdHJ1ZSk7XG59XG5cbi8vIExpbmtzLCBidXR0b25zLCBhbmQgbW9yZSB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbi8vXG4vLyBgPGJ1dHRvbj5gLXNwZWNpZmljIHN0eWxlcyBhcmUgZGVub3RlZCB3aXRoIGAvLyBGb3IgPGJ1dHRvbj5zYFxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcblxuICAvLyBQcmV2ZW50IGRyb3Bkb3duIG92ZXJmbG93IGlmIHRoZXJlJ3Mgbm8gcGFkZGluZ1xuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjc3MDNcbiAgQGlmICRkcm9wZG93bi1wYWRkaW5nLXkgPT0gMCB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWhvdmVyLWJnKTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3Bkb3duLW1lbnUuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBEcm9wZG93biBzZWN0aW9uIGhlYWRlcnNcbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBmb3IgdXNlIHdpdGggaGVhZGluZyBlbGVtZW50c1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1zbSk7XG4gIGNvbG9yOiAkZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIERyb3Bkb3duIHRleHRcbi5kcm9wZG93bi1pdGVtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xufVxuIiwiQG1peGluIGNhcmV0LWRvd24oKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC11cCgpIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXJpZ2h0KCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtbGVmdCgpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoJGRpcmVjdGlvbjogZG93bikge1xuICBAaWYgJGVuYWJsZS1jYXJldCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZG93bigpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtdXAoKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXJpZ2h0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtbGVmdCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAkbmF2LWRpdmlkZXItY29sb3IsICRtYXJnaW4teTogJG5hdi1kaXZpZGVyLW1hcmdpbi15LCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAkbWFyZ2luLXkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBuYXYtZGl2aWRlcigpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG5cbiAgICAvLyBCcmluZyB0aGUgaG92ZXIsIGZvY3VzZWQsIGFuZCBcImFjdGl2ZVwiIGJ1dHRvbnMgdG8gdGhlIGZyb250IHRvIG92ZXJsYXlcbiAgICAvLyB0aGUgYm9yZGVycyBwcm9wZXJseVxuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5idG4tZ3JvdXAge1xuICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tbGVmdDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vL1xuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG5cbiAgJjo6YWZ0ZXIsXG4gIC5kcm9wdXAgJjo6YWZ0ZXIsXG4gIC5kcm9wcmlnaHQgJjo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3BsZWZ0ICY6OmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG59XG5cbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG59XG5cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBTZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLnNob3cgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgLy8gU2hvdyBubyBzaGFkb3cgZm9yIGAuYnRuLWxpbmtgIHNpbmNlIGl0IGhhcyBubyBvdGhlciBidXR0b24gc3R5bGVzLlxuICAmLmJ0bi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy9cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi10b3A6IC0kYnRuLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3ggYW5kIHJhZGlvIG9wdGlvbnNcbi8vXG4vLyBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBicm93c2VyJ3MgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrLCBwb3dlcmVkIGJ5IHRoZVxuLy8gYHJlcXVpcmVkYCBhdHRyaWJ1dGUsIHdlIGhhdmUgdG8gXCJoaWRlXCIgdGhlIGlucHV0cyB2aWEgYGNsaXBgLiBXZSBjYW5ub3QgdXNlXG4vLyBgZGlzcGxheTogbm9uZTtgIG9yIGB2aXNpYmlsaXR5OiBoaWRkZW47YCBhcyB0aGF0IGFsc28gaGlkZXMgdGhlIHBvcG92ZXIuXG4vLyBTaW1wbHkgdmlzdWFsbHkgaGlkaW5nIHRoZSBpbnB1dHMgdmlhIGBvcGFjaXR5YCB3b3VsZCBsZWF2ZSB0aGVtIGNsaWNrYWJsZSBpblxuLy8gY2VydGFpbiBjYXNlcyB3aGljaCBpcyBwcmV2ZW50ZWQgYnkgdXNpbmcgYGNsaXBgIGFuZCBgcG9pbnRlci1ldmVudHNgLlxuLy8gVGhpcyB3YXksIHdlIGVuc3VyZSBhIERPTSBlbGVtZW50IGlzIHZpc2libGUgdG8gcG9zaXRpb24gdGhlIHBvcG92ZXIgZnJvbS5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTI3OTQgYW5kXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xNDU1OSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblxuLmJ0bi1ncm91cC10b2dnbGUge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIHZhbHVlXG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBGb3IgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gID4gLmN1c3RvbS1zZWxlY3QsXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBmb2N1cyBzdGF0ZSdzIHotaW5kZXhcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB3aWR0aDogMSU7XG4gICAgbWluLXdpZHRoOiAwOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNjI0NzE0MC93aHktZG9udC1mbGV4LWl0ZW1zLXNocmluay1wYXN0LWNvbnRlbnQtc2l6ZVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICArIC5mb3JtLWNvbnRyb2wsXG4gICAgKyAuY3VzdG9tLXNlbGVjdCxcbiAgICArIC5jdXN0b20tZmlsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5jdXN0b20tc2VsZWN0OmZvY3VzLFxuICA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICAvLyBCcmluZyB0aGUgY3VzdG9tIGZpbGUgaW5wdXQgYWJvdmUgdGhlIGxhYmVsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB7XG4gICAgei1pbmRleDogNDtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuY3VzdG9tLXNlbGVjdCB7XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7IEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTsgfVxuICB9XG5cbiAgLy8gQ3VzdG9tIGZpbGUgaW5wdXRzIGhhdmUgbW9yZSBjb21wbGV4IG1hcmt1cCwgdGh1cyByZXF1aXJpbmcgZGlmZmVyZW50XG4gIC8vIGJvcmRlci1yYWRpdXMgb3ZlcnJpZGVzLlxuICA+IC5jdXN0b20tZmlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCB7IEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTsgfVxuICB9XG5cbiAgJjpub3QoLmhhcy12YWxpZGF0aW9uKSB7XG4gICAgPiAuZm9ybS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCksXG4gICAgPiAuY3VzdG9tLXNlbGVjdDpub3QoOmxhc3QtY2hpbGQpLFxuICAgID4gLmN1c3RvbS1maWxlOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICYuaGFzLXZhbGlkYXRpb24ge1xuICAgID4gLmZvcm0tY29udHJvbDpudGgtbGFzdC1jaGlsZChuICsgMyksXG4gICAgPiAuY3VzdG9tLXNlbGVjdDpudGgtbGFzdC1jaGlsZChuICsgMyksXG4gICAgPiAuY3VzdG9tLWZpbGU6bnRoLWxhc3QtY2hpbGQobiArIDMpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBQcmVwZW5kIGFuZCBhcHBlbmRcbi8vXG4vLyBXaGlsZSBpdCByZXF1aXJlcyBvbmUgZXh0cmEgbGF5ZXIgb2YgSFRNTCBmb3IgZWFjaCwgZGVkaWNhdGVkIHByZXBlbmQgYW5kXG4vLyBhcHBlbmQgZWxlbWVudHMgYWxsb3cgdXMgdG8gMSkgYmUgbGVzcyBjbGV2ZXIsIDIpIHNpbXBsaWZ5IG91ciBzZWxlY3RvcnMsIGFuZFxuLy8gMykgc3VwcG9ydCBIVE1MNSBmb3JtIHZhbGlkYXRpb24uXG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kLFxuLmlucHV0LWdyb3VwLWFwcGVuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgLy8gRW5zdXJlIGJ1dHRvbnMgYXJlIGFsd2F5cyBhYm92ZSBpbnB1dHMgZm9yIG1vcmUgdmlzdWFsbHkgcGxlYXNpbmcgYm9yZGVycy5cbiAgLy8gVGhpcyBpc24ndCBuZWVkZWQgZm9yIGAuaW5wdXQtZ3JvdXAtdGV4dGAgc2luY2UgaXQgc2hhcmVzIHRoZSBzYW1lIGJvcmRlci1jb2xvclxuICAvLyBhcyBvdXIgaW5wdXRzLlxuICAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG4gIH1cblxuICAuYnRuICsgLmJ0bixcbiAgLmJ0biArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAtdGV4dCArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAtdGV4dCArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgfVxufVxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCB7IG1hcmdpbi1yaWdodDogLSRpbnB1dC1ib3JkZXItd2lkdGg7IH1cbi5pbnB1dC1ncm91cC1hcHBlbmQgeyBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7IH1cblxuXG4vLyBUZXh0dWFsIGFkZG9uc1xuLy9cbi8vIFNlcnZlcyBhcyBhIGNhdGNoLWFsbCBlbGVtZW50IGZvciBhbnkgdGV4dCBvciByYWRpby9jaGVja2JveCBpbnB1dCB5b3Ugd2lzaFxuLy8gdG8gcHJlcGVuZCBvciBhcHBlbmQgdG8gYW4gaW5wdXQuXG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBBbGxvdyB1c2Ugb2YgPGxhYmVsPiBlbGVtZW50cyBieSBvdmVycmlkaW5nIG91ciBkZWZhdWx0IG1hcmdpbi1ib3R0b21cbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpOyAvLyBNYXRjaCBpbnB1dHNcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gTnVrZSBkZWZhdWx0IG1hcmdpbnMgZnJvbSBjaGVja2JveGVzIGFuZCByYWRpb3MgdG8gdmVydGljYWxseSBjZW50ZXIgd2l0aGluLlxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbDpub3QodGV4dGFyZWEpLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3Qge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbDpub3QodGV4dGFyZWEpLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZCByb3VuZGVkIGNvcm5lcnNcbi8vXG4vLyBUaGVzZSBydWxlc2V0cyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHNpemluZyBvbmVzIHRvIHByb3Blcmx5IG92ZXJyaWRlIHNtIGFuZCBsZ1xuLy8gYm9yZGVyLXJhZGl1cyB2YWx1ZXMgd2hlbiBleHRlbmRpbmcuIFRoZXkncmUgbW9yZSBzcGVjaWZpYyB0aGFuIHdlJ2QgbGlrZVxuLy8gd2l0aCB0aGUgYC5pbnB1dC1ncm91cCA+YCBwYXJ0LCBidXQgd2l0aG91dCBpdCwgd2UgY2Fubm90IG92ZXJyaWRlIHRoZSBzaXppbmcuXG5cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cDpub3QoLmhhcy12YWxpZGF0aW9uKSA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXA6bm90KC5oYXMtdmFsaWRhdGlvbikgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC5oYXMtdmFsaWRhdGlvbiA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmJ0bixcbi5pbnB1dC1ncm91cC5oYXMtdmFsaWRhdGlvbiA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG59XG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG4iLCIuaW5wdXQtZ3JvdXAge1xuICAgICYgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgICAgICAgJiA+IC5jdXN0b20tc2VsZWN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmID4gLmlucHV0LWdyb3VwLXByZXBlbmQge1xuICAgICAgICAmID4gLmN1c3RvbS1zZWxlY3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIEVtYmVkZGVkIGljb25zIGZyb20gT3BlbiBJY29uaWMuXG4vLyBSZWxlYXNlZCB1bmRlciBNSVQgYW5kIGNvcHlyaWdodCAyMDE0IFdheWJ1cnkuXG4vLyBodHRwczovL3VzZWljb25pYy5jb20vb3BlblxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEJhc2UgY2xhc3MgdGFrZXMgY2FyZSBvZiBhbGwgdGhlIGtleSBiZWhhdmlvcmFsIGFzcGVjdHMuXG5cbi5jdXN0b20tY29udHJvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6ICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlO1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gIGNvbG9yLWFkanVzdDogZXhhY3Q7IC8vIEtlZXAgdGhlbWVkIGFwcGVhcmFuY2UgZm9yIHByaW50XG59XG5cbi5jdXN0b20tY29udHJvbC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg7XG59XG5cbi5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogLTE7IC8vIFB1dCB0aGUgaW5wdXQgYmVoaW5kIHRoZSBsYWJlbCBzbyBpdCBkb2Vzbid0IG92ZXJsYXkgdGV4dFxuICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICBoZWlnaHQ6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyB0aGUgbWl4aW4gaXMgbm90IHVzZWQgaGVyZSB0byBtYWtlIHN1cmUgdGhlcmUgaXMgZmVlZGJhY2tcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ3VzdG9tIGNvbnRyb2wgaW5kaWNhdG9yc1xuLy9cbi8vIEJ1aWxkIHRoZSBjdXN0b20gY29udHJvbHMgb3V0IG9mIHBzZXVkby1lbGVtZW50cy5cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjdXJzb3I6ICRjdXN0b20tY29udHJvbC1jdXJzb3I7XG5cbiAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMjtcbiAgICBsZWZ0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgIGJvcmRlcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3Igc29saWQgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLy8gRm9yZWdyb3VuZCAoaWNvbilcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyO1xuICAgIGxlZnQ6IC0oJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6IDUwJSAvICN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplfSBuby1yZXBlYXQ7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIGNoZWNrYm94ZXMuXG5cbi5jdXN0b20tY2hlY2tib3gge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yO1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdyk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICAgICY6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIFJhZGlvc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciByYWRpb3MuXG5cbi5jdXN0b20tcmFkaW8ge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBzd2l0Y2hlc1xuLy9cbi8vIFR3ZWFrIGEgZmV3IHRoaW5ncyBmb3Igc3dpdGNoZXNcblxuLmN1c3RvbS1zd2l0Y2gge1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcblxuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtKCRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcik7XG4gICAgICB3aWR0aDogJGN1c3RvbS1zd2l0Y2gtd2lkdGg7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiBhZGQoKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDIsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMik7XG4gICAgICBsZWZ0OiBhZGQoLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgaGVpZ2h0OiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuMTVzIGVhc2UtaW4tb3V0LCAkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRjdXN0b20tc3dpdGNoLXdpZHRoIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cbi8vXG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJnICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93KTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93LCAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXBwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB9XG59XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtc207XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtbGcge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGcpO1xufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgQGVhY2ggJGxhbmcsICR2YWx1ZSBpbiAkY3VzdG9tLWZpbGUtdGV4dCB7XG4gICAgJjpsYW5nKCN7JGxhbmd9KSB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIH4gLmN1c3RvbS1maWxlLWxhYmVsW2RhdGEtYnJvd3NlXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1icm93c2UpO1xuICB9XG59XG5cbi5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLWZpbGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1iZztcbiAgYm9yZGVyOiAkY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tZmlsZS1ib3gtc2hhZG93KTtcblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI7XG4gICAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICAgIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRjdXN0b20tZmlsZS1idXR0b24tY29sb3I7XG4gICAgY29udGVudDogXCJCcm93c2VcIjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWZpbGUtYnV0dG9uLWJnKTtcbiAgICBib3JkZXItbGVmdDogaW5oZXJpdDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgMCk7XG4gIH1cbn1cblxuLy8gUmFuZ2Vcbi8vXG4vLyBTdHlsZSByYW5nZSBpbnB1dHMgdGhlIHNhbWUgYWNyb3NzIGJyb3dzZXJzLiBWZW5kb3Itc3BlY2lmaWMgcnVsZXMgZm9yIHBzZXVkb1xuLy8gZWxlbWVudHMgY2Fubm90IGJlIG1peGVkLiBBcyBzdWNoLCB0aGVyZSBhcmUgbm8gc2hhcmVkIHN0eWxlcyBmb3IgZm9jdXMgb3Jcbi8vIGFjdGl2ZSBzdGF0ZXMgb24gcHJlZml4ZWQgc2VsZWN0b3JzLlxuXG4uY3VzdG9tLXJhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYWRkKCRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0LCAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyKTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbXMtdGh1bWIgICAgICAgICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogKCRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQpIC8gMjsgLy8gV2Via2l0IHNwZWNpZmljXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgLy8gV2h5P1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRmlyZWZveCBzcGVjaWZpYz9cbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1zLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDA7IC8vIEVkZ2Ugc3BlY2lmaWNcbiAgICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgLy8gV29ya2Fyb3VuZCB0aGF0IG92ZXJmbG93ZWQgYm94LXNoYWRvdyBpcyBoaWRkZW4uXG4gICAgbWFyZ2luLWxlZnQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgIC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbXMtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0IC8gMjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyAvLyBhcmJpdHJhcnk/XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG5cbi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuLmN1c3RvbS1maWxlLWxhYmVsLFxuLmN1c3RvbS1zZWxlY3Qge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gS2lja3N0YXJ0IGFueSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB3aXRoIGEgc2V0IG9mIHN0eWxlIHJlc2V0cy4gV29ya3Mgd2l0aFxuLy8gYDxuYXY+YHMsIGA8dWw+YHMgb3IgYDxvbD5gcy5cblxuLm5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmcteSAkbmF2LWxpbmstcGFkZGluZy14O1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuXG4gIC5uYXYtbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgYm9yZGVyOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRuYXYtdGFicy1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIC8vIE1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICAgIG1hcmdpbi10b3A6IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xuICAgIC8vIFJlbW92ZSB0aGUgdG9wIHJvdW5kZWQgY29ybmVycyBoZXJlIHNpbmNlIHRoZXJlIGlzIGEgaGFyZCBlZGdlIGFib3ZlIHRoZSBtZW51XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gUGlsbHNcbi8vXG5cbi5uYXYtcGlsbHMge1xuICAubmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdi1waWxscy1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy9cbi8vIEp1c3RpZmllZCB2YXJpYW50c1xuLy9cblxuLm5hdi1maWxsIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy9cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvLyBDb250ZW50c1xuLy9cbi8vIE5hdmJhclxuLy8gTmF2YmFyIGJyYW5kXG4vLyBOYXZiYXIgbmF2XG4vLyBOYXZiYXIgdGV4dFxuLy8gTmF2YmFyIGRpdmlkZXJcbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vLyBOYXZiYXIgcG9zaXRpb25cbi8vIE5hdmJhciB0aGVtZXNcblxuXG4vLyBOYXZiYXJcbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gYWxsb3cgdXMgdG8gZG8gdGhlIGxpbmUgYnJlYWsgZm9yIGNvbGxhcHNpbmcgY29udGVudFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIHNwYWNlIG91dCBicmFuZCBmcm9tIGxvZ29cbiAgcGFkZGluZzogJG5hdmJhci1wYWRkaW5nLXkgJG5hdmJhci1wYWRkaW5nLXg7XG5cbiAgLy8gQmVjYXVzZSBmbGV4IHByb3BlcnRpZXMgYXJlbid0IGluaGVyaXRlZCwgd2UgbmVlZCB0byByZWRlY2xhcmUgdGhlc2UgZmlyc3RcbiAgLy8gZmV3IHByb3BlcnRpZXMgc28gdGhhdCBjb250ZW50IG5lc3RlZCB3aXRoaW4gYmVoYXZlIHByb3Blcmx5LlxuICAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAuY29udGFpbmVyLFxuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciBicmFuZFxuLy9cbi8vIFVzZWQgZm9yIGJyYW5kLCBwcm9qZWN0LCBvciBzaXRlIG5hbWVzLlxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogJG5hdmJhci1icmFuZC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZiYXItYnJhbmQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIG5hdlxuLy9cbi8vIEN1c3RvbSBuYXZiYXIgbmF2aWdhdGlvbiAoZG9lc24ndCByZXF1aXJlIGAubmF2YCwgYnV0IGRvZXMgbWFrZSB1c2Ugb2YgYC5uYXYtbGlua2ApLlxuXG4ubmF2YmFyLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIGNhbm5vdCB1c2UgYGluaGVyaXRgIHRvIGdldCB0aGUgYC5uYXZiYXJgcyB2YWx1ZVxuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRleHRcbi8vXG4vL1xuXG4ubmF2YmFyLXRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdi1saW5rLXBhZGRpbmcteTtcbn1cblxuXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIHJlc3BvbnNpdmUgY29sbGFwc2luZyBhbmQgdG9nZ2xpbmcgb2YgbmF2YmFyIGNvbnRlbnRzLlxuLy8gUG93ZXJlZCBieSB0aGUgY29sbGFwc2UgQm9vdHN0cmFwIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4vLyBXaGVuIGNvbGxhcHNlZCwgcHJldmVudCB0aGUgdG9nZ2xlYWJsZSBuYXZiYXIgY29udGVudHMgZnJvbSBhcHBlYXJpbmcgaW5cbi8vIHRoZSBkZWZhdWx0IGZsZXhib3ggcm93IG9yaWVudGF0aW9uLiBSZXF1aXJlcyB0aGUgdXNlIG9mIGBmbGV4LXdyYXA6IHdyYXBgXG4vLyBvbiB0aGUgYC5uYXZiYXJgIHBhcmVudC5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBmbGV4LWdyb3c6IDE7XG4gIC8vIEZvciBhbHdheXMgZXhwYW5kZWQgb3IgZXh0cmEgZnVsbCBuYXZiYXJzLCBlbnN1cmUgY29udGVudCBhbGlnbnMgaXRzZWxmXG4gIC8vIHByb3Blcmx5IHZlcnRpY2FsbHkuIENhbiBiZSBlYXNpbHkgb3ZlcnJpZGRlbiB3aXRoIGZsZXggdXRpbGl0aWVzLlxuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBCdXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBuYXZiYXIgd2hlbiBpbiBpdHMgY29sbGFwc2VkIHN0YXRlXG4ubmF2YmFyLXRvZ2dsZXIge1xuICBwYWRkaW5nOiAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi8vIEtlZXAgYXMgYSBzZXBhcmF0ZSBlbGVtZW50IHNvIGZvbGtzIGNhbiBlYXNpbHkgb3ZlcnJpZGUgaXQgd2l0aCBhbm90aGVyIGljb25cbi8vIG9yIGltYWdlIGZpbGUgYXMgbmVlZGVkLlxuLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogNTAlIC8gMTAwJSAxMDAlIG5vLXJlcGVhdDtcbn1cblxuLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgbWF4LWhlaWdodDogJG5hdmJhci1uYXYtc2Nyb2xsLW1heC1oZWlnaHQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLm5hdmJhci1leHBhbmQtKmAgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciBjb25maWd1cmluZ1xuLy8gd2hlcmUgeW91ciBuYXZiYXIgY29sbGFwc2VzLlxuLm5hdmJhci1leHBhbmQge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAgICAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJHNpemUsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9yIG5lc3RpbmcgY29udGFpbmVycywgaGF2ZSB0byByZWRlY2xhcmUgZm9yIGFsaWdubWVudCBwdXJwb3Nlc1xuICAgICAgICAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHNpemUsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgICAgICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLW5hdi1zY3JvbGwge1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgICAgLy8gQ2hhbmdlcyBmbGV4LWJhc2VzIHRvIGF1dG8gYmVjYXVzZSBvZiBhbiBJRTEwIGJ1Z1xuICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGhlbWVzXG4vL1xuLy8gU3R5bGVzIGZvciBzd2l0Y2hpbmcgYmV0d2VlbiBuYXZiYXJzIHdpdGggbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kLlxuXG4vLyBEYXJrIGxpbmtzIGFnYWluc3QgYSBsaWdodCBiYWNrZ3JvdW5kXG4ubmF2YmFyLWxpZ2h0IHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLnNob3csXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZyk7XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBXaGl0ZSBsaW5rcyBhZ2FpbnN0IGEgZGFyayBiYWNrZ3JvdW5kXG4ubmF2YmFyLWRhcmsge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstaG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLnNob3csXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnKTtcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yMjc0MCNpc3N1ZWNvbW1lbnQtMzA1ODY4MTA2XG4gIGhlaWdodDogJGNhcmQtaGVpZ2h0O1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcblxuICA+IGhyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICA+IC5saXN0LWdyb3VwIHtcbiAgICBib3JkZXItdG9wOiBpbmhlcml0O1xuICAgIGJvcmRlci1ib3R0b206IGluaGVyaXQ7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAvLyBEdWUgdG8gc3BlY2lmaWNpdHkgb2YgdGhlIGFib3ZlIHNlbGVjdG9yIChgLmNhcmQgPiAubGlzdC1ncm91cGApLCB3ZSBtdXN0XG4gIC8vIHVzZSBhIGNoaWxkIHNlbGVjdG9yIGhlcmUgdG8gcHJldmVudCBkb3VibGUgYm9yZGVycy5cbiAgPiAuY2FyZC1oZWFkZXIgKyAubGlzdC1ncm91cCxcbiAgPiAubGlzdC1ncm91cCArIC5jYXJkLWZvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG4uY2FyZC1ib2R5IHtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIGZvciBkZWNrcyBhbmQgZ3JvdXBzIHNvIHRoYXQgY2FyZCBibG9ja3MgdGFrZSB1cFxuICAvLyBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlLCBlbnN1cmluZyBmb290ZXJzIGFyZSBhbGlnbmVkIHRvIHRoZSBib3R0b20uXG4gIGZsZXg6IDEgMSBhdXRvO1xuICAvLyBXb3JrYXJvdW5kIGZvciB0aGUgaW1hZ2Ugc2l6ZSBidWcgaW4gSUVcbiAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yODg1NVxuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci14O1xuICBjb2xvcjogJGNhcmQtY29sb3I7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtc3BhY2VyLXk7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLSRjYXJkLXNwYWNlci15IC8gMjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBjb2xvcjogJGNhcmQtY2FwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgMCAwKTtcbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgY29sb3I6ICRjYXJkLWNhcC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItdG9wOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAvIDI7XG4gIG1hcmdpbi1ib3R0b206IC0kY2FyZC1zcGFjZXIteTtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAvIDI7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogLSRjYXJkLXNwYWNlci14IC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAvIDI7XG59XG5cbi8vIENhcmQgaW1hZ2Vcbi5jYXJkLWltZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6ICRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3AsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgZmxleC1zaHJpbms6IDA7IC8vIEZvciBJRTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yOTM5NlxuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBDYXJkIGRlY2tcblxuLmNhcmQtZGVjayB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtZGVjay1tYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcblxuICAgIC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBkZWZhdWx0XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG4uY2FyZC1ncm91cCB7XG4gIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgPiAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZ3JvdXAtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gICAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgICA+IC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgKyAuY2FyZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gSGFuZGxlIHJvdW5kZWQgY29ybmVyc1xuICAgICAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDb2x1bW5zXG4vL1xuXG4uY2FyZC1jb2x1bW5zIHtcbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWNvbHVtbnMtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGNvbHVtbi1jb3VudDogJGNhcmQtY29sdW1ucy1jb3VudDtcbiAgICBjb2x1bW4tZ2FwOiAkY2FyZC1jb2x1bW5zLWdhcDtcbiAgICBvcnBoYW5zOiAxO1xuICAgIHdpZG93czogMTtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gRG9uJ3QgbGV0IHRoZW0gdmVydGljYWxseSBzcGFuIG11bHRpcGxlIGNvbHVtbnNcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBEb24ndCBsZXQgdGhlaXIgd2lkdGggY2hhbmdlXG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIEFjY29yZGlvblxuLy9cblxuLmFjY29yZGlvbiB7XG4gIG92ZXJmbG93LWFuY2hvcjogbm9uZTtcblxuICA+IC5jYXJkIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICAgIH1cblxuICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICA+IC5jYXJkLWhlYWRlciB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cbiIsIi5icmVhZGNydW1iIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAkYnJlYWRjcnVtYi1wYWRkaW5nLXkgJGJyZWFkY3J1bWItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJyZWFkY3J1bWItZm9udC1zaXplKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWFkY3J1bWItYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZmxvYXQ6IGxlZnQ7IC8vIFN1cHByZXNzIGlubGluZSBzcGFjaW5ncyBhbmQgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvclxuICAgICAgcGFkZGluZy1yaWdodDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuICAgICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgICBjb250ZW50OiBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIElFOS0xMSBoYWNrIHRvIHByb3Blcmx5IGhhbmRsZSBoeXBlcmxpbmsgdW5kZXJsaW5lcyBmb3IgYnJlYWRjcnVtYnMgYnVpbHRcbiAgLy8gd2l0aG91dCBgPHVsPmBzLiBUaGUgYDo6YmVmb3JlYCBwc2V1ZG8tZWxlbWVudCBnZW5lcmF0ZXMgYW4gZWxlbWVudFxuICAvLyAqd2l0aGluKiB0aGUgLmJyZWFkY3J1bWItaXRlbSBhbmQgdGhlcmVieSBpbmhlcml0cyB0aGUgYHRleHQtZGVjb3JhdGlvbmAuXG4gIC8vXG4gIC8vIFRvIHRyaWNrIElFIGludG8gc3VwcHJlc3NpbmcgdGhlIHVuZGVybGluZSwgd2UgZ2l2ZSB0aGUgcHNldWRvLWVsZW1lbnQgYW5cbiAgLy8gdW5kZXJsaW5lIGFuZCB0aGVuIGltbWVkaWF0ZWx5IHJlbW92ZSBpdC5cbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjtcbiAgfVxufVxuIiwiLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLXBhZGRpbmcteSAkcGFnaW5hdGlvbi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1sZWZ0OiAtJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoO1xuICBsaW5lLWhlaWdodDogJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcbiAgICBib3gtc2hhZG93OiAkcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLy8gT3BpbmlvbmF0ZWQ6IHJlbW92ZSB0aGUgXCJoYW5kXCIgY3Vyc29yIHNldCBwcmV2aW91c2x5IGZvciAucGFnZS1saW5rXG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRsaW5lLWhlaWdodC1sZywgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkbGluZS1oZWlnaHQtc20sICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLnBhZ2UtbGluayB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgLnBhZ2UtaXRlbSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmcteSAkYmFkZ2UtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJhZGdlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJhZGdlLXRyYW5zaXRpb24pO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi8vIFBpbGwgYmFkZ2VzXG4vL1xuLy8gTWFrZSB0aGVtIGV4dHJhIHJvdW5kZWQgd2l0aCBhIG1vZGlmaWVyIHRvIHJlcGxhY2UgdjMncyBiYWRnZXMuXG5cbi5iYWRnZS1waWxsIHtcbiAgcGFkZGluZy1yaWdodDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBwYWRkaW5nLWxlZnQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ29sb3JzXG4vL1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgYmFkZ2VzIGdldCBkYXJrZXIgb24gOmhvdmVyKS5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5iYWRnZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIoKSB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cygpIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSgpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAbWl4aW4gYmFkZ2UtdmFyaWFudCgkYmcpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZywgMTAlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRiYWRnZS1mb2N1cy13aWR0aCByZ2JhKCRiZywgLjUpO1xuICAgIH1cbiAgfVxufVxuIiwiLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6ICRqdW1ib3Ryb24tcGFkZGluZyAoJGp1bWJvdHJvbi1wYWRkaW5nIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICRqdW1ib3Ryb24tcGFkZGluZztcbiAgY29sb3I6ICRqdW1ib3Ryb24tY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRqdW1ib3Ryb24tYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBwYWRkaW5nOiAoJGp1bWJvdHJvbi1wYWRkaW5nICogMikgJGp1bWJvdHJvbi1wYWRkaW5nO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyOiAkYWxlcnQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGVydC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAkY2xvc2UtZm9udC1zaXplICsgJGFsZXJ0LXBhZGRpbmcteCAqIDI7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYWxlcnQtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYm9yZGVyLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtY29sb3ItbGV2ZWwpKTtcbiAgfVxufVxuIiwiQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuXG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gRGlzYWJsZSBhbmltYXRpb24gaWYgdHJhbnNpdGlvbnMgYXJlIGRpc2FibGVkXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAgIGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcHJvZ3Jlc3MtaGVpZ2h0IDA7IH1cbiAgICB0byB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICB9XG59XG5cbi5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZm9yY2Ugcm91bmRlZCBjb3JuZXJzIGJ5IGNyb3BwaW5nIGl0XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHByb2dyZXNzLWZvbnQtc2l6ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmc7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRwcm9ncmVzcy1oZWlnaHQgJHByb2dyZXNzLWhlaWdodDtcbn1cblxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246ICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZyBwcm9ncmVzcy1iYXItc3RyaXBlcztcblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHotaW5kZXg6IDE7IC8vIFBsYWNlIGhvdmVyL2ZvY3VzIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkgJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkbGlzdC1ncm91cC1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXG4gICYuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYgKyAmIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBIb3Jpem9udGFsXG4vL1xuLy8gQ2hhbmdlIHRoZSBsYXlvdXQgb2YgbGlzdCBncm91cCBpdGVtcyBmcm9tIHZlcnRpY2FsIChkZWZhdWx0KSB0byBob3Jpem9udGFsLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsI3skaW5maXh9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ29udGV4dHVhbCB2YXJpYW50c1xuLy9cbi8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGluZGl2aWR1YWwgaXRlbXMuXG4vLyBPcmdhbml6YXRpb25hbGx5LCB0aGlzIG11c3QgY29tZSBhZnRlciB0aGUgYDpob3ZlcmAgc3RhdGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIC05KSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCA2KSk7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgJi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNsb3NlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogJGNsb3NlLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAuNTtcblxuICAvLyBPdmVycmlkZSA8YT4ncyBob3ZlciBzdHlsZVxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgb3BhY2l0eTogLjc1O1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmEuY2xvc2UuZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIi50b2FzdCB7XG4gIC8vIFByZXZlbnRzIGZyb20gc2hyaW5raW5nIGluIElFMTEsIHdoZW4gaW4gYSBmbGV4IGNvbnRhaW5lclxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODM0MVxuICBmbGV4LWJhc2lzOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBtYXgtd2lkdGg6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9hc3QtZm9udC1zaXplKTtcbiAgY29sb3I6ICR0b2FzdC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvYXN0LWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtYm9yZGVyLWNvbG9yO1xuICBib3gtc2hhZG93OiAkdG9hc3QtYm94LXNoYWRvdztcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9hc3QtYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdG9hc3QtcGFkZGluZy14O1xuICB9XG5cbiAgJi5zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy15ICR0b2FzdC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9hc3QtaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHN1YnRyYWN0KCR0b2FzdC1ib3JkZXItcmFkaXVzLCAkdG9hc3QtYm9yZGVyLXdpZHRoKSk7XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogJHRvYXN0LXBhZGRpbmcteDsgLy8gYXBwbHkgdG8gYm90aCB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbFxufVxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLm1vZGFsLW9wZW4ge1xuICAvLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubW9kYWwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBkaXNwbGF5OiBmbGV4OyAvLyBJRTEwLzExXG4gIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpOyAvLyBJRTEwLzExXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1oZWFkZXIsXG4gIC5tb2RhbC1mb290ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLy8gRW5zdXJlIGBtb2RhbC1kaWFsb2ctY2VudGVyZWRgIGV4dGVuZHMgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSB2aWV3IChJRTEwLzExKVxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyAvLyBJRTEwXG4gICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcbiAgICBoZWlnaHQ6IG1pbi1jb250ZW50OyAvLyBSZXNldCBoZWlnaHQgdG8gMCBleGNlcHQgb24gSUVcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLy8gRW5zdXJlIGAubW9kYWwtYm9keWAgc2hvd3Mgc2Nyb2xsYmFyIChJRTEwLzExKVxuICAmLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBjb2xvcjogJG1vZGFsLWNvbnRlbnQtY29sb3I7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC1iYWNrZHJvcDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvLyBzbyB0aGUgY2xvc2UgYnRuIGFsd2F5cyBzdGF5cyBvbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLmNsb3NlIHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gICAgLy8gYXV0byBvbiB0aGUgbGVmdCBmb3JjZSBpY29uIHRvIHRoZSByaWdodCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gLm1vZGFsLXRpdGxlXG4gICAgbWFyZ2luOiAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy14KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSBhdXRvO1xuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZyAtICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gLyAyO1xuICBib3JkZXItdG9wOiAkbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gUGxhY2UgbWFyZ2luIGJldHdlZW4gZm9vdGVyIGVsZW1lbnRzXG4gIC8vIFRoaXMgc29sdXRpb24gaXMgZmFyIGZyb20gaWRlYWwgYmVjYXVzZSBvZiB0aGUgdW5pdmVyc2FsIHNlbGVjdG9yIHVzYWdlLFxuICAvLyBidXQgaXMgbmVlZGVkIHRvIGZpeCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0ODAwXG4gID4gKiB7XG4gICAgbWFyZ2luOiAkbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuIC8gMjtcbiAgfVxufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1tZDtcbiAgICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgICBtaW4taGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgICAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwKTtcbiAgfVxuXG4gIC5tb2RhbC1zbSB7IG1heC13aWR0aDogJG1vZGFsLXNtOyB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm1vZGFsLWxnLFxuICAubW9kYWwteGwge1xuICAgIG1heC13aWR0aDogJG1vZGFsLWxnO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgLm1vZGFsLXhsIHsgbWF4LXdpZHRoOiAkbW9kYWwteGw7IH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkemluZGV4LXRvb2x0aXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46ICR0b29sdGlwLW1hcmdpbjtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9vbHRpcC1mb250LXNpemUpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgdG9vbHRpcCdzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5zaG93IHsgb3BhY2l0eTogJHRvb2x0aXAtb3BhY2l0eTsgfVxuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXRvcCB7XG4gIHBhZGRpbmc6ICR0b29sdGlwLWFycm93LWhlaWdodCAwO1xuXG4gIC5hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtcmlnaHQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWJvdHRvbSB7XG4gIHBhZGRpbmc6ICR0b29sdGlwLWFycm93LWhlaWdodCAwO1xuXG4gIC5hcnJvdyB7XG4gICAgdG9wOiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtbGVmdCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDAgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1hdXRvIHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtdG9wO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtcmlnaHQ7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtYm90dG9tO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1sZWZ0O1xuICB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmcteSAkdG9vbHRpcC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0KCkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi5wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtcG9wb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogJHBvcG92ZXItbWF4LXdpZHRoO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRwb3BvdmVyLWZvbnQtc2l6ZSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSBwb3BvdmVyJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcG9wb3Zlci1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkcG9wb3Zlci1ib3gtc2hhZG93KTtcblxuICAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgbWFyZ2luOiAwICRwb3BvdmVyLWJvcmRlci1yYWRpdXM7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXRvcCB7XG4gIG1hcmdpbi1ib3R0b206ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgYm90dG9tOiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItcmlnaHQge1xuICBtYXJnaW4tbGVmdDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBsZWZ0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRwb3BvdmVyLWJvcmRlci1yYWRpdXMgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItYm90dG9tIHtcbiAgbWFyZ2luLXRvcDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICB0b3A6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd2lsbCByZW1vdmUgdGhlIHBvcG92ZXItaGVhZGVyJ3MgYm9yZGVyIGp1c3QgYmVsb3cgdGhlIGFycm93XG4gIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aCAvIDI7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItaGVhZGVyLWJnO1xuICB9XG59XG5cbi5icy1wb3BvdmVyLWxlZnQge1xuICBtYXJnaW4tcmlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgcmlnaHQ6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbjogJHBvcG92ZXItYm9yZGVyLXJhZGl1cyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1hdXRvIHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItdG9wO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItcmlnaHQ7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItYm90dG9tO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1sZWZ0O1xuICB9XG59XG5cblxuLy8gT2Zmc2V0IHRoZSBwb3BvdmVyIHRvIGFjY291bnQgZm9yIHRoZSBwb3BvdmVyIGFycm93XG4ucG9wb3Zlci1oZWFkZXIge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gUmVib290XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBjb2xvcjogJHBvcG92ZXItaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1oZWFkZXItYmc7XG4gIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCBkYXJrZW4oJHBvcG92ZXItaGVhZGVyLWJnLCA1JSk7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnBvcG92ZXItYm9keSB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWJvZHktcGFkZGluZy15ICRwb3BvdmVyLWJvZHktcGFkZGluZy14O1xuICBjb2xvcjogJHBvcG92ZXItYm9keS1jb2xvcjtcbn1cbiIsIi8vIE5vdGVzIG9uIHRoZSBjbGFzc2VzOlxuLy9cbi8vIDEuIC5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHNob3VsZCBpZGVhbGx5IGJlIHBhbi15ICh0byBhbGxvdyBmb3IgdXNlcnMgdG8gc2Nyb2xsIHZlcnRpY2FsbHkpXG4vLyAgICBldmVuIHdoZW4gdGhlaXIgc2Nyb2xsIGFjdGlvbiBzdGFydGVkIG9uIGEgY2Fyb3VzZWwsIGJ1dCBmb3IgY29tcGF0aWJpbGl0eSAod2l0aCBGaXJlZm94KVxuLy8gICAgd2UncmUgcHJldmVudGluZyBhbGwgYWN0aW9ucyBpbnN0ZWFkXG4vLyAyLiBUaGUgLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmNhcm91c2VsLWl0ZW0tcmlnaHQgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGVyZVxuLy8gICAgdGhlIGFjdGl2ZSBzbGlkZSBpcyBoZWFkaW5nLlxuLy8gMy4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtIGlzIHRoZSBjdXJyZW50IHNsaWRlLlxuLy8gNC4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB0aGUgY3VycmVudFxuLy8gICAgc2xpZGUgaW4gaXRzIGluLXRyYW5zaXRpb24gc3RhdGUuIE9ubHkgb25lIG9mIHRoZXNlIG9jY3VycyBhdCBhIHRpbWUuXG4vLyA1LiAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0XG4vLyAgICBpcyB0aGUgdXBjb21pbmcgc2xpZGUgaW4gdHJhbnNpdGlvbi5cblxuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2Fyb3VzZWwucG9pbnRlci1ldmVudCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi5jYXJvdXNlbC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtdHJhbnNpdGlvbik7XG59XG5cbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLWxlZnQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1wcmV2Om5vdCguY2Fyb3VzZWwtaXRlbS1yaWdodCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSB0cmFuc2l0aW9uc1xuLy9cblxuLmNhcm91c2VsLWZhZGUge1xuICAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbiAgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsXG4gIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgei1pbmRleDogMTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgei1pbmRleDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwcyAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbik7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vL1xuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG4gIC8vIFVzZSBmbGV4IGZvciBhbGlnbm1lbnQgKDEtMylcbiAgZGlzcGxheTogZmxleDsgLy8gMS4gYWxsb3cgZmxleCBzdHlsZXNcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gMi4gdmVydGljYWxseSBjZW50ZXIgY29udGVudHNcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIDMuIGhvcml6b250YWxseSBjZW50ZXIgY29udGVudHNcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uKTtcblxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gIGxlZnQ6IDA7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHJpZ2h0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpO1xuICB9XG59XG5cbi8vIEljb25zIGZvciB3aXRoaW5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGhlaWdodDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgYmFja2dyb3VuZDogNTAlIC8gMTAwJSAxMDAlIG5vLXJlcGVhdDtcbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnKTtcbn1cblxuXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwc1xuLy9cbi8vIEFkZCBhbiBvcmRlcmVkIGxpc3Qgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYSBsaXN0IGl0ZW0gZm9yIGVhY2hcbi8vIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxNTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gb3ZlcnJpZGUgPG9sPiBkZWZhdWx0XG4gIC8vIFVzZSB0aGUgLmNhcm91c2VsLWNvbnRyb2wncyB3aWR0aCBhcyBtYXJnaW4gc28gd2UgZG9uJ3Qgb3ZlcmxheSB0aG9zZVxuICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoO1xuICAgIGhlaWdodDogJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAvLyBVc2UgdHJhbnNwYXJlbnQgYm9yZGVycyB0byBpbmNyZWFzZSB0aGUgaGl0IGFyZWEgYnkgMTBweCBvbiB0b3AgYW5kIGJvdHRvbS5cbiAgICBib3JkZXItdG9wOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbik7XG4gIH1cblxuICAuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vXG4vL1xuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpIC8gMjtcbiAgYm90dG9tOiAyMHB4O1xuICBsZWZ0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDI7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG4uc3Bpbm5lci1ib3JkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgYm9yZGVyOiAkc3Bpbm5lci1ib3JkZXItd2lkdGggc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiAuNzVzIGxpbmVhciBpbmZpbml0ZSBzcGlubmVyLWJvcmRlcjtcbn1cblxuLnNwaW5uZXItYm9yZGVyLXNtIHtcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoLXNtO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodC1zbTtcbiAgYm9yZGVyLXdpZHRoOiAkc3Bpbm5lci1ib3JkZXItd2lkdGgtc207XG59XG5cbi8vXG4vLyBHcm93aW5nIGNpcmNsZVxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWdyb3cge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5zcGlubmVyLWdyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiAuNzVzIGxpbmVhciBpbmZpbml0ZSBzcGlubmVyLWdyb3c7XG59XG5cbi5zcGlubmVyLWdyb3ctc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xufVxuXG5AaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuc3Bpbm5lci1ib3JkZXIsXG4gICAgLnNwaW5uZXItZ3JvdyB7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLmFsaWduLWJhc2VsaW5lICAgIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH0gLy8gQnJvd3NlciBkZWZhdWx0XG4uYWxpZ24tdG9wICAgICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1taWRkbGUgICAgICB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLmFsaWduLWJvdHRvbSAgICAgIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC1ib3R0b20geyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtdG9wICAgIHsgdmVydGljYWwtYWxpZ246IHRleHQtdG9wICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSxcbiAgYnV0dG9uI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgYmctdmFyaWFudGAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBiZy1ncmFkaWVudC12YXJpYW50YCBtaXhpblwiLCBcInY0LjUuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGJnLXZhcmlhbnQoXCIuYmctI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG59XG5cbkBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIEBpbmNsdWRlIGJnLWdyYWRpZW50LXZhcmlhbnQoXCIuYmctZ3JhZGllbnQtI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG4gIH1cbn1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5iZy10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3QsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gQm9yZGVyXG4vL1xuXG4uYm9yZGVyICAgICAgICAgeyBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcCAgICAgeyBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodCAgIHsgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20gIHsgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdCAgICB7IGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLTAgICAgICAgIHsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQtMCAgeyBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20tMCB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0LTAgICB7IGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5ib3JkZXItI3skY29sb3J9IHtcbiAgICBib3JkZXItY29sb3I6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5ib3JkZXItd2hpdGUge1xuICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vL1xuLy8gQm9yZGVyLXJhZGl1c1xuLy9cblxuLnJvdW5kZWQtc20ge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXRvcCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxlZnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZyB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1waWxsIHtcbiAgYm9yZGVyLXJhZGl1czogJHJvdW5kZWQtcGlsbCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0wIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIGNvbW1vbiBgZGlzcGxheWAgdmFsdWVzXG4vL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAgIC5kI3skaW5maXh9LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgdG9nZ2xpbmcgYGRpc3BsYXlgIGluIHByaW50XG4vL1xuXG5AbWVkaWEgcHJpbnQge1xuICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAuZC1wcmludC0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLmVtYmVkLXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuQGVhY2ggJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvIGluICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Mge1xuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teDogbnRoKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbywgMSk7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAyKTtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS0jeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14fWJ5I3skZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teX0ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teSAvICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxvYXQjeyRpbmZpeH0tbGVmdCAgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tbm9uZSAgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJHVzZXItc2VsZWN0cyB7XG4gIC51c2VyLXNlbGVjdC0jeyR2YWx1ZX0geyB1c2VyLXNlbGVjdDogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJG92ZXJmbG93cyB7XG4gIC5vdmVyZmxvdy0jeyR2YWx1ZX0geyBvdmVyZmxvdzogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb21tb24gdmFsdWVzXG5AZWFjaCAkcG9zaXRpb24gaW4gJHBvc2l0aW9ucyB7XG4gIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0geyBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5zdGlja3ktdG9wIHtcbiAgQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gIH1cbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwczovL3d3dy5hMTF5cHJvamVjdC5jb20vcG9zdHMvMjAxMy0wMS0xMS1ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHNyLW9ubHkoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlKCkge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLnNoYWRvdy1zbSB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LXNtICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3cgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LWxnIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGcgIWltcG9ydGFudDsgfVxuLnNoYWRvdy1ub25lIHsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gV2lkdGggYW5kIGhlaWdodFxuXG5AZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAod2lkdGg6IHcsIGhlaWdodDogaCkge1xuICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc2l6ZXMge1xuICAgIC4jeyRhYmJyZXZ9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi5tdy0xMDAgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuLm1oLTEwMCB7IG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vLyBWaWV3cG9ydCBhZGRpdGlvbmFsIGhlbHBlcnNcblxuLm1pbi12dy0xMDAgeyBtaW4td2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7IH1cbi5taW4tdmgtMTAwIHsgbWluLWhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuXG4udnctMTAwIHsgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7IH1cbi52aC0xMDAgeyBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBNYXJnaW4gYW5kIFBhZGRpbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgICAuI3skYWJicmV2fSN7JGluZml4fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLiN7JGFiYnJldn10I3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXRvcDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9ciN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1yaWdodDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9YiN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1ib3R0b206ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWwjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tbGVmdDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2lucyAoZS5nLiwgd2hlcmUgYC5tYi1uMWAgaXMgbmVnYXRpdmUgdmVyc2lvbiBvZiBgLm1iLTFgKVxuICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAwIHtcbiAgICAgICAgLm0jeyRpbmZpeH0tbiN7JHNpemV9IHsgbWFyZ2luOiAtJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5tdCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1yI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tYiN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1sI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXG4gICAgLm0jeyRpbmZpeH0tYXV0byB7IG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm10I3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubXIjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1iI3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWwjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFN0cmV0Y2hlZCBsaW5rXG4vL1xuXG4uc3RyZXRjaGVkLWxpbmsge1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIC8vIEp1c3QgaW4gY2FzZSBgcG9pbnRlci1ldmVudHM6IG5vbmVgIGlzIHNldCBvbiBhIHBhcmVudFxuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy8gSUUxMCBidWdmaXgsIHNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xNjk0Nzk2Ny9pZTEwLWhvdmVyLXBzZXVkby1jbGFzcy1kb2VzbnQtd29yay13aXRob3V0LWJhY2tncm91bmQtY29sb3JcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFRleHRcbi8vXG5cbi50ZXh0LW1vbm9zcGFjZSB7IGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFpbXBvcnRhbnQ7IH1cblxuLy8gQWxpZ25tZW50XG5cbi50ZXh0LWp1c3RpZnkgIHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG4udGV4dC13cmFwICAgICB7IHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuLnRleHQtbm93cmFwICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXRydW5jYXRlIHsgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgpOyB9XG5cbi8vIFJlc3BvbnNpdmUgYWxpZ25tZW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC50ZXh0I3skaW5maXh9LWxlZnQgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG5cbi50ZXh0LWxvd2VyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXVwcGVyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi8vIFdlaWdodCBhbmQgaXRhbGljc1xuXG4uZm9udC13ZWlnaHQtbGlnaHQgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWxpZ2h0ZXIgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ZXIgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LW5vcm1hbCAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZCAgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZGVyICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LWl0YWxpYyAgICAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcblxuLnRleHQtd2hpdGUgeyBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudChcIi50ZXh0LSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG4udGV4dC1ib2R5IHsgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW11dGVkIHsgY29sb3I6ICR0ZXh0LW11dGVkICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtYmxhY2stNTAgeyBjb2xvcjogcmdiYSgkYmxhY2ssIC41KSAhaW1wb3J0YW50OyB9XG4udGV4dC13aGl0ZS01MCB7IGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjUpICFpbXBvcnRhbnQ7IH1cblxuLy8gTWlzY1xuXG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbm9uZSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJyZWFrIHtcbiAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50OyAvLyBEZXByZWNhdGVkLCBidXQgYXZvaWRzIGlzc3VlcyB3aXRoIGZsZXggY29udGFpbmVyc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgLy8gVXNlZCBpbnN0ZWFkIG9mIGBvdmVyZmxvdy13cmFwYCBmb3IgSUUgJiBFZGdlIExlZ2FjeVxufVxuXG4vLyBSZXNldFxuXG4udGV4dC1yZXNldCB7IGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFR5cG9ncmFwaHlcblxuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlICE9IDAge1xuICAgIGEjeyRwYXJlbnR9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtZW1waGFzaXMtdmFyaWFudCgpYFwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuXG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWhpZGUoKWBcIiwgXCJ2NC4xLjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBWaXNpYmlsaXR5IHV0aWxpdGllc1xuLy9cblxuLnZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cbiJdfQ== */
