/* to override bootstraps values we need to be before the bootstrap import */
/*!
 * Bootstrap Grid v5.1.3 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root {
  --bs-base: #0a0a0a;
  --bs-primary: #02063f;
  --bs-secondary: #84a5ff;
  --bs-third: #aaa;
  --bs-fourth: #ddd;
  --bs-white: #ffffff;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #0d6efd;
  --bs-secondary: #6c757d;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 13, 110, 253;
  --bs-secondary-rgb: 108, 117, 125;
  --bs-success-rgb: 25, 135, 84;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-bg: #fff;
}

.container,
.container-fluid,
.container-xl,
.container-sm {
  width: 100%;
  padding-right: var(--bs-gutter-x, 0.75rem);
  padding-left: var(--bs-gutter-x, 0.75rem);
  margin-right: auto;
  margin-left: auto;
}

.container {
  max-width: 90%;
}

@media (min-width: 1440px) {
  .container-xl, .container-lg, .container-md, .container-smmd, .container {
    max-width: 1400px;
  }
}
.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  box-sizing: border-box;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0 0%;
}

.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}

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

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

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

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

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

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

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}

.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}

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

.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}

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

.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}

.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}

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

.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}

.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}

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

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

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

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

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

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

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

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

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

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

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

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

.g-0,
.gx-0 {
  --bs-gutter-x: 0;
}

.g-0,
.gy-0 {
  --bs-gutter-y: 0;
}

.g-1,
.gx-1 {
  --bs-gutter-x: 0.25rem;
}

.g-1,
.gy-1 {
  --bs-gutter-y: 0.25rem;
}

.g-2,
.gx-2 {
  --bs-gutter-x: 0.5rem;
}

.g-2,
.gy-2 {
  --bs-gutter-y: 0.5rem;
}

.g-3,
.gx-3 {
  --bs-gutter-x: 1rem;
}

.g-3,
.gy-3 {
  --bs-gutter-y: 1rem;
}

.g-4,
.gx-4 {
  --bs-gutter-x: 1.5rem;
}

.g-4,
.gy-4 {
  --bs-gutter-y: 1.5rem;
}

.g-5,
.gx-5 {
  --bs-gutter-x: 3rem;
}

.g-5,
.gy-5 {
  --bs-gutter-y: 3rem;
}

@media (min-width: 500px) {
  .col-smmd {
    flex: 1 0 0%;
  }

  .row-cols-smmd-auto > * {
    flex: 0 0 auto;
    width: auto;
  }

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

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

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

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

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

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

  .col-smmd-auto {
    flex: 0 0 auto;
    width: auto;
  }

  .col-smmd-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }

  .col-smmd-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }

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

  .col-smmd-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }

  .col-smmd-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }

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

  .col-smmd-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }

  .col-smmd-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }

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

  .col-smmd-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }

  .col-smmd-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }

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

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

  .offset-smmd-1 {
    margin-left: 8.33333333%;
  }

  .offset-smmd-2 {
    margin-left: 16.66666667%;
  }

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

  .offset-smmd-4 {
    margin-left: 33.33333333%;
  }

  .offset-smmd-5 {
    margin-left: 41.66666667%;
  }

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

  .offset-smmd-7 {
    margin-left: 58.33333333%;
  }

  .offset-smmd-8 {
    margin-left: 66.66666667%;
  }

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

  .offset-smmd-10 {
    margin-left: 83.33333333%;
  }

  .offset-smmd-11 {
    margin-left: 91.66666667%;
  }

  .g-smmd-0,
.gx-smmd-0 {
    --bs-gutter-x: 0;
  }

  .g-smmd-0,
.gy-smmd-0 {
    --bs-gutter-y: 0;
  }

  .g-smmd-1,
.gx-smmd-1 {
    --bs-gutter-x: 0.25rem;
  }

  .g-smmd-1,
.gy-smmd-1 {
    --bs-gutter-y: 0.25rem;
  }

  .g-smmd-2,
.gx-smmd-2 {
    --bs-gutter-x: 0.5rem;
  }

  .g-smmd-2,
.gy-smmd-2 {
    --bs-gutter-y: 0.5rem;
  }

  .g-smmd-3,
.gx-smmd-3 {
    --bs-gutter-x: 1rem;
  }

  .g-smmd-3,
.gy-smmd-3 {
    --bs-gutter-y: 1rem;
  }

  .g-smmd-4,
.gx-smmd-4 {
    --bs-gutter-x: 1.5rem;
  }

  .g-smmd-4,
.gy-smmd-4 {
    --bs-gutter-y: 1.5rem;
  }

  .g-smmd-5,
.gx-smmd-5 {
    --bs-gutter-x: 3rem;
  }

  .g-smmd-5,
.gy-smmd-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0%;
  }

  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }

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

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

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

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

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

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

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

  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }

  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }

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

  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }

  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }

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

  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }

  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }

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

  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }

  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .offset-md-11 {
    margin-left: 91.66666667%;
  }

  .g-md-0,
.gx-md-0 {
    --bs-gutter-x: 0;
  }

  .g-md-0,
.gy-md-0 {
    --bs-gutter-y: 0;
  }

  .g-md-1,
.gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }

  .g-md-1,
.gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }

  .g-md-2,
.gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }

  .g-md-2,
.gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }

  .g-md-3,
.gx-md-3 {
    --bs-gutter-x: 1rem;
  }

  .g-md-3,
.gy-md-3 {
    --bs-gutter-y: 1rem;
  }

  .g-md-4,
.gx-md-4 {
    --bs-gutter-x: 1.5rem;
  }

  .g-md-4,
.gy-md-4 {
    --bs-gutter-y: 1.5rem;
  }

  .g-md-5,
.gx-md-5 {
    --bs-gutter-x: 3rem;
  }

  .g-md-5,
.gy-md-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0%;
  }

  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }

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

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

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

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

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

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

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

  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }

  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }

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

  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }

  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }

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

  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }

  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }

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

  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }

  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .offset-lg-11 {
    margin-left: 91.66666667%;
  }

  .g-lg-0,
.gx-lg-0 {
    --bs-gutter-x: 0;
  }

  .g-lg-0,
.gy-lg-0 {
    --bs-gutter-y: 0;
  }

  .g-lg-1,
.gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }

  .g-lg-1,
.gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }

  .g-lg-2,
.gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }

  .g-lg-2,
.gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }

  .g-lg-3,
.gx-lg-3 {
    --bs-gutter-x: 1rem;
  }

  .g-lg-3,
.gy-lg-3 {
    --bs-gutter-y: 1rem;
  }

  .g-lg-4,
.gx-lg-4 {
    --bs-gutter-x: 1.5rem;
  }

  .g-lg-4,
.gy-lg-4 {
    --bs-gutter-y: 1.5rem;
  }

  .g-lg-5,
.gx-lg-5 {
    --bs-gutter-x: 3rem;
  }

  .g-lg-5,
.gy-lg-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1440px) {
  .col-xl {
    flex: 1 0 0%;
  }

  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }

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

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

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

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

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

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

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

  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }

  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }

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

  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }

  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }

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

  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }

  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }

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

  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }

  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .offset-xl-11 {
    margin-left: 91.66666667%;
  }

  .g-xl-0,
.gx-xl-0 {
    --bs-gutter-x: 0;
  }

  .g-xl-0,
.gy-xl-0 {
    --bs-gutter-y: 0;
  }

  .g-xl-1,
.gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }

  .g-xl-1,
.gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }

  .g-xl-2,
.gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }

  .g-xl-2,
.gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }

  .g-xl-3,
.gx-xl-3 {
    --bs-gutter-x: 1rem;
  }

  .g-xl-3,
.gy-xl-3 {
    --bs-gutter-y: 1rem;
  }

  .g-xl-4,
.gx-xl-4 {
    --bs-gutter-x: 1.5rem;
  }

  .g-xl-4,
.gy-xl-4 {
    --bs-gutter-y: 1.5rem;
  }

  .g-xl-5,
.gx-xl-5 {
    --bs-gutter-x: 3rem;
  }

  .g-xl-5,
.gy-xl-5 {
    --bs-gutter-y: 3rem;
  }
}
.d-inline {
  display: inline !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.order-first {
  order: -1 !important;
}

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

.order-1 {
  order: 1 !important;
}

.order-2 {
  order: 2 !important;
}

.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-last {
  order: 6 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.me-0 {
  margin-right: 0 !important;
}

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

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

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

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

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

.me-auto {
  margin-right: auto !important;
}

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

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

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

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

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

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

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

.ms-0 {
  margin-left: 0 !important;
}

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

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

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

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

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

.ms-auto {
  margin-left: auto !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.pe-0 {
  padding-right: 0 !important;
}

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

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

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

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

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

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

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

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

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

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

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

.ps-0 {
  padding-left: 0 !important;
}

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

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

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

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

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

@media (min-width: 500px) {
  .d-smmd-inline {
    display: inline !important;
  }

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

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

  .d-smmd-grid {
    display: grid !important;
  }

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

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

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

  .d-smmd-flex {
    display: flex !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .justify-content-smmd-evenly {
    justify-content: space-evenly !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .order-smmd-first {
    order: -1 !important;
  }

  .order-smmd-0 {
    order: 0 !important;
  }

  .order-smmd-1 {
    order: 1 !important;
  }

  .order-smmd-2 {
    order: 2 !important;
  }

  .order-smmd-3 {
    order: 3 !important;
  }

  .order-smmd-4 {
    order: 4 !important;
  }

  .order-smmd-5 {
    order: 5 !important;
  }

  .order-smmd-last {
    order: 6 !important;
  }

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

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

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

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

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

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

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

  .mx-smmd-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .mx-smmd-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }

  .mx-smmd-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }

  .mx-smmd-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }

  .mx-smmd-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }

  .mx-smmd-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }

  .mx-smmd-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .my-smmd-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .my-smmd-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }

  .my-smmd-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }

  .my-smmd-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }

  .my-smmd-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }

  .my-smmd-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }

  .my-smmd-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }

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

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

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

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

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

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

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

  .me-smmd-0 {
    margin-right: 0 !important;
  }

  .me-smmd-1 {
    margin-right: 0.25rem !important;
  }

  .me-smmd-2 {
    margin-right: 0.5rem !important;
  }

  .me-smmd-3 {
    margin-right: 1rem !important;
  }

  .me-smmd-4 {
    margin-right: 1.5rem !important;
  }

  .me-smmd-5 {
    margin-right: 3rem !important;
  }

  .me-smmd-auto {
    margin-right: auto !important;
  }

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

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

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

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

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

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

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

  .ms-smmd-0 {
    margin-left: 0 !important;
  }

  .ms-smmd-1 {
    margin-left: 0.25rem !important;
  }

  .ms-smmd-2 {
    margin-left: 0.5rem !important;
  }

  .ms-smmd-3 {
    margin-left: 1rem !important;
  }

  .ms-smmd-4 {
    margin-left: 1.5rem !important;
  }

  .ms-smmd-5 {
    margin-left: 3rem !important;
  }

  .ms-smmd-auto {
    margin-left: auto !important;
  }

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

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

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

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

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

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

  .px-smmd-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .px-smmd-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }

  .px-smmd-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }

  .px-smmd-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }

  .px-smmd-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }

  .px-smmd-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }

  .py-smmd-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .py-smmd-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }

  .py-smmd-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }

  .py-smmd-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }

  .py-smmd-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }

  .py-smmd-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }

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

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

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

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

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

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

  .pe-smmd-0 {
    padding-right: 0 !important;
  }

  .pe-smmd-1 {
    padding-right: 0.25rem !important;
  }

  .pe-smmd-2 {
    padding-right: 0.5rem !important;
  }

  .pe-smmd-3 {
    padding-right: 1rem !important;
  }

  .pe-smmd-4 {
    padding-right: 1.5rem !important;
  }

  .pe-smmd-5 {
    padding-right: 3rem !important;
  }

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

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

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

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

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

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

  .ps-smmd-0 {
    padding-left: 0 !important;
  }

  .ps-smmd-1 {
    padding-left: 0.25rem !important;
  }

  .ps-smmd-2 {
    padding-left: 0.5rem !important;
  }

  .ps-smmd-3 {
    padding-left: 1rem !important;
  }

  .ps-smmd-4 {
    padding-left: 1.5rem !important;
  }

  .ps-smmd-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 768px) {
  .d-md-inline {
    display: inline !important;
  }

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

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

  .d-md-grid {
    display: grid !important;
  }

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

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

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

  .d-md-flex {
    display: flex !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .order-md-last {
    order: 6 !important;
  }

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

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

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

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

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

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

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

  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }

  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }

  .mx-md-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }

  .mx-md-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }

  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }

  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }

  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }

  .my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }

  .my-md-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }

  .my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }

  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }

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

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

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

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

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

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

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

  .me-md-0 {
    margin-right: 0 !important;
  }

  .me-md-1 {
    margin-right: 0.25rem !important;
  }

  .me-md-2 {
    margin-right: 0.5rem !important;
  }

  .me-md-3 {
    margin-right: 1rem !important;
  }

  .me-md-4 {
    margin-right: 1.5rem !important;
  }

  .me-md-5 {
    margin-right: 3rem !important;
  }

  .me-md-auto {
    margin-right: auto !important;
  }

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

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

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

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

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

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

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

  .ms-md-0 {
    margin-left: 0 !important;
  }

  .ms-md-1 {
    margin-left: 0.25rem !important;
  }

  .ms-md-2 {
    margin-left: 0.5rem !important;
  }

  .ms-md-3 {
    margin-left: 1rem !important;
  }

  .ms-md-4 {
    margin-left: 1.5rem !important;
  }

  .ms-md-5 {
    margin-left: 3rem !important;
  }

  .ms-md-auto {
    margin-left: auto !important;
  }

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

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

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

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

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

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

  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }

  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }

  .px-md-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }

  .px-md-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }

  .px-md-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }

  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }

  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }

  .py-md-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }

  .py-md-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }

  .py-md-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }

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

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

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

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

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

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

  .pe-md-0 {
    padding-right: 0 !important;
  }

  .pe-md-1 {
    padding-right: 0.25rem !important;
  }

  .pe-md-2 {
    padding-right: 0.5rem !important;
  }

  .pe-md-3 {
    padding-right: 1rem !important;
  }

  .pe-md-4 {
    padding-right: 1.5rem !important;
  }

  .pe-md-5 {
    padding-right: 3rem !important;
  }

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

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

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

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

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

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

  .ps-md-0 {
    padding-left: 0 !important;
  }

  .ps-md-1 {
    padding-left: 0.25rem !important;
  }

  .ps-md-2 {
    padding-left: 0.5rem !important;
  }

  .ps-md-3 {
    padding-left: 1rem !important;
  }

  .ps-md-4 {
    padding-left: 1.5rem !important;
  }

  .ps-md-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 992px) {
  .d-lg-inline {
    display: inline !important;
  }

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

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

  .d-lg-grid {
    display: grid !important;
  }

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

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

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

  .d-lg-flex {
    display: flex !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .order-lg-last {
    order: 6 !important;
  }

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

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

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

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

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

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

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

  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }

  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }

  .mx-lg-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }

  .mx-lg-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }

  .mx-lg-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }

  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }

  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }

  .my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }

  .my-lg-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }

  .my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }

  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }

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

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

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

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

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

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

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

  .me-lg-0 {
    margin-right: 0 !important;
  }

  .me-lg-1 {
    margin-right: 0.25rem !important;
  }

  .me-lg-2 {
    margin-right: 0.5rem !important;
  }

  .me-lg-3 {
    margin-right: 1rem !important;
  }

  .me-lg-4 {
    margin-right: 1.5rem !important;
  }

  .me-lg-5 {
    margin-right: 3rem !important;
  }

  .me-lg-auto {
    margin-right: auto !important;
  }

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

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

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

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

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

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

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

  .ms-lg-0 {
    margin-left: 0 !important;
  }

  .ms-lg-1 {
    margin-left: 0.25rem !important;
  }

  .ms-lg-2 {
    margin-left: 0.5rem !important;
  }

  .ms-lg-3 {
    margin-left: 1rem !important;
  }

  .ms-lg-4 {
    margin-left: 1.5rem !important;
  }

  .ms-lg-5 {
    margin-left: 3rem !important;
  }

  .ms-lg-auto {
    margin-left: auto !important;
  }

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

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

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

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

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

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

  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }

  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }

  .px-lg-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }

  .px-lg-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }

  .px-lg-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }

  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }

  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }

  .py-lg-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }

  .py-lg-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }

  .py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }

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

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

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

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

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

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

  .pe-lg-0 {
    padding-right: 0 !important;
  }

  .pe-lg-1 {
    padding-right: 0.25rem !important;
  }

  .pe-lg-2 {
    padding-right: 0.5rem !important;
  }

  .pe-lg-3 {
    padding-right: 1rem !important;
  }

  .pe-lg-4 {
    padding-right: 1.5rem !important;
  }

  .pe-lg-5 {
    padding-right: 3rem !important;
  }

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

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

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

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

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

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

  .ps-lg-0 {
    padding-left: 0 !important;
  }

  .ps-lg-1 {
    padding-left: 0.25rem !important;
  }

  .ps-lg-2 {
    padding-left: 0.5rem !important;
  }

  .ps-lg-3 {
    padding-left: 1rem !important;
  }

  .ps-lg-4 {
    padding-left: 1.5rem !important;
  }

  .ps-lg-5 {
    padding-left: 3rem !important;
  }
}
@media (min-width: 1440px) {
  .d-xl-inline {
    display: inline !important;
  }

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

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

  .d-xl-grid {
    display: grid !important;
  }

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

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

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

  .d-xl-flex {
    display: flex !important;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .order-xl-last {
    order: 6 !important;
  }

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

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

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

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

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

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

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

  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }

  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }

  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }

  .mx-xl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }

  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }

  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }

  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }

  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }

  .my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }

  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }

  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }

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

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

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

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

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

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

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

  .me-xl-0 {
    margin-right: 0 !important;
  }

  .me-xl-1 {
    margin-right: 0.25rem !important;
  }

  .me-xl-2 {
    margin-right: 0.5rem !important;
  }

  .me-xl-3 {
    margin-right: 1rem !important;
  }

  .me-xl-4 {
    margin-right: 1.5rem !important;
  }

  .me-xl-5 {
    margin-right: 3rem !important;
  }

  .me-xl-auto {
    margin-right: auto !important;
  }

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

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

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

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

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

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

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

  .ms-xl-0 {
    margin-left: 0 !important;
  }

  .ms-xl-1 {
    margin-left: 0.25rem !important;
  }

  .ms-xl-2 {
    margin-left: 0.5rem !important;
  }

  .ms-xl-3 {
    margin-left: 1rem !important;
  }

  .ms-xl-4 {
    margin-left: 1.5rem !important;
  }

  .ms-xl-5 {
    margin-left: 3rem !important;
  }

  .ms-xl-auto {
    margin-left: auto !important;
  }

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

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

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

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

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

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

  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }

  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }

  .px-xl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }

  .px-xl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }

  .px-xl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }

  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }

  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }

  .py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }

  .py-xl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }

  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }

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

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

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

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

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

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

  .pe-xl-0 {
    padding-right: 0 !important;
  }

  .pe-xl-1 {
    padding-right: 0.25rem !important;
  }

  .pe-xl-2 {
    padding-right: 0.5rem !important;
  }

  .pe-xl-3 {
    padding-right: 1rem !important;
  }

  .pe-xl-4 {
    padding-right: 1.5rem !important;
  }

  .pe-xl-5 {
    padding-right: 3rem !important;
  }

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

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

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

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

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

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

  .ps-xl-0 {
    padding-left: 0 !important;
  }

  .ps-xl-1 {
    padding-left: 0.25rem !important;
  }

  .ps-xl-2 {
    padding-left: 0.5rem !important;
  }

  .ps-xl-3 {
    padding-left: 1rem !important;
  }

  .ps-xl-4 {
    padding-left: 1.5rem !important;
  }

  .ps-xl-5 {
    padding-left: 3rem !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }

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

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

  .d-print-grid {
    display: grid !important;
  }

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

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

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

  .d-print-flex {
    display: flex !important;
  }

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

  .d-print-none {
    display: none !important;
  }
}
/*loop over all breaking points*/
.mb--100 {
  margin-bottom: 100px !important;
}

.mt--100 {
  margin-top: 100px !important;
}

.p--100 {
  padding: 100px;
}

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

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

.pt--100 {
  padding-top: 100px !important;
}

.pb--100 {
  padding-bottom: 100px !important;
}

@media (min-width: 768px) {
  .pt--100 {
    padding-top: 100px !important;
  }

  .pb--100 {
    padding-bottom: 100px !important;
  }

  .mt--100 {
    margin-top: 100px !important;
  }

  .mb--100 {
    margin-bottom: 100px !important;
  }

  .mb-md-100 {
    margin-bottom: 100px !important;
  }

  .p-md--100 {
    padding: 100px;
  }

  .pl-md--100 {
    padding-left: 100px;
  }

  .pt-md--100 {
    padding-top: 100px !important;
  }

  .pb-md--100 {
    padding-bottom: 100px !important;
  }
}
.bg-base {
  background-color: #0a0a0a;
}

.bg-primary {
  background-color: #02063f;
}

.bg-secondary {
  background-color: #84a5ff;
}

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

.bg-fourth {
  background-color: #ddd;
}

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

.circle {
  border-radius: 50%;
  overflow: hidden;
}

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

.loading {
  position: relative;
}
.loading:after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-color: white;
  opacity: 0.5;
}
.loading:after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-image: url("../../img/loader.svg");
  background-position: center 40%;
  background-size: 30%;
  background-repeat: no-repeat;
}

.w-100 {
  width: 100%;
}

.h-100 {
  height: 100%;
}

.max-h-100vh {
  max-height: 100vh;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-scroll {
  overflow: scroll;
}

.card {
  transition: all 0s;
}
.card.hide {
  opacity: 0;
  transform: translateY(30px);
}
@media (min-width: 768px) {
  .card.hide {
    transform: scale(2);
  }
}
.card.animateIn {
  opacity: 1;
  transition: all 0.3s ease-out;
  transform: translateY(0);
}
@media (min-width: 768px) {
  .card.animateIn {
    transform: scale(1);
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: scale(2);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.full-iframe {
  position: relative;
  min-height: 50vh;
}
.full-iframe iframe {
  position: absolute;
  top: 0;
  left: 0px;
  width: 100%;
  height: 100%;
}

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

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

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

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

td,
th {
  padding: 0;
}

svg,
img {
  max-width: 100%;
  display: block;
  height: auto;
}

figure {
  margin: 0px;
}

.lazy-container {
  position: relative;
}
.lazy-container:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("data:image/svg+xml;base64,PCEtLSBCeSBTYW0gSGVyYmVydCAoQHNoZXJiKSwgZm9yIGV2ZXJ5b25lLiBNb3JlIEAgaHR0cDovL2dvby5nbC83QUp6YkwgLS0+Cjxzdmcgd2lkdGg9IjM4IiBoZWlnaHQ9IjM4IiB2aWV3Qm94PSIwIDAgMzggMzgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjYWFhIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxKSIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPGNpcmNsZSBzdHJva2Utb3BhY2l0eT0iLjUiIGN4PSIxOCIgY3k9IjE4IiByPSIxOCIvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzYgMThjMC05Ljk0LTguMDYtMTgtMTgtMTgiPgogICAgICAgICAgICAgICAgPGFuaW1hdGVUcmFuc2Zvcm0KICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iCiAgICAgICAgICAgICAgICAgICAgdHlwZT0icm90YXRlIgogICAgICAgICAgICAgICAgICAgIGZyb209IjAgMTggMTgiCiAgICAgICAgICAgICAgICAgICAgdG89IjM2MCAxOCAxOCIKICAgICAgICAgICAgICAgICAgICBkdXI9IjFzIgogICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+CiAgICAgICAgICAgIDwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 10%;
  background-color: #ddd;
  transition: opacity 1s;
}
.lazy-container.lazy-container--loaded:after {
  opacity: 0;
}
.lazy-container img {
  position: absolute;
  top: 0;
  left: 0;
}
.lazy-container.lazy-container--transparent {
  background-color: transparent;
}

[data-bg] {
  position: relative;
  overflow: hidden;
}
[data-bg]:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("data:image/svg+xml;base64,PCEtLSBCeSBTYW0gSGVyYmVydCAoQHNoZXJiKSwgZm9yIGV2ZXJ5b25lLiBNb3JlIEAgaHR0cDovL2dvby5nbC83QUp6YkwgLS0+Cjxzdmcgd2lkdGg9IjM4IiBoZWlnaHQ9IjM4IiB2aWV3Qm94PSIwIDAgMzggMzgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjYWFhIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxKSIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPGNpcmNsZSBzdHJva2Utb3BhY2l0eT0iLjUiIGN4PSIxOCIgY3k9IjE4IiByPSIxOCIvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzYgMThjMC05Ljk0LTguMDYtMTgtMTgtMTgiPgogICAgICAgICAgICAgICAgPGFuaW1hdGVUcmFuc2Zvcm0KICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iCiAgICAgICAgICAgICAgICAgICAgdHlwZT0icm90YXRlIgogICAgICAgICAgICAgICAgICAgIGZyb209IjAgMTggMTgiCiAgICAgICAgICAgICAgICAgICAgdG89IjM2MCAxOCAxOCIKICAgICAgICAgICAgICAgICAgICBkdXI9IjFzIgogICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+CiAgICAgICAgICAgIDwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 10%;
  background-color: #ddd;
  transition: opacity 1s, top 0s linear 1s;
}
[data-bg].lazy--loaded:after {
  opacity: 0;
  top: -1000%;
}

.bg-cover {
  background-size: cover;
}

.social svg,
.social img {
  width: 35px;
}
.social .behance {
  width: 42px;
  margin-top: -3px;
}
.social.social-white svg,
.social.social-white img {
  fill: white;
}

textarea,
input[type=text],
input[type=number],
input[type=tel],
input[type=email],
select {
  width: 100%;
  background-color: rgba(13, 110, 253, 0.25);
  height: 50px;
  line-height: 50px;
  border: none;
  padding: 0 15px;
}

textarea {
  height: 300px;
  line-height: 20px;
}

.af-form {
  max-width: 900px;
  width: 90%;
  margin: auto;
}

.acf-fields {
  display: grid;
  grid-template-columns: 50% 50%;
}
.acf-fields label {
  font-size: 12px;
  font-weight: bold;
}
.acf-fields select,
.acf-fields input {
  background-color: white;
  border: 1px solid #D6D6D6;
}
.acf-fields .af-field-type-message {
  grid-column-start: 1;
  grid-column-end: 3;
}
.acf-fields .af-field-type-message p {
  font-size: 24px;
  font-weight: bold;
  margin: 0;
  margin-top: 30px;
}
.acf-fields .af-field-type-true-false,
.acf-fields .af-field-titel-des-beitrags,
.acf-fields .af-field-type-select,
.acf-fields .af-field-type-repeater {
  grid-column-start: 1;
  grid-column-end: 3;
}
.acf-fields .acf-actions {
  height: 50px;
  width: 100%;
  display: flex;
  justify-content: flex-end;
}
.acf-fields .acf-actions .acf-button {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: blue;
  height: 50px;
  padding-left: 10px;
  padding-right: 10px;
  color: white;
  font-size: 12px;
  min-width: 110px;
  font-weight: bold;
  text-transform: uppercase;
  border-radius: 2px;
}
.acf-fields .af-submit .acf-button {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: blue;
  height: 50px;
  padding-left: 10px;
  padding-right: 10px;
  color: white;
  font-size: 12px;
  min-width: 110px;
  font-weight: bold;
  text-transform: uppercase;
  border-radius: 2px;
  -webkit-appearance: none;
  border: none;
}

.acf-fields > .acf-field {
  border-top: none !important;
}

body {
  font-family: "Lato";
  font-weight: normal;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #0a0a0a;
}

/*loop over all breaking points*/
@media (min-width: 0) {
  .btn--1 {
    font-size: 20px;
    line-height: 50px;
    height: 50px;
    padding: 0 2em;
  }
}
@media (min-width: 0) {
  .btn--2 {
    font-size: 16px;
    line-height: 40px;
    height: 40px;
    padding: 0 1.2em;
  }
}
@media (min-width: 0) {
  .btn--3 {
    font-size: 16px;
    line-height: 30px;
    height: 30px;
    padding: 0 2em;
  }
}
@media (min-width: 768px) {
  .btn--1 {
    font-size: 20px;
    line-height: 58px;
    height: 60px;
  }
}
@media (min-width: 768px) {
  .btn--2 {
    font-size: 16px;
    line-height: 40px;
    height: 40px;
  }
}
.btn {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-radius: 30px;
  border: 1px solid #0a0a0a;
  color: #0a0a0a;
  text-align: center;
  transition: all 0.3s;
  -moz-appearance: none;
}
@media (min-width: 1440px) {
  .btn {
    display: inline-block;
  }
}
.btn.btn--reset {
  border: none;
  background-color: transparent;
  color: #0a0a0a;
}
.btn:hover {
  background-color: #ddd;
  color: #aaa;
}
.btn.btn--third {
  color: #aaa;
}
.btn.btn--white {
  color: white;
}
.btn.btn--loading {
  background-image: url(../../src/img/loader.svg) !important;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 70% 70%;
  color: transparent !important;
}
.btn.btn--active {
  background-color: #ddd;
  pointer-events: none;
}

/* lato-300 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Lato";
  font-style: normal;
  font-weight: 300;
  src: url("../../src/fonts/lato-v24-latin-300.woff2") format("woff2"), url("../../src/fonts/lato-v24-latin-300.ttf") format("truetype");
  /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* lato-regular - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Lato";
  font-style: normal;
  font-weight: 400;
  src: url("../../src/fonts/lato-v24-latin-regular.woff2") format("woff2"), url("../../src/fonts/lato-v24-latin-regular.ttf") format("truetype");
  /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* lato-700 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Lato";
  font-style: normal;
  font-weight: 700;
  src: url("../../src/fonts/lato-v24-latin-700.woff2") format("woff2"), url("../../src/fonts/lato-v24-latin-700.ttf") format("truetype");
  /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
@media (min-width: 0) {
  body {
    font-size: 16px;
    line-height: 150%;
  }
}
@media (min-width: 768px) {
  body {
    font-size: 20px;
    line-height: 150%;
  }
}
@media (min-width: 992px) {
  body {
    font-size: 20px;
    line-height: 150%;
  }
}

p,
ul {
  font-weight: normal;
  margin-top: 0;
  margin-bottom: 30px;
}

h1,
h2,
h3,
h4,
h5,
.h1,
.h2,
.h3,
.h4,
.h5 {
  margin-top: 0;
  font-weight: normal;
  font-style: normal;
  font-stretch: normal;
  font-weight: normal;
  margin-bottom: 20px;
}

/*loop over all breaking points*/
@media (min-width: 0) {
  .h1 {
    font-size: 8vh;
    line-height: 110%;
  }
}
@media (min-width: 0) {
  .h2 {
    font-size: 34px;
    line-height: 125%;
  }
}
@media (min-width: 0) {
  .h3 {
    font-size: 27px;
    line-height: 125%;
  }
}
@media (min-width: 0) {
  .h4 {
    font-size: 20px;
    line-height: 125%;
  }
}
@media (min-width: 0) {
  .h5 {
    font-size: 16px;
    line-height: 125%;
  }
}
@media (min-width: 0) {
  .h6 {
    font-size: 13px;
    line-height: 130%;
  }
}
@media (min-width: 0) {
  .h7 {
    font-size: 13px;
    line-height: 125%;
  }
}
@media (min-width: 0) {
  .hbody {
    font-size: 16px;
    line-height: 150%;
  }
}
@media (min-width: 0) {
  .hsmall {
    font-size: 16px;
    line-height: 150%;
  }
}
@media (min-width: 768px) {
  .h1 {
    font-size: 70px;
    line-height: 110%;
  }
}
@media (min-width: 768px) {
  .h2 {
    font-size: 40px;
    line-height: 125%;
  }
}
@media (min-width: 768px) {
  .h3 {
    font-size: 29px;
    line-height: 125%;
  }
}
@media (min-width: 768px) {
  .h4 {
    font-size: 26px;
    line-height: 125%;
  }
}
@media (min-width: 768px) {
  .h5 {
    font-size: 20px;
    line-height: 120%;
  }
}
@media (min-width: 768px) {
  .h6 {
    font-size: 16px;
    line-height: 125%;
  }
}
@media (min-width: 768px) {
  .h7 {
    font-size: 13px;
    line-height: 125%;
  }
}
@media (min-width: 768px) {
  .hbody {
    font-size: 20px;
    line-height: 150%;
  }
}
@media (min-width: 768px) {
  .hsmall {
    font-size: 20px;
    line-height: 150%;
  }
}
@media (min-width: 992px) {
  .h1 {
    font-size: 60 px;
    line-height: 110%;
  }
}
@media (min-width: 992px) {
  .h2 {
    font-size: 40px;
    line-height: 125%;
  }
}
@media (min-width: 992px) {
  .h3 {
    font-size: 36px;
    line-height: 125%;
  }
}
@media (min-width: 992px) {
  .h4 {
    font-size: 25px;
    line-height: 125%;
  }
}
@media (min-width: 992px) {
  .h5 {
    font-size: 20px;
    line-height: 120%;
  }
}
@media (min-width: 992px) {
  .h6 {
    font-size: 16px;
    line-height: 125%;
  }
}
@media (min-width: 992px) {
  .h7 {
    font-size: 13px;
    line-height: 125%;
  }
}
@media (min-width: 992px) {
  .hbody {
    font-size: 20px;
    line-height: 150%;
  }
}
@media (min-width: 992px) {
  .hsmall {
    font-size: 20px;
    line-height: 150%;
  }
}
a {
  text-decoration: none;
}

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

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

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

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

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

.list .list--inline {
  padding: 0;
  margin: 0;
}
.list .list--inline li {
  margin-bottom: 10px;
  list-style-type: none;
}
@media (min-width: 0) {
  .list .list--inline li {
    display: inline-block;
  }
}

.separator {
  padding-top: 15px;
  border-top: 4px solid black;
}

.separator--bottom {
  padding-bottom: 15px;
  border-bottom: 2px solid black;
}

.text-base {
  color: #0a0a0a;
}
.text-base a {
  color: #0a0a0a;
}

.text-primary {
  color: #02063f;
}
.text-primary a {
  color: #02063f;
}

.text-secondary {
  color: #84a5ff;
}
.text-secondary a {
  color: #84a5ff;
}

.text-third {
  color: #aaa;
}
.text-third a {
  color: #aaa;
}

.text-fourth {
  color: #ddd;
}
.text-fourth a {
  color: #ddd;
}

.text-white {
  color: #ffffff;
}
.text-white a {
  color: #ffffff;
}

a {
  color: #0a0a0a;
}
a:hover {
  color: #02063f;
}

.wysiwyg {
  /*loop over all breaking points*/
}
@media (min-width: 0) {
  .wysiwyg h1 {
    font-size: 8vh;
    line-height: 110%;
  }
}
@media (min-width: 0) {
  .wysiwyg h2 {
    font-size: 34px;
    line-height: 125%;
  }
}
@media (min-width: 0) {
  .wysiwyg h3 {
    font-size: 27px;
    line-height: 125%;
  }
}
@media (min-width: 0) {
  .wysiwyg h4 {
    font-size: 20px;
    line-height: 125%;
  }
}
@media (min-width: 0) {
  .wysiwyg h5 {
    font-size: 16px;
    line-height: 125%;
  }
}
@media (min-width: 0) {
  .wysiwyg h6 {
    font-size: 13px;
    line-height: 130%;
  }
}
@media (min-width: 0) {
  .wysiwyg h7 {
    font-size: 13px;
    line-height: 125%;
  }
}
@media (min-width: 0) {
  .wysiwyg hbody {
    font-size: 16px;
    line-height: 150%;
  }
}
@media (min-width: 0) {
  .wysiwyg hsmall {
    font-size: 16px;
    line-height: 150%;
  }
}
@media (min-width: 768px) {
  .wysiwyg h1 {
    font-size: 70px;
    line-height: 110%;
  }
}
@media (min-width: 768px) {
  .wysiwyg h2 {
    font-size: 40px;
    line-height: 125%;
  }
}
@media (min-width: 768px) {
  .wysiwyg h3 {
    font-size: 29px;
    line-height: 125%;
  }
}
@media (min-width: 768px) {
  .wysiwyg h4 {
    font-size: 26px;
    line-height: 125%;
  }
}
@media (min-width: 768px) {
  .wysiwyg h5 {
    font-size: 20px;
    line-height: 120%;
  }
}
@media (min-width: 768px) {
  .wysiwyg h6 {
    font-size: 16px;
    line-height: 125%;
  }
}
@media (min-width: 768px) {
  .wysiwyg h7 {
    font-size: 13px;
    line-height: 125%;
  }
}
@media (min-width: 768px) {
  .wysiwyg hbody {
    font-size: 20px;
    line-height: 150%;
  }
}
@media (min-width: 768px) {
  .wysiwyg hsmall {
    font-size: 20px;
    line-height: 150%;
  }
}
@media (min-width: 992px) {
  .wysiwyg h1 {
    font-size: 60 px;
    line-height: 110%;
  }
}
@media (min-width: 992px) {
  .wysiwyg h2 {
    font-size: 40px;
    line-height: 125%;
  }
}
@media (min-width: 992px) {
  .wysiwyg h3 {
    font-size: 36px;
    line-height: 125%;
  }
}
@media (min-width: 992px) {
  .wysiwyg h4 {
    font-size: 25px;
    line-height: 125%;
  }
}
@media (min-width: 992px) {
  .wysiwyg h5 {
    font-size: 20px;
    line-height: 120%;
  }
}
@media (min-width: 992px) {
  .wysiwyg h6 {
    font-size: 16px;
    line-height: 125%;
  }
}
@media (min-width: 992px) {
  .wysiwyg h7 {
    font-size: 13px;
    line-height: 125%;
  }
}
@media (min-width: 992px) {
  .wysiwyg hbody {
    font-size: 20px;
    line-height: 150%;
  }
}
@media (min-width: 992px) {
  .wysiwyg hsmall {
    font-size: 20px;
    line-height: 150%;
  }
}

.footer-inner {
  padding-top: 50px;
  margin-top: 100px;
  padding-bottom: 50px;
  border-top: solid 1px rgba(64, 62, 60, 0.25);
}
.footer-inner h3 {
  border-top: solid 1px rgba(64, 62, 60, 0.25);
  font-size: 18px;
  line-height: 40px;
  margin-bottom: 0;
  font-weight: bold;
  padding-top: 10px;
}
.footer-inner ul {
  margin: 0;
  padding: 0;
}
.footer-inner ul li {
  list-style-type: none;
  margin: 0;
  padding: 0;
  line-height: 40px;
}

.admin-bar #header {
  top: 32px;
}

#header {
  position: fixed;
  width: 100%;
  margin: auto;
  z-index: 2;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
  top: 0px;
  transition: all 0.5s ease-out;
  overflow: hidden;
}
#header .logo {
  transition: all 0.3s ease-out;
  max-width: 250px;
  display: flex;
  align-items: center;
}
#header #header-inner {
  position: relative;
  width: 100% !important;
  box-sizing: border-box;
  transition: all 0.5s ease-out;
  padding: 30px 3vw;
}
#header #header-inner ul li {
  display: inline-block;
  margin-left: 14px;
  margin-right: 14px;
  font-size: 16px;
  letter-spacing: 0.5px;
  line-height: normal;
}
#header #header-inner ul li:first-child {
  margin-left: 0;
}
@media (min-width: 992px) {
  #header #header-inner ul li {
    margin-left: 20px;
    margin-right: 20px;
    font-size: 18px;
  }
}
#header #header-inner ul li a {
  transition: all 0.3s ease-out;
}
#header #header-inner ul li a:hover {
  color: #ddd;
}
#header .main-menu ul {
  margin: 0;
  padding: 0;
}
#header .main-menu ul .current-menu-item a {
  color: #aaa;
}

.scroll #header {
  background-color: #f4f4f4;
  box-shadow: 0px -9px 18px black;
}
.scroll #header #header-inner {
  padding: 2px 3vw;
}
.scroll #header #header-inner .logo {
  max-width: 100px;
}

.hamburger {
  padding: 8px 0;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
  text-align: center;
  padding-top: 15px;
  right: 0;
  z-index: 500;
}

.hamburger:hover {
  opacity: 0.7;
}

.hamburger.active:hover {
  opacity: 0.7;
}

.hamburger.active .hamburger-inner,
.hamburger.active .hamburger-inner::before,
.hamburger.active .hamburger-inner::after {
  background-color: #fff;
  transition: all 0.7s;
}

.hamburger-box {
  width: 35px;
  height: 24px;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
  width: 35px;
  height: 2px;
  background-color: #000;
  border-radius: 4px;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}

.hamburger-inner::before,
.hamburger-inner::after {
  content: "";
  display: block;
}

.hamburger-inner::before {
  top: -10px;
}

.hamburger-inner::after {
  bottom: -10px;
}

.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--squeeze .hamburger-inner::before {
  transition: top 0.075s 0.12s ease, opacity 0.075s ease;
}

.hamburger--squeeze .hamburger-inner::after {
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--squeeze.active .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--squeeze.active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease;
}

.hamburger--squeeze.active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media (min-width: 768px) {
  nav .menu-hauptmenu-container {
    background-color: white;
  }
  nav ul {
    padding: 0;
  }
  nav ul li {
    display: block;
    padding: 0;
    padding-top: 15px;
    padding-bottom: 15px;
  }

  .open-nav {
    display: block;
  }
}
#sidebar {
  margin: 0;
  text-align: center;
  width: 100vw;
  height: 100vh;
  border-right: 1px solid #d6d6d6;
  background-color: #0a0a0a;
  color: white;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  right: -100vw;
  transition: all 0.5s;
}
#sidebar ul {
  padding: 0;
  margin: 0 0 30px 0;
}
#sidebar li {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
#sidebar li a {
  color: white;
  text-transform: uppercase;
  font-size: 20px;
  padding: 10px;
  display: inline-block;
}

.sidebar--opened #sidebar {
  right: 0;
}

html {
  scroll-behavior: smooth;
}

#wrapper {
  transition: all 0.5s;
  background-color: #f4f4f4;
  min-height: 100vh;
}

#content {
  padding-top: 150px;
}
@media (min-width: 768px) {
  #content {
    padding-top: 200px;
  }
}

.custom-block {
  position: relative;
}

.container-fluid, .container-sm, .container-xl {
  width: auto !important;
  max-width: 1990px;
}

.masonry {
  columns: 1 1.5vw;
  padding: 3vw 3vw 3vw 3vw;
  column-gap: 3vw;
  min-height: 100vh;
}
@media (min-width: 768px) {
  .masonry {
    columns: 2 1.5vw;
    padding: 2vw 3vw 3vw 3vw;
  }
}
@media (min-width: 992px) {
  .masonry {
    columns: 3 1.5vw;
    padding: 2vw 3vw 3vw 3vw;
  }
}
.masonry .card {
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-shadow: rgba(3, 8, 20, 0.1) 0px 0.15rem 0.5rem, rgba(2, 8, 20, 0.1) 0px 0.075rem 0.175rem;
  height: 100%;
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: 3vw;
  position: relative;
}
.masonry .card:after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  position: absolute;
  z-index: -1;
  background: linear-gradient(to bottom right, green, lightgreen);
  opacity: 0;
  transition: opacity 0.3s;
}
.masonry .card:hover:after {
  z-index: 1;
  opacity: 0.3;
}
.masonry .card.loading:after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-color: rgba(255, 255, 255, 0.5);
  background-image: url("../../src/img/loader.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 50px;
  z-index: 1;
  opacity: 1;
}
.masonry .card video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.masonry .card--portrait:nth-child(1) {
  padding-bottom: 119.9109713804%;
}
.masonry .card--landscape:nth-child(1) {
  padding-bottom: 71.5803342371%;
}
.masonry .card--portrait:nth-child(2) {
  padding-bottom: 117.1551710695%;
}
.masonry .card--landscape:nth-child(2) {
  padding-bottom: 61.4674222809%;
}
.masonry .card--portrait:nth-child(3) {
  padding-bottom: 119.978987305%;
}
.masonry .card--landscape:nth-child(3) {
  padding-bottom: 64.9272497765%;
}
.masonry .card--portrait:nth-child(4) {
  padding-bottom: 128.374377895%;
}
.masonry .card--landscape:nth-child(4) {
  padding-bottom: 53.0405456251%;
}
.masonry .card--portrait:nth-child(5) {
  padding-bottom: 116.4988992737%;
}
.masonry .card--landscape:nth-child(5) {
  padding-bottom: 74.2308044344%;
}
.masonry .card--portrait:nth-child(6) {
  padding-bottom: 123.1750278844%;
}
.masonry .card--landscape:nth-child(6) {
  padding-bottom: 50.6369014555%;
}
.masonry .card--portrait:nth-child(7) {
  padding-bottom: 127.3646906984%;
}
.masonry .card--landscape:nth-child(7) {
  padding-bottom: 74.4215914915%;
}
.masonry .card--portrait:nth-child(8) {
  padding-bottom: 124.2015116192%;
}
.masonry .card--landscape:nth-child(8) {
  padding-bottom: 74.2420651251%;
}
.masonry .card--portrait:nth-child(9) {
  padding-bottom: 124.437176597%;
}
.masonry .card--landscape:nth-child(9) {
  padding-bottom: 59.5953534108%;
}
.masonry .card--portrait:nth-child(10) {
  padding-bottom: 116.9083317726%;
}
.masonry .card--landscape:nth-child(10) {
  padding-bottom: 67.1873687832%;
}
.masonry .card--portrait:nth-child(11) {
  padding-bottom: 129.442242219%;
}
.masonry .card--landscape:nth-child(11) {
  padding-bottom: 74.2582351322%;
}
.masonry .card--portrait:nth-child(12) {
  padding-bottom: 111.971682188%;
}
.masonry .card--landscape:nth-child(12) {
  padding-bottom: 61.8607055388%;
}
.masonry .card--portrait:nth-child(13) {
  padding-bottom: 111.7284362731%;
}
.masonry .card--landscape:nth-child(13) {
  padding-bottom: 71.2569927304%;
}
.masonry .card--portrait:nth-child(14) {
  padding-bottom: 125.9902843784%;
}
.masonry .card--landscape:nth-child(14) {
  padding-bottom: 55.3745020729%;
}
.masonry .card--portrait:nth-child(15) {
  padding-bottom: 127.3348053592%;
}
.masonry .card--landscape:nth-child(15) {
  padding-bottom: 63.8124095626%;
}
.masonry .card--portrait:nth-child(16) {
  padding-bottom: 129.0735034988%;
}
.masonry .card--landscape:nth-child(16) {
  padding-bottom: 70.9029027337%;
}
.masonry .card--portrait:nth-child(17) {
  padding-bottom: 124.0754164329%;
}
.masonry .card--landscape:nth-child(17) {
  padding-bottom: 65.663966241%;
}
.masonry .card--portrait:nth-child(18) {
  padding-bottom: 114.9225845158%;
}
.masonry .card--landscape:nth-child(18) {
  padding-bottom: 54.3081370747%;
}
.masonry .card--portrait:nth-child(19) {
  padding-bottom: 123.5324123111%;
}
.masonry .card--landscape:nth-child(19) {
  padding-bottom: 71.3950441734%;
}
.masonry .card--portrait:nth-child(20) {
  padding-bottom: 122.77630246%;
}
.masonry .card--landscape:nth-child(20) {
  padding-bottom: 57.6447212216%;
}
.masonry .card--portrait:nth-child(21) {
  padding-bottom: 123.4577376393%;
}
.masonry .card--landscape:nth-child(21) {
  padding-bottom: 57.5635352326%;
}
.masonry .card--portrait:nth-child(22) {
  padding-bottom: 122.4948405708%;
}
.masonry .card--landscape:nth-child(22) {
  padding-bottom: 67.8616041565%;
}
.masonry .card--portrait:nth-child(23) {
  padding-bottom: 127.4421514089%;
}
.masonry .card--landscape:nth-child(23) {
  padding-bottom: 58.8111255195%;
}
.masonry .card--portrait:nth-child(24) {
  padding-bottom: 114.9511881006%;
}
.masonry .card--landscape:nth-child(24) {
  padding-bottom: 73.0509446017%;
}
.masonry .card--portrait:nth-child(25) {
  padding-bottom: 112.2904550357%;
}
.masonry .card--landscape:nth-child(25) {
  padding-bottom: 57.6586853753%;
}
.masonry .card--portrait:nth-child(26) {
  padding-bottom: 125.1454693716%;
}
.masonry .card--landscape:nth-child(26) {
  padding-bottom: 74.3412993386%;
}
.masonry .card--portrait:nth-child(27) {
  padding-bottom: 129.3528580419%;
}
.masonry .card--landscape:nth-child(27) {
  padding-bottom: 58.7231958575%;
}
.masonry .card--portrait:nth-child(28) {
  padding-bottom: 116.9786505913%;
}
.masonry .card--landscape:nth-child(28) {
  padding-bottom: 74.6782693125%;
}
.masonry .card--portrait:nth-child(29) {
  padding-bottom: 114.0515526751%;
}
.masonry .card--landscape:nth-child(29) {
  padding-bottom: 73.2626147294%;
}
.masonry .card--portrait:nth-child(30) {
  padding-bottom: 123.7701206734%;
}
.masonry .card--landscape:nth-child(30) {
  padding-bottom: 71.8820363907%;
}
.masonry .card--portrait:nth-child(31) {
  padding-bottom: 117.0680747915%;
}
.masonry .card--landscape:nth-child(31) {
  padding-bottom: 57.1772476127%;
}
.masonry .card--portrait:nth-child(32) {
  padding-bottom: 119.2296569124%;
}
.masonry .card--landscape:nth-child(32) {
  padding-bottom: 59.8289219186%;
}
.masonry .card--portrait:nth-child(33) {
  padding-bottom: 113.4549692525%;
}
.masonry .card--landscape:nth-child(33) {
  padding-bottom: 55.0973782654%;
}
.masonry .card--portrait:nth-child(34) {
  padding-bottom: 129.0667276377%;
}
.masonry .card--landscape:nth-child(34) {
  padding-bottom: 69.9117144387%;
}
.masonry .card--portrait:nth-child(35) {
  padding-bottom: 110.9757737%;
}
.masonry .card--landscape:nth-child(35) {
  padding-bottom: 59.1636714953%;
}
.masonry .card--portrait:nth-child(36) {
  padding-bottom: 121.5443319708%;
}
.masonry .card--landscape:nth-child(36) {
  padding-bottom: 58.9654531203%;
}

.card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-shadow: rgba(3, 8, 20, 0.1) 0px 0.15rem 0.5rem, rgba(2, 8, 20, 0.1) 0px 0.075rem 0.175rem;
  border-radius: 20px;
  overflow: hidden;
}

.modal-video {
  margin-top: 100px;
}
@media (min-width: 768px) {
  .modal-video {
    margin: 0;
  }
}

.modal-content {
  padding: 30px;
}
@media (min-width: 768px) {
  .modal-content {
    max-height: 100vh;
    overflow: scroll;
    padding: 100px 30px;
  }
}

.modal {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  z-index: -100;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.7);
  transition: opacity 0.5s;
  display: flex;
}
.modal.modal--table .modal__inner {
  max-width: 90%;
}
.modal.modal--loading .modal__inner:after {
  opacity: 1;
  z-index: 1;
}
.modal.modal--opened {
  z-index: 100;
  opacity: 1;
}
.modal.modal--opened .modal__inner {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.5s ease-in-out 0.5s;
}
.modal .modal__inner {
  opacity: 0;
  position: relative;
  z-index: 1;
  max-width: 100%;
  max-height: 100%;
  width: 100%;
  height: 100%;
  background-color: white;
  display: flex;
  justify-content: space-between;
  border-radius: 2px;
  transform: translateY(-200px);
  overflow: scroll;
}
.modal .modal__inner:after {
  transition: opacity 0.3s;
  z-index: -1;
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  position: absolute;
  opacity: 0;
  background-color: white;
  background-image: url("../../src/img/loader.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 40px;
}
.modal .modal__inner .modal__content {
  width: 100%;
  height: 100%;
}
.modal .modal__close-btn {
  width: 40px;
  height: 40px;
  position: absolute;
  top: 30px;
  right: 30px;
  cursor: pointer;
  background-image: url("../../src/img/btn-close.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -moz-appearance: none;
  border: none;
  background-color: transparent;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9ib290c3RyYXAtZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yb290LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NvbnRhaW5lcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NvbnRhaW5lci5zY3NzIiwidmFyaWFibGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL191dGlsaXRpZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FwaS5zY3NzIiwidXRpbGl0aWVzL3NwYWNpbmcuc2NzcyIsInV0aWxpdGllcy9iYWNrZ3JvdW5kcy5zY3NzIiwidXRpbGl0aWVzL2hlbHBlcnMuc2NzcyIsInV0aWxpdGllcy9ub3JtYWxpemUuc2NzcyIsInV0aWxpdGllcy9tZWRpYS5zY3NzIiwiZm9ybXMvZm9ybXMuc2NzcyIsInR5cG8vdHlwby1leHRlbnNpb25zLnNjc3MiLCJ0eXBvL2J1dHRvbnMuc2NzcyIsInR5cG8vZm9udHMuc2NzcyIsInR5cG8vdHlwby5zY3NzIiwibGF5b3V0L2Zvb3Rlci5zY3NzIiwibGF5b3V0L2hlYWRlci5zY3NzIiwibGF5b3V0L25hdmlnYXRpb24uc2NzcyIsImxheW91dC9zaWRlYmFyLnNjc3MiLCJsYXlvdXQvc3RydWN0dXJlLnNjc3MiLCJsYXlvdXQvbWFzb25yeS5zY3NzIiwibGF5b3V0L3VpLnNjc3MiLCJtb2R1bGVzL21vZGFsLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQXFCO0FDQXJCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0VBUUk7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFHRjtFQUNBO0VBQ0E7RUFDQTtFQU1BO0VBQ0E7RUFDQTtFQVFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFJQTs7O0FDNUNBO0FBQUE7QUFBQTtBQUFBO0VDSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEWUk7RUFDRSxXRWdJZTs7O0FDckZuQjtFSDVDRTtJQUNFLFdFZ0llOzs7QUUvSXJCO0VDQUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FESkU7RUNTRjtFQUlBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBK0NJO0VBQ0U7OztBQUdGO0VBcENKO0VBQ0E7OztBQWNBO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQStCRTtFQWhESjtFQUNBOzs7QUFxRFE7RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUF1RVE7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBbUVNO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFQRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBUEY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQVBGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFQRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBUEY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBRjFETjtFRVVFO0lBQ0U7OztFQUdGO0lBcENKO0lBQ0E7OztFQWNBO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQStCRTtJQWhESjtJQUNBOzs7RUFxRFE7SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUF1RVE7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUFtRU07QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztFQVBGO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7RUFQRjtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0VBUEY7QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztFQVBGO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7RUFQRjtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0FGMUROO0VFVUU7SUFDRTs7O0VBR0Y7SUFwQ0o7SUFDQTs7O0VBY0E7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBK0JFO0lBaERKO0lBQ0E7OztFQXFEUTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQXVFUTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQW1FTTtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0VBUEY7QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztFQVBGO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7RUFQRjtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0VBUEY7QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztFQVBGO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7QUYxRE47RUVVRTtJQUNFOzs7RUFHRjtJQXBDSjtJQUNBOzs7RUFjQTtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUErQkU7SUFoREo7SUFDQTs7O0VBcURRO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBdUVRO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBbUVNO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7RUFQRjtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0VBUEY7QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztFQVBGO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7RUFQRjtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0VBUEY7QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztBRjFETjtFRVVFO0lBQ0U7OztFQUdGO0lBcENKO0lBQ0E7OztFQWNBO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQUZGO0lBQ0U7SUFDQTs7O0VBRkY7SUFDRTtJQUNBOzs7RUFGRjtJQUNFO0lBQ0E7OztFQStCRTtJQWhESjtJQUNBOzs7RUFxRFE7SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUErRE07SUFoRU47SUFDQTs7O0VBK0RNO0lBaEVOO0lBQ0E7OztFQStETTtJQWhFTjtJQUNBOzs7RUF1RVE7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUF3RFU7SUF4RFY7OztFQXdEVTtJQXhEVjs7O0VBd0RVO0lBeERWOzs7RUFtRU07QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztFQVBGO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7RUFQRjtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0VBUEY7QUFBQTtJQUVFOzs7RUFHRjtBQUFBO0lBRUU7OztFQVBGO0FBQUE7SUFFRTs7O0VBR0Y7QUFBQTtJQUVFOzs7RUFQRjtBQUFBO0lBRUU7OztFQUdGO0FBQUE7SUFFRTs7O0FDMURGO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUhQUjtFR0FJO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7QUhQUjtFR0FJO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7QUhQUjtFR0FJO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7QUhQUjtFR0FJO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JO0lBQUE7OztFQVBKO0lBT0k7SUFBQTs7O0VBUEo7SUFPSTtJQUFBOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7RUFQSjtJQU9JOzs7QUNoQ1o7RUR5QlE7SUFPSTs7O0VBUEo7SUFPSTs7O0VBUEo7SUFPSTs7O0VBUEo7SUFPSTs7O0VBUEo7SUFPSTs7O0VBUEo7SUFPSTs7O0VBUEo7SUFPSTs7O0VBUEo7SUFPSTs7O0VBUEo7SUFPSTs7O0VBUEo7SUFPSTs7O0FFbEVUO0FBU1k7RUFDRzs7O0FBRUg7RUFDRzs7O0FBR0g7RUFDRyxTQVZpQjs7O0FBWXBCO0VBQ0c7OztBQUVIO0VBQ0c7OztBQUVIO0VBQ0c7OztBQUVIO0VBQ0c7OztBQU1SO0VBR1c7SUFDRzs7O0VBRUg7SUFDRzs7O0VBRUg7SUFDRzs7O0VBRUg7SUFDRzs7O0VBSUg7SUFDRzs7O0VBR0g7SUFDRyxTQXJCWTs7O0VBd0JmO0lBQ0csY0F6Qlk7OztFQTRCZjtJQUNHOzs7RUFHSDtJQUNHOzs7QUN4RXBCO0VBQ0csa0JQRUU7OztBT0hMO0VBQ0csa0JQRUU7OztBT0hMO0VBQ0csa0JQRUU7OztBT0hMO0VBQ0csa0JQRUU7OztBT0hMO0VBQ0csa0JQRUU7OztBT0hMO0VBQ0csa0JQRUU7OztBUUpUO0VBQ0c7RUFDQTs7O0FBR0g7RUFDRzs7O0FBR0g7RUFDRzs7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlOO0VBQ0c7OztBQUdIO0VBQ0c7OztBQUdIO0VBQ0c7OztBQUdIO0VBQ0c7OztBQUVIO0VBQ0c7OztBQUdIO0VBQ0c7O0FBRUE7RUFDRztFQUNBOztBQUNBO0VBSEg7SUFJTTs7O0FBR047RUFHRztFQUNBO0VBQ0E7O0FBRUE7RUFQSDtJQVFNOzs7O0FBS1Q7RUFDRztJQUNHO0lBQ0E7O0VBRUg7SUFDRztJQUNBOzs7QUFJTjtFQUNHO0VBQ0E7O0FBQ0E7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUNwR047QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUM7RUFDRTtBQUF5QjtFQUN6QjtBQUE0QjtFQUM1QjtBQUFnQzs7O0FBR2xDO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFZRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtFQUlFO0FBQXVCO0VBQ3ZCO0FBQTBCOzs7QUFHNUI7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtFO0FBQWdCO0VBQ2hCO0FBQWU7RUFDZjtBQUFXOzs7QUFHYjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7QUFBQTtBQUFBO0FBQUE7RUFJRTtBQUE0QjtFQUM1QjtBQUFpQjs7O0FBR25CO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtFQUVFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0VBRUU7QUFBd0I7RUFDeEI7QUFBWTs7O0FBR2Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0FBQStCO0VBQy9CO0FBQXlCOzs7QUFHM0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtBQUFXO0VBQ1g7QUFBWTs7O0FBR2Q7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7OztBQ3JhSDtBQUFBO0VBRUc7RUFDQTtFQUNBOzs7QUFHSDtFQUNHOzs7QUFPSDtFQUNHOztBQUVBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0g7RUFDRzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTs7QUFHSDtFQUNHOzs7QUFJTjtFQUNHO0VBQ0E7O0FBRUE7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJQTtFQUNHO0VBQ0E7OztBQVNUO0VBQ0c7OztBQUlBO0FBQUE7RUFFRzs7QUFHSDtFQUNHO0VBQ0E7O0FBSUE7QUFBQTtFQUVHOzs7QUNuR1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUc7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSDtFQUNHO0VBQ0E7OztBQUdIO0VBQ0c7RUFDQTtFQUNBOzs7QUFHSDtFQUNHO0VBQ0E7O0FBQ0E7RUFDRztFQUNBOztBQUVIO0FBQUE7RUFFRztFQUNBOztBQUdIO0VBQ0c7RUFDQTs7QUFDQTtFQUNHO0VBQ0E7RUFDQTtFQUNMOztBQUdEO0FBQUE7QUFBQTtBQUFBO0VBSUc7RUFDQTs7QUFFSDtFQUNHO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0c7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS047RUFDRztFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU9OO0VBQ0c7OztBQ3ZHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDTkg7QUFLUztFQUNHO0lBRU07SUFHQTtJQUdBO0lBWUE7OztBQXJCVDtFQUNHO0lBRU07SUFHQTtJQUdBO0lBWUE7OztBQXJCVDtFQUNHO0lBRU07SUFHQTtJQUdBO0lBWUE7OztBQXJCVDtFQUNHO0lBRU07SUFHQTtJQUdBOzs7QUFUVDtFQUNHO0lBRU07SUFHQTtJQUdBOzs7QUFvQmxCO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBUkE7RUFMSDtJQU1NOzs7QUFTSDtFQUNHO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7O0FBR0g7RUFDRzs7QUFHSDtFQUNHOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7OztBQzlFTjtBQUNBO0VBQ0c7QUFBb0I7RUFDcEI7RUFDQTtFQUNBO0VBQ0E7QUFFMEI7O0FBRTdCO0FBQ0E7RUFDRztBQUFvQjtFQUNwQjtFQUNBO0VBQ0E7RUFDQTtBQUUwQjs7QUFFN0I7QUFDQTtFQUNHO0FBQW9CO0VBQ3BCO0VBQ0E7RUFDQTtFQUNBO0FBRTBCOztBQ25CcEI7RUFMVDtJQU9lO0lBSUE7OztBQU5OO0VBTFQ7SUFPZTtJQUlBOzs7QUFOTjtFQUxUO0lBT2U7SUFJQTs7OztBQVdmO0FBQUE7RUFFRztFQUNBO0VBQ0E7OztBQUdIO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBVUc7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSDtBQU1TO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQXNCbEI7RUFDRzs7O0FBR0g7QUFBQTtFQUVHOzs7QUFHSDtFQUNHOzs7QUFHSDtFQUNHOzs7QUFHSDtFQUNHOzs7QUFHSDtFQUNHOzs7QUFRQTtFQUNHO0VBQ0E7O0FBRUE7RUFDRztFQUlBOztBQUhBO0VBRkg7SUFHTTs7OztBQVdaO0VBQ0c7RUFDQTs7O0FBR0g7RUFDRztFQUNBOzs7QUFRQTtFQUNHLE9mbEpHOztBZW9KSDtFQUNHLE9mckpBOzs7QWVpSk47RUFDRyxPZmxKRzs7QWVvSkg7RUFDRyxPZnJKQTs7O0FlaUpOO0VBQ0csT2ZsSkc7O0Flb0pIO0VBQ0csT2ZySkE7OztBZWlKTjtFQUNHLE9mbEpHOztBZW9KSDtFQUNHLE9mckpBOzs7QWVpSk47RUFDRyxPZmxKRzs7QWVvSkg7RUFDRyxPZnJKQTs7O0FlaUpOO0VBQ0csT2ZsSkc7O0Flb0pIO0VBQ0csT2ZySkE7OztBZThKVDtFQUNHOztBQUVBO0VBQ0c7OztBQVFOO0FBQ0c7O0FBTVM7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7O0FBUFQ7RUFDRztJQUVNO0lBSUE7OztBQVBUO0VBQ0c7SUFFTTtJQUlBOzs7QUFQVDtFQUNHO0lBRU07SUFJQTs7OztBQzVMckI7RUFDRztFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7O0FBQ0E7RUFDRztFQUNBO0VBQ0E7RUFDQTs7O0FDckJOO0VBQ0c7OztBQUlOO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRztFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHOztBQUdIO0VBWkg7SUFhTTtJQUNBO0lBQ0E7OztBQUdIO0VBQ0c7O0FBQ0E7RUFDRzs7QUFRWjtFQUNHO0VBQ0E7O0FBR0c7RUFDRzs7O0FBUVo7RUFDRztFQUNBOztBQUVBO0VBQ0c7O0FBRUE7RUFDRzs7O0FDckZaO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdIO0VBQ0c7OztBQUdIO0VBQ0c7OztBQUdIO0FBQUE7QUFBQTtFQUdHO0VBQ0E7OztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7OztBQUdIO0VBQ0c7RUFDQTtFQUNBOzs7QUFHSDtBQUFBO0FBQUE7RUFHRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSDtBQUFBO0VBRUc7RUFDQTs7O0FBR0g7RUFDRzs7O0FBR0g7RUFDRzs7O0FBR0g7RUFDRztFQUNBOzs7QUFHSDtFQUNHOzs7QUFHSDtFQUNHOzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTs7O0FBR0g7RUFDRztFQUNBO0VBQ0E7OztBQUdIO0VBQ0c7RUFDQTtFQUNBOzs7QUFHSDtFQUlNO0lBQ0c7O0VBR0g7SUFDRzs7RUFDQTtJQUNHO0lBQ0E7SUFDQTtJQUNBOzs7RUFJVDtJQUNHOzs7QUM1SE47RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRztFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBOztBQUVBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTU47RUFDRzs7O0FDdENOO0VBQ0c7OztBQUdIO0VBQ0c7RUFDQTtFQUNBOzs7QUFHSDtFQUNHOztBQUVBO0VBSEg7SUFJTTs7OztBQUlOO0VBQ0c7OztBQUdIO0VBQ0c7RUFDQTs7O0FDeEJIO0VBQ0c7RUFDQTtFQVVBLFlyQitNSztFcUI3TUw7O0FBWEE7RUFISDtJQUlNO0lBQ0E7OztBQUdIO0VBUkg7SUFTTTtJQUNBOzs7QUFNSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZXJCNkxFO0VxQjVMRjs7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUE7RUFDRztFQUNBOztBQUtIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJTjtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJSDtFQUVHOztBQUVIO0VBRUc7O0FBTkg7RUFFRzs7QUFFSDtFQUVHOztBQU5IO0VBRUc7O0FBRUg7RUFFRzs7QUFOSDtFQUVHOztBQUVIO0VBRUc7O0FBTkg7RUFFRzs7QUFFSDtFQUVHOztBQU5IO0VBRUc7O0FBRUg7RUFFRzs7QUFOSDtFQUVHOztBQUVIO0VBRUc7O0FBTkg7RUFFRzs7QUFFSDtFQUVHOztBQU5IO0VBRUc7O0FBRUg7RUFFRzs7QUFOSDtFQUVHOztBQUVIO0VBRUc7O0FBTkg7RUFFRzs7QUFFSDtFQUVHOztBQU5IO0VBRUc7O0FBRUg7RUFFRzs7QUFOSDtFQUVHOztBQUVIO0VBRUc7O0FBTkg7RUFFRzs7QUFFSDtFQUVHOztBQU5IO0VBRUc7O0FBRUg7RUFFRzs7QUFOSDtFQUVHOztBQUVIO0VBRUc7O0FBTkg7RUFFRzs7QUFFSDtFQUVHOztBQU5IO0VBRUc7O0FBRUg7RUFFRzs7QUFOSDtFQUVHOztBQUVIO0VBRUc7O0FBTkg7RUFFRzs7QUFFSDtFQUVHOztBQU5IO0VBRUc7O0FBRUg7RUFFRzs7QUFOSDtFQUVHOztBQUVIO0VBRUc7O0FBTkg7RUFFRzs7QUFFSDtFQUVHOztBQU5IO0VBRUc7O0FBRUg7RUFFRzs7QUFOSDtFQUVHOztBQUVIO0VBRUc7O0FBTkg7RUFFRzs7QUFFSDtFQUVHOztBQU5IO0VBRUc7O0FBRUg7RUFFRzs7QUFOSDtFQUVHOztBQUVIO0VBRUc7O0FBTkg7RUFFRzs7QUFFSDtFQUVHOztBQU5IO0VBRUc7O0FBRUg7RUFFRzs7QUFOSDtFQUVHOztBQUVIO0VBRUc7O0FBTkg7RUFFRzs7QUFFSDtFQUVHOztBQU5IO0VBRUc7O0FBRUg7RUFFRzs7QUFOSDtFQUVHOztBQUVIO0VBRUc7O0FBTkg7RUFFRzs7QUFFSDtFQUVHOztBQU5IO0VBRUc7O0FBRUg7RUFFRzs7O0FDekZUO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdIO0VBQ0c7O0FBQ0E7RUFGSDtJQUdNOzs7O0FBSU47RUFDRzs7QUFFQTtFQUhIO0lBSU07SUFDQTtJQUNBOzs7O0FDdkJOO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRztFQUNHOztBQU1BO0VBQ0c7RUFDQTs7QUFLVDtFQUNHO0VBQ0E7O0FBRUE7RUFDRztFQUNBO0VBQ0E7O0FBSU47RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7O0FBR047RUFDRztFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7IC8qIHRvIG92ZXJyaWRlIGJvb3RzdHJhcHMgdmFsdWVzIHdlIG5lZWQgdG8gYmUgYmVmb3JlIHRoZSBib290c3RyYXAgaW1wb3J0ICovXG5AaW1wb3J0ICcuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwLWdyaWQnO1xuQGltcG9ydCAnZnVuY3Rpb25zJztcblxuQGltcG9ydCAnLi91dGlsaXRpZXMvc3BhY2luZyc7XG5AaW1wb3J0ICcuL3V0aWxpdGllcy9iYWNrZ3JvdW5kcyc7XG5AaW1wb3J0ICcuL3V0aWxpdGllcy9oZWxwZXJzJztcbkBpbXBvcnQgJy4vdXRpbGl0aWVzL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuL3V0aWxpdGllcy9tZWRpYSc7XG5cbkBpbXBvcnQgJy4vZm9ybXMvZm9ybXMnO1xuXG5AaW1wb3J0ICcuL3R5cG8vdHlwby1leHRlbnNpb25zJztcbkBpbXBvcnQgJy4vdHlwby9idXR0b25zJztcbkBpbXBvcnQgJy4vdHlwby9mb250cyc7XG5AaW1wb3J0ICcuL3R5cG8vdHlwbyc7XG5cbkBpbXBvcnQgJy4vbGF5b3V0L2Zvb3Rlcic7XG5AaW1wb3J0ICcuL2xheW91dC9oZWFkZXInO1xuQGltcG9ydCAnLi9sYXlvdXQvbmF2aWdhdGlvbic7XG5AaW1wb3J0ICcuL2xheW91dC9zaWRlYmFyJztcbkBpbXBvcnQgJy4vbGF5b3V0L3N0cnVjdHVyZSc7XG5AaW1wb3J0ICcuL2xheW91dC9tYXNvbnJ5JztcbkBpbXBvcnQgJy4vbGF5b3V0L3VpJztcblxuQGltcG9ydCAnLi9tb2R1bGVzL21vZGFsJztcbiIsIi8qIVxuICogQm9vdHN0cmFwIEdyaWQgdjUuMS4zIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxuICogQ29weXJpZ2h0IDIwMTEtMjAyMSBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAqIENvcHlyaWdodCAyMDExLTIwMjEgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYWluL0xJQ0VOU0UpXG4gKi9cblxuJGluY2x1ZGUtY29sdW1uLWJveC1zaXppbmc6IHRydWUgIWRlZmF1bHQ7XG5cbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcblxuQGltcG9ydCBcIm1peGlucy9saXN0c1wiO1xuQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIm1peGlucy9jb250YWluZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZFwiO1xuQGltcG9ydCBcIm1peGlucy91dGlsaXRpZXNcIjtcblxuQGltcG9ydCBcInZlbmRvci9yZnNcIjtcblxuQGltcG9ydCBcInJvb3RcIjtcblxuQGltcG9ydCBcImNvbnRhaW5lcnNcIjtcbkBpbXBvcnQgXCJncmlkXCI7XG5cbkBpbXBvcnQgXCJ1dGlsaXRpZXNcIjtcbi8vIE9ubHkgdXNlIHRoZSB1dGlsaXRpZXMgd2UgbmVlZFxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiR1dGlsaXRpZXM6IG1hcC1nZXQtbXVsdGlwbGUoXG4gICR1dGlsaXRpZXMsXG4gIChcbiAgICBcImRpc3BsYXlcIixcbiAgICBcIm9yZGVyXCIsXG4gICAgXCJmbGV4XCIsXG4gICAgXCJmbGV4LWRpcmVjdGlvblwiLFxuICAgIFwiZmxleC1ncm93XCIsXG4gICAgXCJmbGV4LXNocmlua1wiLFxuICAgIFwiZmxleC13cmFwXCIsXG4gICAgXCJqdXN0aWZ5LWNvbnRlbnRcIixcbiAgICBcImFsaWduLWl0ZW1zXCIsXG4gICAgXCJhbGlnbi1jb250ZW50XCIsXG4gICAgXCJhbGlnbi1zZWxmXCIsXG4gICAgXCJtYXJnaW5cIixcbiAgICBcIm1hcmdpbi14XCIsXG4gICAgXCJtYXJnaW4teVwiLFxuICAgIFwibWFyZ2luLXRvcFwiLFxuICAgIFwibWFyZ2luLWVuZFwiLFxuICAgIFwibWFyZ2luLWJvdHRvbVwiLFxuICAgIFwibWFyZ2luLXN0YXJ0XCIsXG4gICAgXCJuZWdhdGl2ZS1tYXJnaW5cIixcbiAgICBcIm5lZ2F0aXZlLW1hcmdpbi14XCIsXG4gICAgXCJuZWdhdGl2ZS1tYXJnaW4teVwiLFxuICAgIFwibmVnYXRpdmUtbWFyZ2luLXRvcFwiLFxuICAgIFwibmVnYXRpdmUtbWFyZ2luLWVuZFwiLFxuICAgIFwibmVnYXRpdmUtbWFyZ2luLWJvdHRvbVwiLFxuICAgIFwibmVnYXRpdmUtbWFyZ2luLXN0YXJ0XCIsXG4gICAgXCJwYWRkaW5nXCIsXG4gICAgXCJwYWRkaW5nLXhcIixcbiAgICBcInBhZGRpbmcteVwiLFxuICAgIFwicGFkZGluZy10b3BcIixcbiAgICBcInBhZGRpbmctZW5kXCIsXG4gICAgXCJwYWRkaW5nLWJvdHRvbVwiLFxuICAgIFwicGFkZGluZy1zdGFydFwiLFxuICApXG4pO1xuXG5AaW1wb3J0IFwidXRpbGl0aWVzL2FwaVwiO1xuIiwiOnJvb3Qge1xuICAvLyBOb3RlOiBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cblxuICAvLyBDb2xvcnNcbiAgLy9cbiAgLy8gR2VuZXJhdGUgcGFsZXR0ZXMgZm9yIGZ1bGwgY29sb3JzLCBncmF5cywgYW5kIHRoZW1lIGNvbG9ycy5cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JHZhcmlhYmxlLXByZWZpeH0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRncmF5cyB7XG4gICAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9Z3JheS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skdmFyaWFibGUtcHJlZml4fSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1yZ2Ige1xuICAgIC0tI3skdmFyaWFibGUtcHJlZml4fSN7JGNvbG9yfS1yZ2I6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIC0tI3skdmFyaWFibGUtcHJlZml4fXdoaXRlLXJnYjogI3t0by1yZ2IoJHdoaXRlKX07XG4gIC0tI3skdmFyaWFibGUtcHJlZml4fWJsYWNrLXJnYjogI3t0by1yZ2IoJGJsYWNrKX07XG4gIC0tI3skdmFyaWFibGUtcHJlZml4fWJvZHktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1jb2xvcil9O1xuICAtLSN7JHZhcmlhYmxlLXByZWZpeH1ib2R5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktYmcpfTtcblxuICAvLyBGb250c1xuXG4gIC8vIE5vdGU6IFVzZSBgaW5zcGVjdGAgZm9yIGxpc3RzIHNvIHRoYXQgcXVvdGVkIGl0ZW1zIGtlZXAgdGhlIHF1b3Rlcy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzIzODMjaXNzdWVjb21tZW50LTMzNjM0OTE3MlxuICAtLSN7JHZhcmlhYmxlLXByZWZpeH1mb250LXNhbnMtc2VyaWY6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktc2Fucy1zZXJpZil9O1xuICAtLSN7JHZhcmlhYmxlLXByZWZpeH1mb250LW1vbm9zcGFjZTogI3tpbnNwZWN0KCRmb250LWZhbWlseS1tb25vc3BhY2UpfTtcbiAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9Z3JhZGllbnQ6ICN7JGdyYWRpZW50fTtcblxuICAvLyBSb290IGFuZCBib2R5XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlIGN1c3RvbS1wcm9wZXJ0eS1lbXB0eS1saW5lLWJlZm9yZVxuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1ib2R5LXZhcmlhYmxlc1xuICBAaWYgJGZvbnQtc2l6ZS1yb290ICE9IG51bGwge1xuICAgIC0tI3skdmFyaWFibGUtcHJlZml4fXJvb3QtZm9udC1zaXplOiAjeyRmb250LXNpemUtcm9vdH07XG4gIH1cbiAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9Ym9keS1mb250LWZhbWlseTogI3skZm9udC1mYW1pbHktYmFzZX07XG4gIC0tI3skdmFyaWFibGUtcHJlZml4fWJvZHktZm9udC1zaXplOiAjeyRmb250LXNpemUtYmFzZX07XG4gIC0tI3skdmFyaWFibGUtcHJlZml4fWJvZHktZm9udC13ZWlnaHQ6ICN7JGZvbnQtd2VpZ2h0LWJhc2V9O1xuICAtLSN7JHZhcmlhYmxlLXByZWZpeH1ib2R5LWxpbmUtaGVpZ2h0OiAjeyRsaW5lLWhlaWdodC1iYXNlfTtcbiAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9Ym9keS1jb2xvcjogI3skYm9keS1jb2xvcn07XG4gIEBpZiAkYm9keS10ZXh0LWFsaWduICE9IG51bGwge1xuICAgIC0tI3skdmFyaWFibGUtcHJlZml4fWJvZHktdGV4dC1hbGlnbjogI3skYm9keS10ZXh0LWFsaWdufTtcbiAgfVxuICAtLSN7JHZhcmlhYmxlLXByZWZpeH1ib2R5LWJnOiAjeyRib2R5LWJnfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWJvZHktdmFyaWFibGVzXG4gIC8vIHN0eWxlbGludC1lbmFibGUgY3VzdG9tLXByb3BlcnR5LWVtcHR5LWxpbmUtYmVmb3JlXG59XG4iLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAvLyBTaW5nbGUgY29udGFpbmVyIGNsYXNzIHdpdGggYnJlYWtwb2ludCBtYXgtd2lkdGhzXG4gIC5jb250YWluZXIsXG4gIC8vIDEwMCUgd2lkZSBjb250YWluZXIgYXQgYWxsIGJyZWFrcG9pbnRzXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIGNvbnRhaW5lcnMgdGhhdCBhcmUgMTAwJSB3aWRlIHVudGlsIGEgYnJlYWtwb2ludFxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAuY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgIEBleHRlbmQgLmNvbnRhaW5lci1mbHVpZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICAgIH1cblxuICAgICAgLy8gRXh0ZW5kIGVhY2ggYnJlYWtwb2ludCB3aGljaCBpcyBzbWFsbGVyIG9yIGVxdWFsIHRvIHRoZSBjdXJyZW50IGJyZWFrcG9pbnRcbiAgICAgICRleHRlbmQtYnJlYWtwb2ludDogdHJ1ZTtcblxuICAgICAgQGVhY2ggJG5hbWUsICR3aWR0aCBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgICAgIEBpZiAoJGV4dGVuZC1icmVha3BvaW50KSB7XG4gICAgICAgICAgLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGdyaWQtYnJlYWtwb2ludHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBPbmNlIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgaXMgcmVhY2hlZCwgc3RvcCBleHRlbmRpbmdcbiAgICAgICAgICBAaWYgKCRicmVha3BvaW50ID09ICRuYW1lKSB7XG4gICAgICAgICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQ29udGFpbmVyIG1peGluc1xuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGNvbnRhaW5lci1wYWRkaW5nLXgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLSN7JHZhcmlhYmxlLXByZWZpeH1ndXR0ZXIteCwgI3skZ3V0dGVyfSk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWd1dHRlci14LCAjeyRndXR0ZXJ9KTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gY29sb3JzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJGNvbG9yczogKFxuICAgYmFzZTogIzBhMGEwYSxcbiAgIHByaW1hcnk6ICMwMjA2M2YsXG4gICBzZWNvbmRhcnk6ICM4NGE1ZmYsXG4gICB0aGlyZDogI2FhYSxcbiAgIGZvdXJ0aDogI2RkZCxcbiAgICd3aGl0ZSc6ICNmZmZmZmYsXG4pO1xuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIHR5cG9cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kdHlwbzogKFxuICAgc206IChcbiAgICAgIDE6IChcbiAgICAgICAgIGZvbnQtc2l6ZTogOHZoLFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDExMCUsXG4gICAgICApLFxuICAgICAgMjogKFxuICAgICAgICAgZm9udC1zaXplOiAzNHB4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDEyNSUsXG4gICAgICApLFxuICAgICAgMzogKFxuICAgICAgICAgZm9udC1zaXplOiAyN3B4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDEyNSUsXG4gICAgICApLFxuICAgICAgNDogKFxuICAgICAgICAgZm9udC1zaXplOiAyMHB4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDEyNSUsXG4gICAgICApLFxuICAgICAgNTogKFxuICAgICAgICAgZm9udC1zaXplOiAxNnB4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDEyNSUsXG4gICAgICApLFxuICAgICAgNjogKFxuICAgICAgICAgZm9udC1zaXplOiAxM3B4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDEzMCUsXG4gICAgICApLFxuICAgICAgNzogKFxuICAgICAgICAgZm9udC1zaXplOiAxM3B4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDEyNSUsXG4gICAgICApLFxuICAgICAgYm9keTogKFxuICAgICAgICAgZm9udC1zaXplOiAxNnB4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCUsXG4gICAgICApLFxuICAgICAgc21hbGw6IChcbiAgICAgICAgIGZvbnQtc2l6ZTogMTZweCxcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlLFxuICAgICAgKSxcbiAgICksXG4gICBtZDogKFxuICAgICAgMTogKFxuICAgICAgICAgZm9udC1zaXplOiA3MHB4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDExMCUsXG4gICAgICApLFxuICAgICAgMjogKFxuICAgICAgICAgZm9udC1zaXplOiA0MHB4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDEyNSUsXG4gICAgICApLFxuICAgICAgMzogKFxuICAgICAgICAgZm9udC1zaXplOiAyOXB4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDEyNSUsXG4gICAgICApLFxuICAgICAgNDogKFxuICAgICAgICAgZm9udC1zaXplOiAyNnB4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDEyNSUsXG4gICAgICApLFxuICAgICAgNTogKFxuICAgICAgICAgZm9udC1zaXplOiAyMHB4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDEyMCUsXG4gICAgICApLFxuICAgICAgNjogKFxuICAgICAgICAgZm9udC1zaXplOiAxNnB4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDEyNSUsXG4gICAgICApLFxuICAgICAgNzogKFxuICAgICAgICAgZm9udC1zaXplOiAxM3B4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDEyNSUsXG4gICAgICApLFxuICAgICAgYm9keTogKFxuICAgICAgICAgZm9udC1zaXplOiAyMHB4LFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCUsXG4gICAgICApLFxuICAgICAgc21hbGw6IChcbiAgICAgICAgIGZvbnQtc2l6ZTogMjBweCxcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlLFxuICAgICAgKSxcbiAgICksXG4gICBsZzogKFxuICAgICAgMTogKFxuICAgICAgICAgZm9udC1zaXplOiA2MCBweCxcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMTAlLFxuICAgICAgKSxcbiAgICAgIDI6IChcbiAgICAgICAgIGZvbnQtc2l6ZTogNDBweCxcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMjUlLFxuICAgICAgKSxcbiAgICAgIDM6IChcbiAgICAgICAgIGZvbnQtc2l6ZTogMzZweCxcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMjUlLFxuICAgICAgKSxcbiAgICAgIDQ6IChcbiAgICAgICAgIGZvbnQtc2l6ZTogMjVweCxcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMjUlLFxuICAgICAgKSxcbiAgICAgIDU6IChcbiAgICAgICAgIGZvbnQtc2l6ZTogMjBweCxcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMjAlLFxuICAgICAgKSxcbiAgICAgIDY6IChcbiAgICAgICAgIGZvbnQtc2l6ZTogMTZweCxcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMjUlLFxuICAgICAgKSxcbiAgICAgIDc6IChcbiAgICAgICAgIGZvbnQtc2l6ZTogMTNweCxcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMjUlLFxuICAgICAgKSxcbiAgICAgIGJvZHk6IChcbiAgICAgICAgIGZvbnQtc2l6ZTogMjBweCxcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlLFxuICAgICAgKSxcbiAgICAgIHNtYWxsOiAoXG4gICAgICAgICBmb250LXNpemU6IDIwcHgsXG4gICAgICAgICBsaW5lLWhlaWdodDogMTUwJSxcbiAgICAgICksXG4gICApLFxuKTtcblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBicmVha2luZ3BvaW50c1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gICBzbTogMCxcbiAgIHNtbWQ6IDUwMHB4LFxuICAgbWQ6IDc2OHB4LFxuICAgbGc6IDk5MnB4LFxuICAgeGw6IDE0NDBweCxcbiAgIC8vIHh4bDogMTYwMHB4LFxuICAgLy8gbWF4OiAyNTYwcHgsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsXG4pO1xuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgIHNtOiA5MCUsXG4gICB4bDogMTQwMHB4LFxuKTtcblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBzcGFjaW5nXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJHNwYWNlczogKFxuICAgc206IChcbiAgICAgIDEwMDogMTAwcHgsXG4gICApLFxuICAgbWQ6IChcbiAgICAgIDEwMDogMTAwcHgsXG4gICApLFxuKTtcblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBidXR0b25zXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJGJ1dHRvbnM6IChcbiAgIHNtOiAoXG4gICAgICAxOiAoXG4gICAgICAgICBsaW5lLWhlaWdodDogNTBweCxcbiAgICAgICAgIGhlaWdodDogNTBweCxcbiAgICAgICAgIGZvbnQtc2l6ZTogMjBweCxcbiAgICAgICAgIHBhZGRpbmc6IDAgMmVtLFxuICAgICAgKSxcbiAgICAgIDI6IChcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4LFxuICAgICAgICAgaGVpZ2h0OiA0MHB4LFxuICAgICAgICAgZm9udC1zaXplOiAxNnB4LFxuICAgICAgICAgcGFkZGluZzogMCAxLjJlbSxcbiAgICAgICksXG4gICAgICAzOiAoXG4gICAgICAgICBsaW5lLWhlaWdodDogMzBweCxcbiAgICAgICAgIGhlaWdodDogMzBweCxcbiAgICAgICAgIGZvbnQtc2l6ZTogMTZweCxcbiAgICAgICAgIHBhZGRpbmc6IDAgMmVtLFxuICAgICAgKSxcbiAgICksXG4gICBtZDogKFxuICAgICAgMTogKFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDU4cHgsXG4gICAgICAgICBoZWlnaHQ6IDYwcHgsXG4gICAgICAgICBmb250LXNpemU6IDIwcHgsXG4gICAgICApLFxuICAgICAgMjogKFxuICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHgsXG4gICAgICAgICBoZWlnaHQ6IDQwcHgsXG4gICAgICAgICBmb250LXNpemU6IDE2cHgsXG4gICAgICApLFxuICAgKSxcbik7XG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gdGltZXNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kdGltZXM6IChcbiAgIGZhc3Q6IDAuM3MsXG4gICBtZWRpdW06IDAuNXMsXG4gICBzbG93OiAxcyxcbik7XG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gR2xvYWJsIHNwYWNpbmdcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kc3BhY2U6IDN2dztcbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEBpZiBub3QgJG4ge1xuICAgIEBlcnJvciBcImJyZWFrcG9pbnQgYCN7JG5hbWV9YCBub3QgZm91bmQgaW4gYCN7JGJyZWFrcG9pbnRzfWBcIjtcbiAgfVxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJG1heCAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogIGJyZWFrcG9pbnQtbWF4KCRuZXh0KTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuXG4gICAgPiAqIHtcbiAgICAgIEBpbmNsdWRlIG1ha2UtY29sLXJlYWR5KCk7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkZW5hYmxlLWNzc2dyaWQge1xuICAuZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCh2YXIoLS0jeyR2YXJpYWJsZS1wcmVmaXh9cm93cywgMSksIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWNvbHVtbnMsICN7JGdyaWQtY29sdW1uc30pLCAxZnIpO1xuICAgIGdhcDogdmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWdhcCwgI3skZ3JpZC1ndXR0ZXItd2lkdGh9KTtcblxuICAgIEBpbmNsdWRlIG1ha2UtY3NzZ3JpZCgpO1xuICB9XG59XG5cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cbiIsIi8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC0tI3skdmFyaWFibGUtcHJlZml4fWd1dHRlci14OiAjeyRndXR0ZXJ9O1xuICAtLSN7JHZhcmlhYmxlLXByZWZpeH1ndXR0ZXIteTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAvLyBUT0RPOiBSZXZpc2l0IGNhbGMgb3JkZXIgYWZ0ZXIgaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LWJvb3RzdHJhcC9yZWFjdC1ib290c3RyYXAvaXNzdWVzLzYwMzkgaXMgZml4ZWRcbiAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLSN7JHZhcmlhYmxlLXByZWZpeH1ndXR0ZXIteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWd1dHRlci14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHZhcmlhYmxlLXByZWZpeH1ndXR0ZXIteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC8vIEFkZCBib3ggc2l6aW5nIGlmIG9ubHkgdGhlIGdyaWQgaXMgbG9hZGVkXG4gIGJveC1zaXppbmc6IGlmKHZhcmlhYmxlLWV4aXN0cyhpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nKSBhbmQgJGluY2x1ZGUtY29sdW1uLWJveC1zaXppbmcsIGJvcmRlci1ib3gsIG51bGwpO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2Ugc2V0IHRoZSB3aWR0aFxuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQcmV2ZW50IGAuY29sLWF1dG9gLCBgLmNvbGAgKCYgcmVzcG9uc2l2ZSB2YXJpYW50cykgZnJvbSBicmVha2luZyBvdXQgdGhlIGdyaWRcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS0jeyR2YXJpYWJsZS1wcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXRvcDogdmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWd1dHRlci15KTtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplOiBmYWxzZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmICRzaXplIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogcGVyY2VudGFnZShkaXZpZGUoJHNpemUsICRjb2x1bW5zKSk7XG5cbiAgfSBAZWxzZSB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1hdXRvKCkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06IGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlcm9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogZGl2aWRlKDEwMCUsICRjb3VudCk7XG4gIH1cbn1cblxuLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXg6IDEgMCAwJTsgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICB9XG5cbiAgICAgIC5yb3ctY29scyN7JGluZml4fS1hdXRvID4gKiB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gR3V0dGVyc1xuICAgICAgLy9cbiAgICAgIC8vIE1ha2UgdXNlIG9mIGAuZy0qYCwgYC5neC0qYCBvciBgLmd5LSpgIHV0aWxpdGllcyB0byBjaGFuZ2Ugc3BhY2luZyBiZXR3ZWVuIHRoZSBjb2x1bW5zLlxuICAgICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRndXR0ZXJzIHtcbiAgICAgICAgLmcjeyRpbmZpeH0tI3ska2V5fSxcbiAgICAgICAgLmd4I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIC0tI3skdmFyaWFibGUtcHJlZml4fWd1dHRlci14OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICAuZyN7JGluZml4fS0jeyRrZXl9LFxuICAgICAgICAuZ3kjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9Z3V0dGVyLXk6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jc3NncmlkKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5nLWNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gJGk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RhcnQgd2l0aCBgMWAgYmVjYXVzZSBgMGAgaXMgYW5kIGludmFsaWQgdmFsdWUuXG4gICAgICAgIC8vIEVuZHMgd2l0aCBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGUuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIC5nLXN0YXJ0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAkaTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFV0aWxpdHkgZ2VuZXJhdG9yXG4vLyBVc2VkIHRvIGdlbmVyYXRlIHV0aWxpdGllcyAmIHByaW50IHV0aWxpdGllc1xuQG1peGluIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksICRpbmZpeCwgJGlzLXJmcy1tZWRpYS1xdWVyeTogZmFsc2UpIHtcbiAgJHZhbHVlczogbWFwLWdldCgkdXRpbGl0eSwgdmFsdWVzKTtcblxuICAvLyBJZiB0aGUgdmFsdWVzIGFyZSBhIGxpc3Qgb3Igc3RyaW5nLCBjb252ZXJ0IGl0IGludG8gYSBtYXBcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gXCJzdHJpbmdcIiBvciB0eXBlLW9mKG50aCgkdmFsdWVzLCAxKSkgIT0gXCJsaXN0XCIge1xuICAgICR2YWx1ZXM6IHppcCgkdmFsdWVzLCAkdmFsdWVzKTtcbiAgfVxuXG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICAkcHJvcGVydGllczogbWFwLWdldCgkdXRpbGl0eSwgcHJvcGVydHkpO1xuXG4gICAgLy8gTXVsdGlwbGUgcHJvcGVydGllcyBhcmUgcG9zc2libGUsIGZvciBleGFtcGxlIHdpdGggdmVydGljYWwgb3IgaG9yaXpvbnRhbCBtYXJnaW5zIG9yIHBhZGRpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHByb3BlcnRpZXMpID09IFwic3RyaW5nXCIge1xuICAgICAgJHByb3BlcnRpZXM6IGFwcGVuZCgoKSwgJHByb3BlcnRpZXMpO1xuICAgIH1cblxuICAgIC8vIFVzZSBjdXN0b20gY2xhc3MgaWYgcHJlc2VudFxuICAgICRwcm9wZXJ0eS1jbGFzczogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIGNsYXNzKSwgbWFwLWdldCgkdXRpbGl0eSwgY2xhc3MpLCBudGgoJHByb3BlcnRpZXMsIDEpKTtcbiAgICAkcHJvcGVydHktY2xhc3M6IGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBudWxsLCBcIlwiLCAkcHJvcGVydHktY2xhc3MpO1xuXG4gICAgLy8gU3RhdGUgcGFyYW1zIHRvIGdlbmVyYXRlIHBzZXVkby1jbGFzc2VzXG4gICAgJHN0YXRlOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgc3RhdGUpLCBtYXAtZ2V0KCR1dGlsaXR5LCBzdGF0ZSksICgpKTtcblxuICAgICRpbmZpeDogaWYoJHByb3BlcnR5LWNsYXNzID09IFwiXCIgYW5kIHN0ci1zbGljZSgkaW5maXgsIDEsIDEpID09IFwiLVwiLCBzdHItc2xpY2UoJGluZml4LCAyKSwgJGluZml4KTtcblxuICAgIC8vIERvbid0IHByZWZpeCBpZiB2YWx1ZSBrZXkgaXMgbnVsbCAoZWcuIHdpdGggc2hhZG93IGNsYXNzKVxuICAgICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcjogaWYoJGtleSwgaWYoJHByb3BlcnR5LWNsYXNzID09IFwiXCIgYW5kICRpbmZpeCA9PSBcIlwiLCBcIlwiLCBcIi1cIikgKyAka2V5LCBcIlwiKTtcblxuICAgIEBpZiBtYXAtZ2V0KCR1dGlsaXR5LCByZnMpIHtcbiAgICAgIC8vIEluc2lkZSB0aGUgbWVkaWEgcXVlcnlcbiAgICAgIEBpZiAkaXMtcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgICAgICAgJHZhbDogcmZzLXZhbHVlKCR2YWx1ZSk7XG5cbiAgICAgICAgLy8gRG8gbm90IHJlbmRlciBhbnl0aGluZyBpZiBmbHVpZCBhbmQgbm9uIGZsdWlkIHZhbHVlcyBhcmUgdGhlIHNhbWVcbiAgICAgICAgJHZhbHVlOiBpZigkdmFsID09IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWUpLCBudWxsLCAkdmFsKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHZhbHVlOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkaXMtY3NzLXZhcjogbWFwLWdldCgkdXRpbGl0eSwgY3NzLXZhcik7XG4gICAgJGlzLWxvY2FsLXZhcnM6IG1hcC1nZXQoJHV0aWxpdHksIGxvY2FsLXZhcnMpO1xuICAgICRpcy1ydGw6IG1hcC1nZXQoJHV0aWxpdHksIHJ0bCk7XG5cbiAgICBAaWYgJHZhbHVlICE9IG51bGwge1xuICAgICAgQGlmICRpcy1ydGwgPT0gZmFsc2Uge1xuICAgICAgICAvKiBydGw6YmVnaW46cmVtb3ZlICovXG4gICAgICB9XG5cbiAgICAgIEBpZiAkaXMtY3NzLXZhciB7XG4gICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0ge1xuICAgICAgICAgIC0tI3skdmFyaWFibGUtcHJlZml4fSN7JHByb3BlcnR5LWNsYXNzfTogI3skdmFsdWV9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHBzZXVkbyBpbiAkc3RhdGUge1xuICAgICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0tI3skcHNldWRvfTojeyRwc2V1ZG99IHtcbiAgICAgICAgICAgIC0tI3skdmFyaWFibGUtcHJlZml4fSN7JHByb3BlcnR5LWNsYXNzfTogI3skdmFsdWV9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0ge1xuICAgICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICAgICBAaWYgJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICBAZWFjaCAkbG9jYWwtdmFyLCAkdmFsdWUgaW4gJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgIC0tI3skdmFyaWFibGUtcHJlZml4fSN7JGxvY2FsLXZhcn06ICN7JHZhbHVlfTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkcHNldWRvIGluICRzdGF0ZSB7XG4gICAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfS0jeyRwc2V1ZG99OiN7JHBzZXVkb30ge1xuICAgICAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRpcy1ydGwgPT0gZmFsc2Uge1xuICAgICAgICAvKiBydGw6ZW5kOnJlbW92ZSAqL1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTG9vcCBvdmVyIGVhY2ggYnJlYWtwb2ludFxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcblxuICAvLyBHZW5lcmF0ZSBtZWRpYSBxdWVyeSBpZiBuZWVkZWRcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gTG9vcCBvdmVyIGVhY2ggdXRpbGl0eSBwcm9wZXJ0eVxuICAgIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgICAgLy8gT25seSBwcm9jZWVkIGlmIHJlc3BvbnNpdmUgbWVkaWEgcXVlcmllcyBhcmUgZW5hYmxlZCBvciBpZiBpdCdzIHRoZSBiYXNlIG1lZGlhIHF1ZXJ5XG4gICAgICBAaWYgdHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgKG1hcC1nZXQoJHV0aWxpdHksIHJlc3BvbnNpdmUpIG9yICRpbmZpeCA9PSBcIlwiKSB7XG4gICAgICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksICRpbmZpeCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFJGUyByZXNjYWxpbmdcbkBtZWRpYSAobWluLXdpZHRoOiAkcmZzLW1xLXZhbHVlKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAaWYgKG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSA8ICRyZnMtYnJlYWtwb2ludCkge1xuICAgICAgLy8gTG9vcCBvdmVyIGVhY2ggdXRpbGl0eSBwcm9wZXJ0eVxuICAgICAgQGVhY2ggJGtleSwgJHV0aWxpdHkgaW4gJHV0aWxpdGllcyB7XG4gICAgICAgIC8vIFRoZSB1dGlsaXR5IGNhbiBiZSBkaXNhYmxlZCB3aXRoIGBmYWxzZWAsIHRodXMgY2hlY2sgaWYgdGhlIHV0aWxpdHkgaXMgYSBtYXAgZmlyc3RcbiAgICAgICAgLy8gT25seSBwcm9jZWVkIGlmIHJlc3BvbnNpdmUgbWVkaWEgcXVlcmllcyBhcmUgZW5hYmxlZCBvciBpZiBpdCdzIHRoZSBiYXNlIG1lZGlhIHF1ZXJ5XG4gICAgICAgIEBpZiB0eXBlLW9mKCR1dGlsaXR5KSA9PSBcIm1hcFwiIGFuZCBtYXAtZ2V0KCR1dGlsaXR5LCByZnMpIGFuZCAobWFwLWdldCgkdXRpbGl0eSwgcmVzcG9uc2l2ZSkgb3IgJGluZml4ID09IFwiXCIpIHtcbiAgICAgICAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCAkaW5maXgsIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUHJpbnQgdXRpbGl0aWVzXG5AbWVkaWEgcHJpbnQge1xuICBAZWFjaCAka2V5LCAkdXRpbGl0eSBpbiAkdXRpbGl0aWVzIHtcbiAgICAvLyBUaGUgdXRpbGl0eSBjYW4gYmUgZGlzYWJsZWQgd2l0aCBgZmFsc2VgLCB0aHVzIGNoZWNrIGlmIHRoZSB1dGlsaXR5IGlzIGEgbWFwIGZpcnN0XG4gICAgLy8gVGhlbiBjaGVjayBpZiB0aGUgdXRpbGl0eSBuZWVkcyBwcmludCBzdHlsZXNcbiAgICBAaWYgdHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgbWFwLWdldCgkdXRpbGl0eSwgcHJpbnQpID09IHRydWUge1xuICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgXCItcHJpbnRcIik7XG4gICAgfVxuICB9XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIHNwYWNpbmdcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4gICAvKmxvb3Agb3ZlciBhbGwgYnJlYWtpbmcgcG9pbnRzKi9cbiAgIEBlYWNoICRxdWVyeV9uYW1lLCAkcXVlcnlfdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMgeyAgICBcbiAgICAgIFxuICAgIC8vaWYgYnJlYWtpbmcgcG9pbnQgbm90IGVtcHR5XG4gICAgICBAaWYgbWFwLWdldCgkc3BhY2VzLCAkcXVlcnlfbmFtZSkgIT0gbnVsbCB7ICAgICAgICAgICAgXG4gICAgICAgICBAaWYgJHF1ZXJ5X3ZhbHVlID09IDAge1xuICAgICAgICAgICAgQGRlYnVnICRxdWVyeV92YWx1ZTtcbiAgICAgICAgICAgIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gbWFwLWdldCgkc3BhY2VzLCAkcXVlcnlfbmFtZSkge1xuICAgICAgICAgICAgICAgQGlmICRuYW1lICE9IG51bGwge1xuICAgICAgICAgICAgICAgLm1iLS0jeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIC5tdC0tI3skbmFtZX0ge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgIC5wLS0jeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkdmFsdWU7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAucGwtLSN7JG5hbWV9IHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAucHItLSN7JG5hbWV9IHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgLnB0LS0jeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAucGItLSN7JG5hbWV9IHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgIEBkZWJ1ZyAkcXVlcnlfdmFsdWU7XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRxdWVyeV92YWx1ZSl7XG4gICAgICAgICAgICAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiBtYXAtZ2V0KCRzcGFjZXMsICRxdWVyeV9uYW1lKSB7XG4gICAgICAgICAgICAgICAgQGlmICRuYW1lICE9IG51bGwge1xuICAgICAgICAgICAgICAgICAgICAgLnB0LS0jeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAucGItLSN7JG5hbWV9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgIC5tdC0tI3skbmFtZX0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAubWItLSN7JG5hbWV9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR2YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICAgICAgIC5tYi0jeyRxdWVyeV9uYW1lfS0jeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgLnAtI3skcXVlcnlfbmFtZX0tLSN7JG5hbWV9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICR2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgLnBsLSN7JHF1ZXJ5X25hbWV9LS0jeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICR2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgLnB0LSN7JHF1ZXJ5X25hbWV9LS0jeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgIC5wYi0jeyRxdWVyeV9uYW1lfS0tI3skbmFtZX0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICR2YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgIH1cbiAgICB9IFxuIH0iLCJAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgIC5iZy0jeyRuYW1lfSB7XG4gICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZhbHVlO1xuICAgIH1cbiB9IiwiLmNpcmNsZSB7XG4gICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucmV2ZXJzZSB7XG4gICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG5cbi5sb2FkaW5nIHtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICB9XG5cbiAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1nL2xvYWRlci5zdmcnKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciA0MCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDMwJTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICB9XG59XG5cbi53LTEwMCB7XG4gICB3aWR0aDogMTAwJTtcbn1cblxuLmgtMTAwIHtcbiAgIGhlaWdodDogMTAwJTtcbn1cblxuLm1heC1oLTEwMHZoIHtcbiAgIG1heC1oZWlnaHQ6IDEwMHZoO1xufVxuXG4ub3ZlcmZsb3ctaGlkZGVuIHtcbiAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4ub3ZlcmZsb3ctc2Nyb2xsIHtcbiAgIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi5jYXJkIHtcbiAgIHRyYW5zaXRpb246IGFsbCAwcztcblxuICAgJi5oaWRlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbWQpKSB7XG4gICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDIpO1xuICAgICAgfVxuICAgfVxuICAgJi5hbmltYXRlSW4ge1xuICAgICAgLy8gYW5pbWF0aW9uOiBmYWRlSW4gMC4zcyBlYXNlLW91dDtcbiAgICAgIC8vIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgbWQpKSB7XG4gICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgfVxuICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAwJSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgyKTtcbiAgIH1cbiAgIDEwMCUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICB9XG59XG5cbi5mdWxsLWlmcmFtZSB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICBtaW4taGVpZ2h0OiA1MHZoO1xuICAgaWZyYW1lIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgfVxufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICovXG5cbiBodG1sIHtcbiAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gfVxuIFxuIC8qKlxuICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAgKi9cbiBcbiBib2R5IHtcbiAgIG1hcmdpbjogMDtcbiB9XG4gXG4gLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gXG4gLyoqXG4gICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAqIGFuZCBGaXJlZm94LlxuICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gICovXG4gXG4gYXJ0aWNsZSxcbiBhc2lkZSxcbiBkZXRhaWxzLFxuIGZpZ2NhcHRpb24sXG4gZmlndXJlLFxuIGZvb3RlcixcbiBoZWFkZXIsXG4gbWFpbixcbiBtZW51LFxuIG5hdixcbiBzZWN0aW9uLFxuIHN1bW1hcnkge1xuICAgZGlzcGxheTogYmxvY2s7XG4gfVxuIFxuIC8qKlxuICAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAqL1xuIFxuIGF1ZGlvLFxuIGNhbnZhcyxcbiBwcm9ncmVzcyxcbiB2aWRlbyB7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuIH1cbiBcbiAvKipcbiAgKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gICovXG4gXG4gYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgIGRpc3BsYXk6IG5vbmU7XG4gICBoZWlnaHQ6IDA7XG4gfVxuIFxuIC8qKlxuICAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAgKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gICovXG4gXG4gW2hpZGRlbl0sXG4gdGVtcGxhdGUge1xuICAgZGlzcGxheTogbm9uZTtcbiB9XG4gXG4gLyogTGlua3NcbiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuIFxuIC8qKlxuICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAqL1xuIFxuIGEge1xuICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gfVxuIFxuIC8qKlxuICAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gICovXG4gXG4gYTphY3RpdmUsXG4gYTpob3ZlciB7XG4gICBvdXRsaW5lOiAwO1xuIH1cbiBcbiAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gXG4gLyoqXG4gICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAqL1xuIFxuIGFiYnJbdGl0bGVdIHtcbiAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG4gfVxuIFxuIC8qKlxuICAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgKi9cbiBcbiBiLFxuIHN0cm9uZyB7XG4gICBmb250LXdlaWdodDogYm9sZDtcbiB9XG4gXG4gLyoqXG4gICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAqL1xuIFxuIGRmbiB7XG4gICBmb250LXN0eWxlOiBpdGFsaWM7XG4gfVxuIFxuIC8qKlxuICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICovXG4gXG4gaDEge1xuICAgZm9udC1zaXplOiAyZW07XG4gICBtYXJnaW46IDAuNjdlbSAwO1xuIH1cbiBcbiAvKipcbiAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICAqL1xuIFxuIG1hcmsge1xuICAgYmFja2dyb3VuZDogI2ZmMDtcbiAgIGNvbG9yOiAjMDAwO1xuIH1cbiBcbiAvKipcbiAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgKi9cbiBcbiBzbWFsbCB7XG4gICBmb250LXNpemU6IDgwJTtcbiB9XG4gXG4gLyoqXG4gICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICAqL1xuIFxuIHN1YixcbiBzdXAge1xuICAgZm9udC1zaXplOiA3NSU7XG4gICBsaW5lLWhlaWdodDogMDtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiB9XG4gXG4gc3VwIHtcbiAgIHRvcDogLTAuNWVtO1xuIH1cbiBcbiBzdWIge1xuICAgYm90dG9tOiAtMC4yNWVtO1xuIH1cbiBcbiAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiBcbiAvKipcbiAgKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAgKi9cbiBcbiBpbWcge1xuICAgYm9yZGVyOiAwO1xuIH1cbiBcbiAvKipcbiAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAgKi9cbiBcbiBzdmc6bm90KDpyb290KSB7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xuIH1cbiBcbiAvKiBHcm91cGluZyBjb250ZW50XG4gICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiBcbiAvKipcbiAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgKi9cbiBcbiBmaWd1cmUge1xuICAgbWFyZ2luOiAxZW0gNDBweDtcbiB9XG4gXG4gLyoqXG4gICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICAqL1xuIFxuIGhyIHtcbiAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgaGVpZ2h0OiAwO1xuIH1cbiBcbiAvKipcbiAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgKi9cbiBcbiBwcmUge1xuICAgb3ZlcmZsb3c6IGF1dG87XG4gfVxuIFxuIC8qKlxuICAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAgKi9cbiBcbiBjb2RlLFxuIGtiZCxcbiBwcmUsXG4gc2FtcCB7XG4gICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gICBmb250LXNpemU6IDFlbTtcbiB9XG4gXG4gLyogRm9ybXNcbiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuIFxuIC8qKlxuICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAqL1xuIFxuIC8qKlxuICAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAqL1xuIFxuIGJ1dHRvbixcbiBpbnB1dCxcbiBvcHRncm91cCxcbiBzZWxlY3QsXG4gdGV4dGFyZWEge1xuICAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgIG1hcmdpbjogMDsgLyogMyAqL1xuIH1cbiBcbiAvKipcbiAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAgKi9cbiBcbiBidXR0b24ge1xuICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gfVxuIFxuIC8qKlxuICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAqL1xuIFxuIGJ1dHRvbixcbiBzZWxlY3Qge1xuICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gfVxuIFxuIC8qKlxuICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICAqL1xuIFxuIGJ1dHRvbixcbiBodG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gfVxuIFxuIC8qKlxuICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gICovXG4gXG4gYnV0dG9uW2Rpc2FibGVkXSxcbiBodG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICBjdXJzb3I6IGRlZmF1bHQ7XG4gfVxuIFxuIC8qKlxuICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAgKi9cbiBcbiBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgYm9yZGVyOiAwO1xuICAgcGFkZGluZzogMDtcbiB9XG4gXG4gLyoqXG4gICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAqL1xuIFxuIGlucHV0IHtcbiAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gfVxuIFxuIC8qKlxuICAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAqXG4gICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAqL1xuIFxuIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgcGFkZGluZzogMDsgLyogMiAqL1xuIH1cbiBcbiAvKipcbiAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICAqL1xuIFxuIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICBoZWlnaHQ6IGF1dG87XG4gfVxuIFxuIC8qKlxuICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICovXG4gXG4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiB9XG4gXG4gLyoqXG4gICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAgKi9cbiBcbiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuIH1cbiBcbiAvKipcbiAgKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gICovXG4gXG4gZmllbGRzZXQge1xuICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgIG1hcmdpbjogMCAycHg7XG4gICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gfVxuIFxuIC8qKlxuICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gICovXG4gXG4gbGVnZW5kIHtcbiAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgcGFkZGluZzogMDsgLyogMiAqL1xuIH1cbiBcbiAvKipcbiAgKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICAqL1xuIFxuIHRleHRhcmVhIHtcbiAgIG92ZXJmbG93OiBhdXRvO1xuIH1cbiBcbiAvKipcbiAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gICovXG4gXG4gb3B0Z3JvdXAge1xuICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gfVxuIFxuIC8qIFRhYmxlc1xuICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gXG4gLyoqXG4gICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICAqL1xuIFxuIHRhYmxlIHtcbiAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICBib3JkZXItc3BhY2luZzogMDtcbiB9XG4gXG4gdGQsXG4gdGgge1xuICAgcGFkZGluZzogMDtcbiB9Iiwic3ZnLFxuaW1nIHtcbiAgIG1heC13aWR0aDogMTAwJTtcbiAgIGRpc3BsYXk6IGJsb2NrO1xuICAgaGVpZ2h0OiBhdXRvO1xufVxuXG5maWd1cmUge1xuICAgbWFyZ2luOiAwcHg7XG59XG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gbGF6eVxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi5sYXp5LWNvbnRhaW5lciB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQQ0V0TFNCQ2VTQlRZVzBnU0dWeVltVnlkQ0FvUUhOb1pYSmlLU3dnWm05eUlHVjJaWEo1YjI1bExpQk5iM0psSUVBZ2FIUjBjRG92TDJkdmJ5NW5iQzgzUVVwNllrd2dMUzArQ2p4emRtY2dkMmxrZEdnOUlqTTRJaUJvWldsbmFIUTlJak00SWlCMmFXVjNRbTk0UFNJd0lEQWdNemdnTXpnaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2MzUnliMnRsUFNJallXRmhJajRLSUNBZ0lEeG5JR1pwYkd3OUltNXZibVVpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJK0NpQWdJQ0FnSUNBZ1BHY2dkSEpoYm5ObWIzSnRQU0owY21GdWMyeGhkR1VvTVNBeEtTSWdjM1J5YjJ0bExYZHBaSFJvUFNJeUlqNEtJQ0FnSUNBZ0lDQWdJQ0FnUEdOcGNtTnNaU0J6ZEhKdmEyVXRiM0JoWTJsMGVUMGlMalVpSUdONFBTSXhPQ0lnWTNrOUlqRTRJaUJ5UFNJeE9DSXZQZ29nSUNBZ0lDQWdJQ0FnSUNBOGNHRjBhQ0JrUFNKTk16WWdNVGhqTUMwNUxqazBMVGd1TURZdE1UZ3RNVGd0TVRnaVBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BHRnVhVzFoZEdWVWNtRnVjMlp2Y20wS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmhkSFJ5YVdKMWRHVk9ZVzFsUFNKMGNtRnVjMlp2Y20waUNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkSGx3WlQwaWNtOTBZWFJsSWdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHWnliMjA5SWpBZ01UZ2dNVGdpQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHODlJak0yTUNBeE9DQXhPQ0lLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCa2RYSTlJakZ6SWdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxjR1ZoZEVOdmRXNTBQU0pwYm1SbFptbHVhWFJsSWk4K0NpQWdJQ0FnSUNBZ0lDQWdJRHd2Y0dGMGFENEtJQ0FnSUNBZ0lDQThMMmMrQ2lBZ0lDQThMMmMrQ2p3dmMzWm5QZz09Jyk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBmb3VydGgpO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSBtYXAtZ2V0KCR0aW1lcywgc2xvdyk7XG4gICB9XG5cbiAgICYubGF6eS1jb250YWluZXItLWxvYWRlZDphZnRlciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgfVxuXG4gICBpbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgIH1cblxuICAgJi5sYXp5LWNvbnRhaW5lci0tdHJhbnNwYXJlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICB9XG59XG5cbltkYXRhLWJnXSB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUENFdExTQkNlU0JUWVcwZ1NHVnlZbVZ5ZENBb1FITm9aWEppS1N3Z1ptOXlJR1YyWlhKNWIyNWxMaUJOYjNKbElFQWdhSFIwY0RvdkwyZHZieTVuYkM4M1FVcDZZa3dnTFMwK0NqeHpkbWNnZDJsa2RHZzlJak00SWlCb1pXbG5hSFE5SWpNNElpQjJhV1YzUW05NFBTSXdJREFnTXpnZ016Z2lJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdjM1J5YjJ0bFBTSWpZV0ZoSWo0S0lDQWdJRHhuSUdacGJHdzlJbTV2Ym1VaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSStDaUFnSUNBZ0lDQWdQR2NnZEhKaGJuTm1iM0p0UFNKMGNtRnVjMnhoZEdVb01TQXhLU0lnYzNSeWIydGxMWGRwWkhSb1BTSXlJajRLSUNBZ0lDQWdJQ0FnSUNBZ1BHTnBjbU5zWlNCemRISnZhMlV0YjNCaFkybDBlVDBpTGpVaUlHTjRQU0l4T0NJZ1kzazlJakU0SWlCeVBTSXhPQ0l2UGdvZ0lDQWdJQ0FnSUNBZ0lDQThjR0YwYUNCa1BTSk5NellnTVRoak1DMDVMamswTFRndU1EWXRNVGd0TVRndE1UZ2lQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQR0Z1YVcxaGRHVlVjbUZ1YzJadmNtMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JoZEhSeWFXSjFkR1ZPWVcxbFBTSjBjbUZ1YzJadmNtMGlDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEhsd1pUMGljbTkwWVhSbElnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1p5YjIwOUlqQWdNVGdnTVRnaUNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkRzg5SWpNMk1DQXhPQ0F4T0NJS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtkWEk5SWpGeklnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsY0dWaGRFTnZkVzUwUFNKcGJtUmxabWx1YVhSbElpOCtDaUFnSUNBZ0lDQWdJQ0FnSUR3dmNHRjBhRDRLSUNBZ0lDQWdJQ0E4TDJjK0NpQWdJQ0E4TDJjK0Nqd3ZjM1puUGc9PScpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgZm91cnRoKTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgbWFwLWdldCgkdGltZXMsIHNsb3cpLCB0b3AgMHMgbGluZWFyIG1hcC1nZXQoJHRpbWVzLCBzbG93KTtcbiAgIH1cblxuICAgJi5sYXp5LS1sb2FkZWQge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgdG9wOiAtMTAwMCU7XG4gICAgICB9XG4gICB9XG59XG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gYmFja2dyb3VuZHNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4uYmctY292ZXIge1xuICAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLnNvY2lhbCB7XG4gICBzdmcsXG4gICBpbWcge1xuICAgICAgd2lkdGg6IDM1cHg7XG4gICB9XG5cbiAgIC5iZWhhbmNlIHtcbiAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgbWFyZ2luLXRvcDogLTNweDtcbiAgIH1cblxuICAgJi5zb2NpYWwtd2hpdGUge1xuICAgICAgc3ZnLFxuICAgICAgaW1nIHtcbiAgICAgICAgIGZpbGw6IHdoaXRlO1xuICAgICAgfVxuICAgfVxufVxuIiwidGV4dGFyZWEsXG5pbnB1dFt0eXBlPSd0ZXh0J10sXG5pbnB1dFt0eXBlPSdudW1iZXInXSxcbmlucHV0W3R5cGU9J3RlbCddLFxuaW5wdXRbdHlwZT0nZW1haWwnXSxcbnNlbGVjdHtcbiAgIHdpZHRoOiAxMDAlO1xuICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeSwgMC4yNSk7XG4gICBoZWlnaHQ6IDUwcHg7XG4gICBsaW5lLWhlaWdodDogNTBweDtcbiAgIGJvcmRlcjogbm9uZTtcbiAgIHBhZGRpbmc6IDAgMTVweDtcbn1cblxudGV4dGFyZWEge1xuICAgaGVpZ2h0OiAzMDBweDtcbiAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuXG4uYWYtZm9ybXtcbiAgIG1heC13aWR0aDo5MDBweDtcbiAgIHdpZHRoOjkwJTtcbiAgIG1hcmdpbjphdXRvO1xufVxuXG4uYWNmLWZpZWxkc3tcbiAgIGRpc3BsYXk6IGdyaWQ7XG4gICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwJSA1MCU7XG4gICBsYWJlbHtcbiAgICAgIGZvbnQtc2l6ZToxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgIH1cbiAgIHNlbGVjdCxcbiAgIGlucHV0e1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTsgXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCNENkQ2RDY7XG4gICB9XG5cbiAgIC5hZi1maWVsZC10eXBlLW1lc3NhZ2V7XG4gICAgICBncmlkLWNvbHVtbi1zdGFydDogMTtcbiAgICAgIGdyaWQtY29sdW1uLWVuZDogMztcbiAgICAgIHB7XG4gICAgICAgICBmb250LXNpemU6MjRweDtcbiAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIH1cbiAgIH1cbiAgIC5hZi1maWVsZC10eXBlLXRydWUtZmFsc2UsXG4gICAuYWYtZmllbGQtdGl0ZWwtZGVzLWJlaXRyYWdzLFxuICAgLmFmLWZpZWxkLXR5cGUtc2VsZWN0LFxuICAgLmFmLWZpZWxkLXR5cGUtcmVwZWF0ZXJ7XG4gICAgICBncmlkLWNvbHVtbi1zdGFydDogMTtcbiAgICAgIGdyaWQtY29sdW1uLWVuZDogMztcbiAgIH1cbiAgIC5hY2YtYWN0aW9uc3tcbiAgICAgIGhlaWdodDo1MHB4O1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IFxuICAgICAgLmFjZi1idXR0b257XG4gICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlO1xuICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgIG1pbi13aWR0aDogMTEwcHg7XG4gICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgIFxuICAgICAgfVxuICAgfVxuLmFmLXN1Ym1pdHtcbiAgIC5hY2YtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWluLXdpZHRoOiAxMTBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgIH1cbn1cbn1cblxuXG5cbi5hY2YtZmllbGRzID4gLmFjZi1maWVsZHtcbiAgIGJvcmRlci10b3A6bm9uZSAhaW1wb3J0YW50O1xufSIsIiViYXNlLXRleHQge1xuICAgZm9udC1mYW1pbHk6ICdMYXRvJztcbiAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICB0ZXh0LXJlbmRlcmluZzogZ2VvbWV0cmljUHJlY2lzaW9uO1xuICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmFzZSk7XG59XG4iLCIvKmxvb3Agb3ZlciBhbGwgYnJlYWtpbmcgcG9pbnRzKi9cbkBlYWNoICRxdWVyeV9uYW1lLCAkcXVlcnlfdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgLy9pZiBicmVha2luZyBwb2ludCBub3QgZW1wdHkgKD0gZmFsc2UpXG4gICBAaWYgbWFwLWdldCgkYnV0dG9ucywgJHF1ZXJ5X25hbWUpICE9IG51bGwge1xuICAgICAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiBtYXAtZGVlcC1nZXQoJGJ1dHRvbnMsICRxdWVyeV9uYW1lKSB7XG4gICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgJHF1ZXJ5X25hbWUpKSB7XG4gICAgICAgICAgICAuYnRuLS0jeyRuYW1lfSB7XG4gICAgICAgICAgICAgICBAaWYgJHZhbHVlICE9IG51bGwge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZGVlcC1nZXQoJHZhbHVlLCBmb250LXNpemUpO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgQGlmICR2YWx1ZSAhPSBudWxsIGFuZCBtYXAtZGVlcC1nZXQoJHZhbHVlLCBsaW5lLWhlaWdodCkgIT0gbnVsbCB7XG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbWFwLWRlZXAtZ2V0KCR2YWx1ZSwgbGluZS1oZWlnaHQpO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgQGlmICR2YWx1ZSAhPSBudWxsIGFuZCBtYXAtZGVlcC1nZXQoJHZhbHVlLCBoZWlnaHQpICE9IG51bGwge1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZGVlcC1nZXQoJHZhbHVlLCBoZWlnaHQpO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgQGlmICR2YWx1ZSAhPVxuICAgICAgICAgICAgICAgICAgbnVsbCBhbmRcbiAgICAgICAgICAgICAgICAgIG1hcC1kZWVwLWdldCgkdmFsdWUsIGxldHRlci1zcGFjaW5nKSAhPVxuICAgICAgICAgICAgICAgICAgMHB4IGFuZFxuICAgICAgICAgICAgICAgICAgbWFwLWRlZXAtZ2V0KCR2YWx1ZSwgbGV0dGVyLXNwYWNpbmcpICE9XG4gICAgICAgICAgICAgICAgICBudWxsXG4gICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWRlZXAtZ2V0KCR2YWx1ZSwgbGV0dGVyLXNwYWNpbmcpO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgQGlmICR2YWx1ZSAhPSBudWxsIGFuZCBtYXAtZGVlcC1nZXQoJHZhbHVlLCBwYWRkaW5nKSAhPSBudWxsIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1kZWVwLWdldCgkdmFsdWUsIHBhZGRpbmcpO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuXG4uYnRuIHtcbiAgIGRpc3BsYXk6IGJsb2NrO1xuICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCB4bCkpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgIH1cbiAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRjb2xvcnMsIGJhc2UpO1xuICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmFzZSk7XG4gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICB0cmFuc2l0aW9uOiBhbGwgbWFwLWdldCgkdGltZXMsIGZhc3QpO1xuICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuXG4gICAmLmJ0bi0tcmVzZXQge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBiYXNlKTtcbiAgIH1cblxuICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGZvdXJ0aCk7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCB0aGlyZCk7XG4gICB9XG5cbiAgICYuYnRuLS10aGlyZCB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCB0aGlyZCk7XG4gICB9XG5cbiAgICYuYnRuLS13aGl0ZSB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICB9XG5cbiAgICYuYnRuLS1sb2FkaW5nIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9zcmMvaW1nL2xvYWRlci5zdmcpICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNzAlIDcwJTtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgfVxuXG4gICAmLmJ0bi0tYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgZm91cnRoKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgfVxufVxuIiwiLyogbGF0by0zMDAgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gICBmb250LWRpc3BsYXk6IHN3YXA7IC8qIENoZWNrIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9AZm9udC1mYWNlL2ZvbnQtZGlzcGxheSBmb3Igb3RoZXIgb3B0aW9ucy4gKi9cbiAgIGZvbnQtZmFtaWx5OiAnTGF0byc7XG4gICBmb250LXN0eWxlOiBub3JtYWw7XG4gICBmb250LXdlaWdodDogMzAwO1xuICAgc3JjOiB1cmwoJy4uLy4uL3NyYy9mb250cy9sYXRvLXYyNC1sYXRpbi0zMDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAvKiBDaHJvbWUgMzYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrLCBTYWZhcmkgMTIrLCBpT1MgMTArICovIHVybCgnLi4vLi4vc3JjL2ZvbnRzL2xhdG8tdjI0LWxhdGluLTMwMC50dGYnKVxuICAgICAgICAgZm9ybWF0KCd0cnVldHlwZScpOyAvKiBDaHJvbWUgNCssIEZpcmVmb3ggMy41KywgSUUgOSssIFNhZmFyaSAzLjErLCBpT1MgNC4yKywgQW5kcm9pZCBCcm93c2VyIDIuMisgKi9cbn1cbi8qIGxhdG8tcmVndWxhciAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgIGZvbnQtZGlzcGxheTogc3dhcDsgLyogQ2hlY2sgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0Bmb250LWZhY2UvZm9udC1kaXNwbGF5IGZvciBvdGhlciBvcHRpb25zLiAqL1xuICAgZm9udC1mYW1pbHk6ICdMYXRvJztcbiAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICBzcmM6IHVybCgnLi4vLi4vc3JjL2ZvbnRzL2xhdG8tdjI0LWxhdGluLXJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAvKiBDaHJvbWUgMzYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrLCBTYWZhcmkgMTIrLCBpT1MgMTArICovIHVybCgnLi4vLi4vc3JjL2ZvbnRzL2xhdG8tdjI0LWxhdGluLXJlZ3VsYXIudHRmJylcbiAgICAgICAgIGZvcm1hdCgndHJ1ZXR5cGUnKTsgLyogQ2hyb21lIDQrLCBGaXJlZm94IDMuNSssIElFIDkrLCBTYWZhcmkgMy4xKywgaU9TIDQuMissIEFuZHJvaWQgQnJvd3NlciAyLjIrICovXG59XG4vKiBsYXRvLTcwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgIGZvbnQtZGlzcGxheTogc3dhcDsgLyogQ2hlY2sgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0Bmb250LWZhY2UvZm9udC1kaXNwbGF5IGZvciBvdGhlciBvcHRpb25zLiAqL1xuICAgZm9udC1mYW1pbHk6ICdMYXRvJztcbiAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICBzcmM6IHVybCgnLi4vLi4vc3JjL2ZvbnRzL2xhdG8tdjI0LWxhdGluLTcwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgIC8qIENocm9tZSAzNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSssIFNhZmFyaSAxMissIGlPUyAxMCsgKi8gdXJsKCcuLi8uLi9zcmMvZm9udHMvbGF0by12MjQtbGF0aW4tNzAwLnR0ZicpXG4gICAgICAgICBmb3JtYXQoJ3RydWV0eXBlJyk7IC8qIENocm9tZSA0KywgRmlyZWZveCAzLjUrLCBJRSA5KywgU2FmYXJpIDMuMSssIGlPUyA0LjIrLCBBbmRyb2lkIEJyb3dzZXIgMi4yKyAqL1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBzaXppbmdcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5ib2R5IHtcbiAgIEBleHRlbmQgJWJhc2UtdGV4dDtcblxuICAgQGVhY2ggJHF1ZXJ5X25hbWUsICRxdWVyeV92YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgICBAaWYgbWFwLWRlZXAtZ2V0KCR0eXBvLCAkcXVlcnlfbmFtZSkgIT0gbnVsbCB7XG4gICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgJHF1ZXJ5X25hbWUpKSB7XG4gICAgICAgICAgICBAaWYgbWFwLWRlZXAtZ2V0KCR0eXBvLCAkcXVlcnlfbmFtZSwgYm9keSwgZm9udC1zaXplKSAhPSBudWxsIHtcbiAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCR0eXBvLCAkcXVlcnlfbmFtZSwgYm9keSwgZm9udC1zaXplKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIG1hcC1kZWVwLWdldCgkdHlwbywgJHF1ZXJ5X25hbWUsIGJvZHksIGxpbmUtaGVpZ2h0KSAhPSBudWxsIHtcbiAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBtYXAtZGVlcC1nZXQoJHR5cG8sICRxdWVyeV9uYW1lLCBib2R5LCBsaW5lLWhlaWdodCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiBtYXAtZGVlcC1nZXQoJHR5cG8sICRxdWVyeV9uYW1lLCBib2R5LCBsZXR0ZXItc3BhY2luZykgIT0gbnVsbCB7XG4gICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWRlZXAtZ2V0KCR0eXBvLCAkcXVlcnlfbmFtZSwgYm9keSwgbGV0dGVyLXNwYWNpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuXG5wLFxudWwge1xuICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgIG1hcmdpbi10b3A6IDA7XG4gICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuLmgxLFxuLmgyLFxuLmgzLFxuLmg0LFxuLmg1IHtcbiAgIG1hcmdpbi10b3A6IDA7XG4gICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLypsb29wIG92ZXIgYWxsIGJyZWFraW5nIHBvaW50cyovXG5AZWFjaCAkcXVlcnlfbmFtZSwgJHF1ZXJ5X3ZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgIC8vaWYgYnJlYWtpbmcgcG9pbnQgbm90IGVtcHR5XG4gICBAaWYgbWFwLWRlZXAtZ2V0KCR0eXBvLCAkcXVlcnlfbmFtZSkgIT0gbnVsbCB7XG4gICAgICAvL2xvb3Agb3ZlciBhbGwgZm9udCB0eXBlcyAoMSwgMiwgMywgcCwgc21hbGwpIGluIHRoZSBicmVha2luZyBwb2ludFxuICAgICAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiBtYXAtZGVlcC1nZXQoJHR5cG8sICRxdWVyeV9uYW1lKSB7XG4gICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgJHF1ZXJ5X25hbWUpKSB7XG4gICAgICAgICAgICAuaCN7JG5hbWV9IHtcbiAgICAgICAgICAgICAgIEBpZiAkdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkdmFsdWUsIGZvbnQtc2l6ZSk7XG4gICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgIEBpZiAkdmFsdWUgIT0gbnVsbCBhbmQgbWFwLWRlZXAtZ2V0KCR2YWx1ZSwgbGluZS1oZWlnaHQpICE9IG51bGwge1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG1hcC1kZWVwLWdldCgkdmFsdWUsIGxpbmUtaGVpZ2h0KTtcbiAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgQGlmICR2YWx1ZSAhPVxuICAgICAgICAgICAgICAgICAgbnVsbCBhbmRcbiAgICAgICAgICAgICAgICAgIG1hcC1kZWVwLWdldCgkdmFsdWUsIGxldHRlci1zcGFjaW5nKSAhPVxuICAgICAgICAgICAgICAgICAgMHB4IGFuZFxuICAgICAgICAgICAgICAgICAgbWFwLWRlZXAtZ2V0KCR2YWx1ZSwgbGV0dGVyLXNwYWNpbmcpICE9XG4gICAgICAgICAgICAgICAgICBudWxsXG4gICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWRlZXAtZ2V0KCR2YWx1ZSwgbGV0dGVyLXNwYWNpbmcpO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIFRleHQgc3R5bGVzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuYSB7XG4gICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5oYXMtdGV4dC1hbGlnbi1jZW50ZXIsXG4udGV4dC1jZW50ZXIge1xuICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXJpZ2h0IHtcbiAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWxlZnQge1xuICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC11cHBlcmNhc2Uge1xuICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnRleHQtdW5kZXJsaW5lIHtcbiAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIGxpc3RzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLmxpc3Qge1xuICAgLmxpc3QtLWlubGluZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBsaSB7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIHNtKSkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgfVxuICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgfVxuICAgfVxufVxuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIGRlY29yYXRpb25zXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLnNlcGFyYXRvciB7XG4gICBwYWRkaW5nLXRvcDogMTVweDtcbiAgIGJvcmRlci10b3A6IDRweCBzb2xpZCBibGFjaztcbn1cblxuLnNlcGFyYXRvci0tYm90dG9tIHtcbiAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGJsYWNrO1xufVxuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIGNvbG9yc1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbkBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAudGV4dC0jeyRuYW1lfSB7XG4gICAgICBjb2xvcjogJHZhbHVlO1xuXG4gICAgICBhIHtcbiAgICAgICAgIGNvbG9yOiAkdmFsdWU7XG4gICAgICB9XG4gICB9XG59XG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gbGlua3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5hIHtcbiAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJhc2UpO1xuXG4gICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIHByaW1hcnkpO1xuICAgfVxufVxuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIFdZU0lXWUdcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4ud3lzaXd5ZyB7XG4gICAvKmxvb3Agb3ZlciBhbGwgYnJlYWtpbmcgcG9pbnRzKi9cbiAgIEBlYWNoICRxdWVyeV9uYW1lLCAkcXVlcnlfdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgLy9pZiBicmVha2luZyBwb2ludCBub3QgZW1wdHlcbiAgICAgIEBpZiBtYXAtZGVlcC1nZXQoJHR5cG8sICRxdWVyeV9uYW1lKSAhPSBudWxsIHtcbiAgICAgICAgIC8vbG9vcCBvdmVyIGFsbCBmb250IHR5cGVzICgxLCAyLCAzLCBwLCBzbWFsbCkgaW4gdGhlIGJyZWFraW5nIHBvaW50XG4gICAgICAgICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluIG1hcC1kZWVwLWdldCgkdHlwbywgJHF1ZXJ5X25hbWUpIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAkcXVlcnlfbmFtZSkpIHtcbiAgICAgICAgICAgICAgIGgjeyRuYW1lfSB7XG4gICAgICAgICAgICAgICAgICBAaWYgJHZhbHVlICE9IG51bGwge1xuICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZGVlcC1nZXQoJHZhbHVlLCBmb250LXNpemUpO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBAaWYgJHZhbHVlICE9IG51bGwgYW5kIG1hcC1kZWVwLWdldCgkdmFsdWUsIGxpbmUtaGVpZ2h0KSAhPSBudWxsIHtcbiAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBtYXAtZGVlcC1nZXQoJHZhbHVlLCBsaW5lLWhlaWdodCk7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIEBpZiAkdmFsdWUgIT1cbiAgICAgICAgICAgICAgICAgICAgIG51bGwgYW5kXG4gICAgICAgICAgICAgICAgICAgICBtYXAtZGVlcC1nZXQoJHZhbHVlLCBsZXR0ZXItc3BhY2luZykgIT1cbiAgICAgICAgICAgICAgICAgICAgIDBweCBhbmRcbiAgICAgICAgICAgICAgICAgICAgIG1hcC1kZWVwLWdldCgkdmFsdWUsIGxldHRlci1zcGFjaW5nKSAhPVxuICAgICAgICAgICAgICAgICAgICAgbnVsbFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1kZWVwLWdldCgkdmFsdWUsIGxldHRlci1zcGFjaW5nKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cbiIsIi5mb290ZXItaW5uZXIge1xuICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgYm9yZGVyLXRvcDogc29saWQgMXB4IHJnYmEoNjQsIDYyLCA2MCwgMC4yNSk7XG5cbiAgIGgzIHtcbiAgICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCByZ2JhKDY0LCA2MiwgNjAsIDAuMjUpO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgIH1cblxuICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpIHtcbiAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgfVxuICAgfVxufSIsIi5hZG1pbi1iYXIge1xuICAgI2hlYWRlciB7XG4gICAgICB0b3A6IDMycHg7XG4gICB9XG59XG5cbiNoZWFkZXIge1xuICAgcG9zaXRpb246IGZpeGVkO1xuICAgd2lkdGg6IDEwMCU7XG4gICBtYXJnaW46IGF1dG87XG4gICB6LWluZGV4OiAyO1xuICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICBsZWZ0OiAwO1xuICAgcmlnaHQ6IDA7XG4gICB0b3A6IDBweDtcbiAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2Utb3V0O1xuICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgLmxvZ28ge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7XG4gICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICB9XG5cbiAgICNoZWFkZXItaW5uZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLW91dDtcbiAgICAgIHBhZGRpbmc6IDMwcHggJHNwYWNlO1xuXG4gICAgICB1bCB7XG4gICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTRweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZykpIHtcbiAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xuICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBmb3VydGgpO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICAubWFpbi1tZW51IHtcbiAgICAgIHVsIHtcbiAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgIC5jdXJyZW50LW1lbnUtaXRlbSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIHRoaXJkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cblxuLnNjcm9sbCB7XG4gICAjaGVhZGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG4gICAgICBib3gtc2hhZG93OiAwcHggLTlweCAxOHB4IGJsYWNrO1xuXG4gICAgICAjaGVhZGVyLWlubmVyIHtcbiAgICAgICAgIHBhZGRpbmc6IDJweCAkc3BhY2U7XG5cbiAgICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG4iLCIuaGFtYnVyZ2VyIHtcbiAgIHBhZGRpbmc6IDhweCAwO1xuICAgY3Vyc29yOiBwb2ludGVyO1xuICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgZm9udDogaW5oZXJpdDtcbiAgIGNvbG9yOiBpbmhlcml0O1xuICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgIGJvcmRlcjogMDtcbiAgIG1hcmdpbjogMDtcbiAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICByaWdodDogMDtcbiAgIHotaW5kZXg6IDUwMDtcbn1cblxuLmhhbWJ1cmdlcjpob3ZlciB7XG4gICBvcGFjaXR5OiAwLjc7XG59XG5cbi5oYW1idXJnZXIuYWN0aXZlOmhvdmVyIHtcbiAgIG9wYWNpdHk6IDAuNztcbn1cblxuLmhhbWJ1cmdlci5hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcixcbi5oYW1idXJnZXIuYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcbi5oYW1idXJnZXIuYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICB0cmFuc2l0aW9uOiBhbGwgMC43cztcbn1cblxuLmhhbWJ1cmdlci1ib3gge1xuICAgd2lkdGg6IDM1cHg7XG4gICBoZWlnaHQ6IDI0cHg7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oYW1idXJnZXItaW5uZXIge1xuICAgZGlzcGxheTogYmxvY2s7XG4gICB0b3A6IDUwJTtcbiAgIG1hcmdpbi10b3A6IC0ycHg7XG59XG5cbi5oYW1idXJnZXItaW5uZXIsXG4uaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsXG4uaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICB3aWR0aDogMzVweDtcbiAgIGhlaWdodDogMnB4O1xuICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG59XG5cbi5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcbi5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgIGNvbnRlbnQ6ICcnO1xuICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICB0b3A6IC0xMHB4O1xufVxuXG4uaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICBib3R0b206IC0xMHB4O1xufVxuXG4uaGFtYnVyZ2VyLS1zcXVlZXplIC5oYW1idXJnZXItaW5uZXIge1xuICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wNzVzO1xuICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xufVxuXG4uaGFtYnVyZ2VyLS1zcXVlZXplIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMTJzIGVhc2UsIG9wYWNpdHkgMC4wNzVzIGVhc2U7XG59XG5cbi5oYW1idXJnZXItLXNxdWVlemUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjEycyBlYXNlLCB0cmFuc2Zvcm0gMC4wNzVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xufVxuXG4uaGFtYnVyZ2VyLS1zcXVlZXplLmFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTJzO1xuICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG4uaGFtYnVyZ2VyLS1zcXVlZXplLmFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgdG9wOiAwO1xuICAgb3BhY2l0eTogMDtcbiAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgZWFzZSwgb3BhY2l0eSAwLjA3NXMgMC4xMnMgZWFzZTtcbn1cblxuLmhhbWJ1cmdlci0tc3F1ZWV6ZS5hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgYm90dG9tOiAwO1xuICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgZWFzZSwgdHJhbnNmb3JtIDAuMDc1cyAwLjEycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICBuYXYge1xuICAgICAgLmRlc2t0b3AtbmF2IHtcbiAgICAgIH1cbiAgICAgIC5tZW51LWhhdXB0bWVudS1jb250YWluZXIge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuICAgLm9wZW4tbmF2IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgfVxufVxuIiwiI3NpZGViYXIge1xuICAgbWFyZ2luOiAwO1xuICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgd2lkdGg6IDEwMHZ3O1xuICAgaGVpZ2h0OiAxMDB2aDtcbiAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkNmQ2ZDY7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJhc2UpO1xuICAgY29sb3I6IHdoaXRlO1xuICAgZGlzcGxheTogZmxleDtcbiAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICBwb3NpdGlvbjogZml4ZWQ7XG4gICB0b3A6IDA7XG4gICByaWdodDogLTEwMHZ3O1xuICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gICB1bCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwIDAgMzBweCAwO1xuICAgfVxuXG4gICBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBhIHtcbiAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgfVxufVxuXG4uc2lkZWJhci0tb3BlbmVkIHtcbiAgICNzaWRlYmFyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgfVxufVxuIiwiaHRtbCB7XG4gICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuI3dyYXBwZXIge1xuICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICAgbWluLWhlaWdodDogMTAwdmg7XG59XG5cbiNjb250ZW50IHtcbiAgIHBhZGRpbmctdG9wOiAxNTBweDtcblxuICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKSkge1xuICAgICAgcGFkZGluZy10b3A6IDIwMHB4O1xuICAgfVxufVxuXG4uY3VzdG9tLWJsb2NrIHtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNvbnRhaW5lci1mbHVpZCB7XG4gICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgbWF4LXdpZHRoOiAxOTkwcHg7XG59XG4iLCIubWFzb25yeSB7XG4gICBjb2x1bW5zOiAxICRzcGFjZS8yO1xuICAgcGFkZGluZzogJHNwYWNlICRzcGFjZSAkc3BhY2UgJHNwYWNlO1xuICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKSkge1xuICAgICAgY29sdW1uczogMiAkc3BhY2UvMjtcbiAgICAgIHBhZGRpbmc6ICRzcGFjZS8xLjUgJHNwYWNlICRzcGFjZSAkc3BhY2U7XG4gICB9XG5cbiAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBsZykpIHtcbiAgICAgIGNvbHVtbnM6IDMgJHNwYWNlLzI7XG4gICAgICBwYWRkaW5nOiAkc3BhY2UvMS41ICRzcGFjZSAkc3BhY2UgJHNwYWNlO1xuICAgfVxuICAgY29sdW1uLWdhcDogJHNwYWNlO1xuXG4gICBtaW4taGVpZ2h0OiAxMDB2aDtcblxuICAgLmNhcmQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBib3gtc2hhZG93OiByZ2JhKDMsIDgsIDIwLCAwLjEpIDBweCAwLjE1cmVtIDAuNXJlbSwgcmdiYSgyLCA4LCAyMCwgMC4xKSAwcHggMC4wNzVyZW0gMC4xNzVyZW07XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2U7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSByaWdodCwgZ3JlZW4sIGxpZ2h0Z3JlZW4pO1xuICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYubG9hZGluZyB7XG4gICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHdoaXRlLCAwLjUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9zcmMvaW1nL2xvYWRlci5zdmcnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDUwcHg7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmlkZW8ge1xuICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICB9XG4gICB9XG4gICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDM2IHtcbiAgICAgIC5jYXJkLS1wb3J0cmFpdDpudGgtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICRoOiByYW5kb20tcmFuZ2UoMTEwLCAxMzApO1xuICAgICAgICAgcGFkZGluZy1ib3R0b206ICN7JGh9ICsgJyUnO1xuICAgICAgfVxuICAgICAgLmNhcmQtLWxhbmRzY2FwZTpudGgtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICRoOiByYW5kb20tcmFuZ2UoNTAsIDc1KTtcbiAgICAgICAgIHBhZGRpbmctYm90dG9tOiAjeyRofSArICclJztcbiAgICAgIH1cbiAgIH1cbn1cbiIsIi5jYXJkIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgYm94LXNoYWRvdzogcmdiYSgzLCA4LCAyMCwgMC4xKSAwcHggMC4xNXJlbSAwLjVyZW0sIHJnYmEoMiwgOCwgMjAsIDAuMSkgMHB4IDAuMDc1cmVtIDAuMTc1cmVtO1xuICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tb2RhbC12aWRlbyB7XG4gICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCkpIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgIH1cbn1cblxuLm1vZGFsLWNvbnRlbnQge1xuICAgcGFkZGluZzogMzBweDtcblxuICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIG1kKSkge1xuICAgICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgcGFkZGluZzogMTAwcHggMzBweDtcbiAgIH1cbn1cbiIsIi5tb2RhbCB7XG4gICBwb3NpdGlvbjogZml4ZWQ7XG4gICB3aWR0aDogMTAwJTtcbiAgIGhlaWdodDogMTAwJTtcbiAgIHRvcDogMDtcbiAgIGxlZnQ6IDA7XG4gICByaWdodDogMDtcbiAgIGJvdHRvbTogMDtcbiAgIG9wYWNpdHk6IDA7XG4gICB6LWluZGV4OiAtMTAwO1xuICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgdHJhbnNpdGlvbjogb3BhY2l0eSBtYXAtZ2V0KCR0aW1lcywgbWVkaXVtKTtcbiAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICYubW9kYWwtLXRhYmxlIHtcbiAgICAgIC5tb2RhbF9faW5uZXIge1xuICAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICB9XG4gICB9XG5cbiAgICYubW9kYWwtLWxvYWRpbmcge1xuICAgICAgLm1vZGFsX19pbm5lciB7XG4gICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICAmLm1vZGFsLS1vcGVuZWQge1xuICAgICAgei1pbmRleDogMTAwO1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgLm1vZGFsX19pbm5lciB7XG4gICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgdHJhbnNpdGlvbjogYWxsIG1hcC1nZXQoJHRpbWVzLCBtZWRpdW0pIGVhc2UtaW4tb3V0IDAuNXM7XG4gICAgICB9XG4gICB9XG5cbiAgIC5tb2RhbF9faW5uZXIge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMHB4KTtcbiAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG5cbiAgICAgIC8vIGZvciBsb2FkaW5nXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgbWFwLWdldCgkdGltZXMsIGZhc3QpO1xuICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICB0b3A6IDA7XG4gICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9zcmMvaW1nL2xvYWRlci5zdmcnKTtcbiAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0MHB4O1xuICAgICAgfVxuXG4gICAgICAubW9kYWxfX2NvbnRlbnQge1xuICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICB9XG4gICAubW9kYWxfX2Nsb3NlLWJ0biB7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogNDBweDtcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAzMHB4O1xuICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vc3JjL2ltZy9idG4tY2xvc2Uuc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICB9XG59XG4iXX0= */
